- Libs/Rust (Breaking): Add
api::MessageAttemptListAttemptedMessagesOptions
and use it forMessageAttempt::list_attempted_messages
, replacingMessageAttemptListOptions
which contained some extra parameters never used with this method / endpoint (#1568) - Libs/JavaScript (Breaking): Add more precise type annotations for
options
parameters onMessageAttempt.list
,MessageAttempt.listByMsg
,MessageAttempt.listAttemptedMessages
andMessageAttempt.listAttemptedDestinations
(#1571) - Libs/JavaScript (Breaking): Rename
EndpointStatsOptions
interface toEndpointGetStatsOptions
(#1585) - Libs/Kotlin (Breaking): Remove
ListOptions
class. Usage of classes that were inheriting from it should not change though (#1587) - Libs/Rust: Add
api::Authentication::expire_all
(#1584) - Libs/Rust: Rename some
Options
types. The old names remain as deprecated type aliases (#1584)
- Libs/JavaScript: Revert packaging-related change because it broke for some users (#1556)
- Libs/Rust (Breaking): Remove unused optional
PostOptions
parameters from non-POST methods (#1557)
- Libs/Go: Add convenient construction of messages with pre-serialized payload (#1538)
- Libs/Go: Reduce the use of
NullableX
types to where they actually have a use (#1543) - Libs/JavaScript: Add convenient construction of messages with pre-serialized payload (#1539)
- Libs/Java: Add convenient construction of messages with pre-serialized payload (#1544)
- Libs/C#: Bump .NET target to 8.0 (#1546)
- Libs/C#: Add convenient construction of messages with pre-serialized payload (#1545)
- Libs/Python: Add convenient construction of messages with pre-serialized payload (#1540)
- Libs/Ruby: Add convenient construction of messages with pre-serialized payload (#1541)
- Libs/JavaScript: Compile svix package for ESM and CommonJS, reducing bundle sizes (#1549)
- Server: Return 413 on large payloads (#1530)
- Libs/Python: Fix sync / async mismatch for op-webhook-endpoint API (#1535)
- Libs/Rust: Fix types of
iterator
fields (#1534) - Libs/Kotlin: Add convenient construction of messages with pre-serialized payload (#1531)
- Libs/Rust: Add convenient construction of messages with pre-serialized payload (#1533)
- Libs/JS: Allow
iterator
and date parameters on list endpoints to benull
(in addition toundefined
) - Libs/JS: Fix serialization of message
status
query parameters - Libs/Rust: Revert many pointless type changes from
Option<T>
toOption<Option<T>>
that came with 1.39.0 - Server: Improve error messages for configuration loading
- Libs(JS): downgrade
@stablelib/base64
avoidingERR_REQUIRE_ESM
by @svix-onelson in #1506 - Bridge: update ca-certificates by @jaymell in #1507
- Server: exit early if endpoints don't exist by @jaymell in #1515
- Libs: Add operational webhook endpoint API
- Libs/Rust: [Breaking] Models for PATCH endpoints now have
Option<Option<T>>
fields to allow explicitly sending nulls to unset those fields. - Libs/Go: [Breaking] Nullable arrays are once again represented by
[]T
instead of*[]T
. Serialization handles the empty case correctly. - Libs: Upgrade
openapi-generator
to 7.9.0, with dependency upgrades and internal changes in the SDKs. - Server: Add Redis sentinel support
- Server: Add OTEL metrics for Redis queues
- Server: Add Redis DLQ support
- Server: Several dependency upgrades and CI improvements
- Server: Increase max endpoint rotations
- Server: Return 409 on duplicate message insert
- Server: Add
expunge
parameter to event-type deletion endpoint - Server: Add
message.attempt.recovered
operational webhook
- Libs(Go):
EndpointUpdate
andEndpointPatch
allow null for channels, filter types
- Libs(Go): edit
EndpointIn
to allow null for channels, filter types
- Libs/Python: Revert breaking change to MessageInPayload/MessageOutPayload
- Libs/Rust: Add missing export of
V1MessageEventsParams
- Server: Add support for deprecating event types
- Server: Add support for HTTP(S) proxies
- Libs/Go Remove modules no longer produced by the generator
- Server: Fix parsing proxy config from process environment
- Bridge: remove Beta tag
- Libs/Go: prune out unused import for "time" in codegen output
- Libs/C#: Fix appId, endpointId order in RotateSecretWithHttpInfoAsync
- Libs: Support passing
application
toapp-portal-access
endpoint
- Server: Support filtering by before and after at the same time
- Bridge: Rebuild RabbitMQ producer on error
- Server: Add support for SOCKS5 proxies
- Libs/C#: add GetAppPortalAccess* methods to IAuthentication interface
- Libs/Go: expose
with_content
forMessage.List
- Libs/Go: expose
with_msg
param onMessageAttempt.ListByEndpoint
- Libs/Go: expose
order
inIntegtation.List
andEventType.List
- Libs/Go: return response body for recover/replay
- Libs/Go: expose
tag
forMessageAttempt
list endpoints - Libs/Javascript: Publish src to npm to make it available for source maps
- Libs/Python: ensure datetimes have a timezone
- Libs: Update OpenAPI spec
- Libs/Python: add missing 'get_stats' function
- Server: add configuration to for changing service name on OpenTelemetry
- Bridge: add
/events
poller - Bridge: log svix client errors as error, not trace
- Server: Enable redis
tcp_nodelay
- Server: Improve database error classification
- Server: Update dependencies
- Bridge: Upgrade omniqueue and other dependencies
- Bridge: Add Kafka as an input
- Libs/Javascript: Apply workaround for incomplete fetch support in Cloudflare Worker
- Libs/Go: Add NullableBool function
- Libs/Python: Update dependencies and switch to ruff
- Libs/Rust: Add
Svix::with_token
to allow changing API token - Libs/PHP: Replace ctype_digit for PHP 8.1 deprecation of non-string arguments
- Server: Update redis health check
- Server: Clean up tracing spans for HTTP requests
- Libs: Update OpenAPI
- Libs/Javascript: Fix method naming consistency
- Add oauth support to javascript
- Server: Don't require trailing slash at the end of request paths
- Server: Improve testing performance and reduce redundant test runs
- Server: Improve performance of
/api/v1/openapi.json
route - Server: Upgrade dependencies and improve code formatting
- Server: Upgrade to Docker Compose v2
- Libs/Ruby: Add PATCH endpoints
- Server: Improve error information on failed assertions in Redis module
- Server: Use omniqueue for Redis queue implementation
- Server: Upgrade OpenTelemetry dependencies
- Bridge: Upgrade dependencies
- Libs/Rust: Print more detailed error messages for generic errors
- Server and Bridge: Performance improvements in test setup
- Libs/C#: don't serialize nulls in PATCH endpoints
- Libs/Rust: Make API method Future implement Send/Sync
- Libs/Python: Make request timeout and retries configurable
- Libs/Rust: Make request timeout configurable
- Server: upgrade dependencies
- Server: adopt omniqueue as a queue backend
- Libs/C#: [Breaking] Return iterator information in list endpoints. Changes the return type of list endpoints.
- Libs/Java: don't serialize nulls in PATCH endpoint methods
- Libs/Rust: upgrade and clean up dependencies
- Libs/Rust: switch from reqwest to hyper 1.0
- Server: Upgrade hyper to 0.14.28
- Libs/Rust: [Important] Fix a bug in the webhook signature verification method where certain signatures could bypass the verification.
- Libs/Java: [Breaking] Use Java time instead of threetenbp. This removes the need to import threetenbp to use the library. Depending on how the lib is used, it might require migrating uses of threetenbp to Java 8 Date-Time APIs.
- Server: Add
tag
parameter to list-message for Go, JavaScript, and Python. - Server: improvements to the expired message cleaner.
- Libs: update OpenAPI spec and libs.
- Libs/Javascript: Fix thrown error message when API status code is unknown.
- Libs: update OpenAPI spec and libs.
- Server: separate out the message content to its own model.
- Libs: expose two new Statistics endpoints.
- Libs/Csharp: implement "hard delete" event types.
- Libs/Ruby: accept additional options on message get.
- Libs/Go: fix transformation partial update function.
- Libs/Kotlin: fix errors with APIs that return no content (like endpoint delete).
- Server: Fix tracking of backtrace in some error cases.
- Libs/Go: expose
EventType.DeleteWithOptions
- Libs: update OpenAPI spec
- Server: update Docker image to Debian bookworm.
- Server: update dependencies.
- Libs: add functions to import event types from OpenAPI specs
- Libs: update OpenAPI spec
- Server: fix docker image.
- Server: release arm64 version!
- Server: add missing field documentation for query params.
- Server: warn people trying to use the JWT secret as an auth token.
- Server: allow disabling TLS verification.
- Server: use jemalloc as the global allocator.
- Server: add Sentry support.
- Server: update dependencies.
- Server: update Docker base image and rust version.
- Libs/Go: export missing types
- Bridge: switch to the Omniqueue library
- Bridge: use jemalloc as the global allocator.
- Bridge: update Docker base image and rust version.
- Server: correctly disconnect the tracing provider when shutting down in some rare scenarios.
- Libs: update OpenAPI spec
- Libs/Go: fix behavior of
NullableInt32
andNullableString
- Server: Add
with_content
to attempt listing endpoints - Bridge: better js transformations
- Server: update Docker image to use latest Rust version
- Server: support additional JWT signing algorithms (including asymmetric!).
- Server: Avoid panics when using the wait-for option (better errors printing).
- Libs/Rust: fix handling of integer enums (was causing failures for some endpoints).
- Server: add 'event_types' query param to 'list-attempted-messages'
- Libs: implement the
patch
endpoints for partial updates
- Libs/JavaScript: Fix regression in previous release and allow passing
Buffer
to sign/verify.
- Server: Implement the send-example route.
- Libs/JavaScript: Add an explicit check that payload is a string.
- Libs: Fix a bug with integration key creation.
- Server: update OpenSSL dep and fix an incredibly slow memory leak.
- Libs/Go: support passing
WithContent
toList Attepmted Messages
- Libs/Python: fix regression in Python library (causing some functions not to work).
- Sync OSS package version with our internal version.
- Server: support comma separated array query params
- Bridge: initial release
- Libs: update OpenAPI spec
- Libs: add support for "Background Task" endpoints
- Libs: add support for since/until to endpoint stats
- Libs/Go: add missing
endpoint_id
option to list attempts by msg. - Libs/JavaScript: add missing
withContent
field toMessageListOptions
. - Libs/Rust: fix typo in error handling message
- Libs: update OpenAPI spec
- Server: add a missing migration for operational webhooks event types.
- Libs/Ruby: fix the library failing to load due to missing dependency.
- Libs: [Semi-breaking] we changed the return value of the transformation simulation endpoint. It's technically a breaking page, though the API is private so it shouldn't affect people.
- Libs: regenerate libs from the correct openapi spec (could have caused potential authentication issues)
- Server: add (beta) RabbitMQ implementation
- Server: upgrade redis-rs and a few other dependencies
- Server: improve OpenAPI generation
- Server: fix issue with Redis being required in the docker image
- Libs/Rust: support choosing the wanted TLS implementation
- Libs: update OpenAPI spec
- Server: bump deps
- Libs: Add
send-example
wrapper to libraries - Libs/Go: alias missing types from internal dir / openapi package
- Libs/Java: serialize nulls when making HTTP requests
- Server: refactor expired message cleaner to be incremental (prevent locks)
- Server: improve OpenAPI generation
- Server: Fix handling of very large numbers in json (larger than i64)
- Server: do not throw error on missing payload in worker
- Server: update dependencies
- Libs: add support for creating application when creating a message
- Libs/Go: bump Go version
- Libs: add
prev_iterator
andorder
support to application list - Libs: add
prev_iterator
support to event type list - Libs/C#: [Breaking] change default value for
SvixOptions.Throw
totrue
- Server: support prev_iterator for application and event type listing
- Server: fix returning of 409 (CONFLICT) when inserting/patching an application with a conflicting
uid
- Libs/Ruby: require (reexport) app portal models in ruby (fixing errors)
- Libs/C#: fix MessageAttempt querying when not filtering by status and code
- Server: add
order
query parameter for sorting endpoints - Server: fix default sort order of endpoints to
desc
to match prod - Libs: add support for
prev_iterator
for application and endpoints - Libs/JS: fix sign function to support non-round dates
- Libs/Go: [Breaking] accept a context parameter in all Go lib methods
- Server: fix event_type array query parsing
- Server: fix bad
?channel=
queries - Server: fire operational webhook on endpoint secret rotation
- Server: implement bidirectional pagination for endpoints
- Libs/Rust: glob-reexport all generated models in Rust
- Server: fix
/attempt/endpoint
's broken?channel=
query - Libs/Rust: add missing exports to a few API endpoints
- Libs: fix naming of replay-missing methods in libraries (all but Rust)
- Server: add org_id and app_id to main tracing span
- Server: make
wait_for
timeout early and retry - Server: add since/until query params to endpoint stats
- Server: add endpoints to expunge payload and response
- Server: clarify error message and documentation around filtered IP addresses
- Server: fix error message with endpoint filter types validation
- Server: fix
?after=<time>
ID Parsing in paginated endpoints - Libs: add endpoints to expunge payload and response
- Libs: add replay missing messages functions
- Libs: add transformations APIs
- Server: add built in SSRF support (no need for an external proxy)
- Server: many worker improvements (see #704 for details)
- Server: fix Span HTTP Routes
- Server: update deps
- Server: add Length limit validation to EndpointHeader value
- Server: add missing root CAs to default docker image
- Server: add updated app-portal-access API endpoint (to replace the deprecated dashboard-access)
- Server: add feature flag gating to event types
- Libs/Rust: Enable TLS support in
reqwest
by default - Libs: support the new feature flag gating of event types
- Libs/Rust: make all
*Options
and fields public (missing from previous release)
- Libs/Rust: make
ListOptions
andPostOptions
fields public - Libs/Rust: fix Webhook verification to accept &str
- Server: fix issue with potentially incorrect signatures for very small payloads.
- Server: fix Docker image to use
exec
so that svix-server will accept container process signals.
- Server: add metadata field to Endpoint endpoints
- Server: add missing msg id index causing some queries to be slow
- Server: make sensitive header detection in the
headers
API case insensitive - Server: omit prevIterator from responses when
null
- Server: fix string collation for some fields in the db (improves performance)
- Server: expose attempted URL on MessageAttemptOut
- Server: fix graceful server shutdown even when connection to queue is lost
- Server: fix listing and getting event-types permission regression (give app tokens access)
- Server: various code cleanups
- Server: update axum to 0.6
- JavaScript: make signature comparison constant time (thanks @arjunyel)
- Server: Add metadata to application CRUD
- Server: Update Rust, sea_orm, and other deps
- Libs: Update OpenAPI spec
- Server: create subcommand for wiping an organization's data
- Server: internal code improvements
- Libs/Java: fix issue with automatic region detection not working
- Server: ensure QueueTasks are deleted after acknowledgement
- Server: better handling of failures in streaming responses
- Server: update event-type schemas validation to be stricter
- Libs/Kotlin: support configuring retry schedule
- Libs: fix metadata field in Go and Python
- Server: update the event-type CRUD endpoints to be more strict about the schema type.
- Server: fix typo in error messages for unimplemented errors.
- Libs/Java: fix issue with creating multiple Svix instances in parallel.
- Server: add file/line information to errors for easier debugging.
- Server: update dependencies.
- Libs: add application/endpoint metadata fields.
- Libs/C#: Add netstandard2.0 support.
- Add gitleaks config to ignore test auth tokens.
- Server: include idempotency key in log spans.
- Server: correct trace ID handling in tracing spans.
- Server: add unique IDs when tracing worker tasks.
- Server: allow enabling extra tracing for db operations.
- Server: ensure tracing spans are recorded for all log levels.
- Server: reduce idempotency key lock time from 20s to 5s.
- Libs: expose endpoint stats function.
- Server: fix validation errors to be more informative.
- Server: more strict message payload validation to match the libs.
- Server: fix issue with messages being signed with expired keys in some situations (not a security concern, just superfluous data being sent).
- Server: attach a unique ID to a request (used in logs) when none is provided in headers.
- Libs/Python: fix typo in Python lib causing auto-detection of EU servers to fail.
- Libs/C#: make logger optional when creating SvixClient.
- Server: support "upsert" of entities on PUT methods.
- Server: support PATCH methods on entities for partial updates.
- Server: allow overriding redis_dsn for separate queue and cache DSNs.
- Libs: support "upsert" of entities on PUT methods.
- Libs/Ruby: fix region auto-detection.
- Server: change the dashboard authentication payload to note that the server is self hosted.
- Libs/JavaScript: fix issue when signing/verifying payloads with high Unicode codepoints (e.g. some new emoji)
- Libs/Go: export missing
svix.NullableString
utility.
- Server: disable endpoints on repeated failures.
- Server: add retry functionality to the Redis queue (to be more resistant minor networking hiccups).
- Server: improve the delayed queue processing to be resilient to errors and better support concurrent processing.
- Server: gracefully shutdown the server on SIGTERM.
- Libs/Kotlin: fix compilation issues.
- Libs: automatically detect region (and URL) from auth token.
- Lib/JavaScript: fix setting string webhook secrets.
- Server: add support for encrypting webhook secrets in the database.
- Server: include the error message in the attempt's response for non HTTP errors.
- Server: change the CORS headers to be more strictly compliant.
- Server: wait-for db before attempting to run migrations.
- Server: add retry functionality to Redis cache.
- Libs: update libraries to accept a raw webhook secret.
- Libs: fix Kotlin and Java build
- Server: add support for asymmetric signatures.
- Server: ensure msg content exists before attempting resend.
- Server: Improve HTTP error response logging.
- Server: fix docker builds due to changes to Redis SSL.
- Libs: fix nullable fields to be marked as such (fixes parsing errors in some clients).
- Server: add OpenTelemetry support
- Server: send operational ("incoming") webhooks about events happening on the server.
- Server: enable TLS support for Redis
- Server: use correct timestamp for attempt's id and created.
- Server: add jitter to message retry times.
- Server: fix endpoint spelling in some error messages and comments.
- Server: add built in support for waiting for dependencies (database, redis) to be ready (instead of using a script).
- Server: normalize health status output to be in lowercase.
- Server: implement application portal endpoint and limited access tokens for it.
- Server: add endpoint stats endpoint for getting endpoint statistics.
- Server: add support for JSON log format for use in cloud environments.
- Server: add configuration options for the max pool size for DB and Redis connection pools.
- Server: add CORS headers and support pre-flight requests for use from the browser.
- Server: add a configuration option to only allow https endpoint URLs.
- Server: support passing an org_id when generating JWTs (
svix-server jwt generate
). - Lib/Python: update httpx dependency to the latest version.
- Lib/Rust: fix mixup with validation errors marked as HTTP errors and vice-versa.
- Libs/Csharp: expose missing getters which prevented a lot of the lib's functionality to be used.
- Server: make the
health
endpoint more useful by adding more status checks to it. - Server: parse
retry_schedule
as an array rather than string.- People should use the next syntax:
[1, 2]
, though the old syntax is still supported for backwards compatibility.
- People should use the next syntax:
- Server: add validation to ensure endpoint URL scheme is either http or https.
- Libs/Python: show a more useful error for obviously malformed secrets.
- Libs/JavaScript: show a more useful error for obviously malformed secrets.
- Libs and server: update OpenAPI spec
- Server: Fix logging configuration in production builds to actually be respected.
- Server: improve how we run Redis migrations.
- Lib/Rust: add a Rust API client + webhook verification library!
- Lib/Python: fix package installation on Windows.
- Lib/Csharp: make some parameters optional for better ergonomics.
- Server: remove
updated_at
field from static entities. - Server: change to a more efficient first message dispatch.
- Server: change the redis queue to use redis streams.
- Server: serve nice API docs under
/docs
. - Server: start version tagging the Docker images. (
latest
,x
, andx.y
). - Server: allow PATCH to delete header values by passing null.
- Server: make it possible to change the hard pagination limits to be soft.
- Server: make the redis queue implementation automatically recover from redis crashes.
- Server: add a
--run-migrations
flag to automatically run migrations (flag still passed in Docker). - Server: fix worker to not follow HTTP redirects when calling webhooks.
- Server: add support for get-or-create when creating applications.
- C#: fix library compilation (broke in the previous release.
- Libs: fix all libraries to handle 429 (rate limiting).
- Server: update docker image to use Rust 1.60
- Server: preserve header name capitalization for custom endpoint headers.
- Server: gracefully handle non-textual webhook responses (so endpoints returning non strings).
- Server: delete message content after the specified retention period.
- Server: add support for idempotency.
- Server: add prev_iterator support to endpoints that should support it.
- Server: make parameter validation stricter in various places.
- Server: improve error messages for bad configurations.
- Server: support for Redis clusters.
- Server: add a memory cache backend.
- Server: fix health endpoint to return an empty response to match its status code (204).
- Server: fix issue that can cause messages to be sent more than once when clients timeout.
- Server: fix support for endpoint id in the list attempted messages and list attempted destinations APIs.
- C#: add C# API client library.
- Libs/Python: fix user agent to actually work.
- Libs/Python: increase read timeout.
- Server: extend prev_iterator implementation to allow for before and after.
- Server: update Axum dep to latest version.
- Server: add more tests to the suite.
- Server: fix marking of some HTTP errors as failed.
- Server: change base docker image to debian-slim
- Server: update deps.
- Server: added missing list attempts endpoints and missing query parameters to some endpoints.
- Server: switch to KsuidMs for extra precision.
- Server: add missing validation for
IdOrUid
so that they return 422.
- Server: fix release CI round 2
- Server: fix release CI
- Libs: add retry and request-id headers for easier debugging.
- Server: add more release targets (macOS and aarch64).
- Server: make 422 errors compatible with the Svix service.
- Ruby: Fix CI to not include Vendor data in package.
- Java & Kotlin: Build against java 11
- Ruby: Fix a broken import (we changed the name of a webhook event) ๐
- Python: Breaking The python library is now fully typed! There may be some breaking changes related to this upgrade (including dropping support for Python 2.X). Please check test and check your integration before upgrading to this version. ๐ค
- Python: New Async API via SvixAsync! ๐
- Libs: Remove the
prevIterator
option from message attempt options (This was added by mistake, never worked and was never meant to work. All iterators should be passed via theiterator
option. Sorry for the confusion!) - Libs: Allow filtering by messages by channel
- Libs/JS: Fix for setting Idempotency-Key when one isn't set ๐
- Libs/All: Add
msg_id
to attempt list responses (MessageAttemptOut
) - Libs/All: New GetOrCreate application function ๐
- Server: Remove deprecated axum API usage
- Server: Implement PATCH for endpoint headers API ๐
- Server: Add support for an endpoint cache for improved performance when sending ๐
- Libs: Support for passing an idempotency key to post commands
- Libs: Add support for filtering by channel
- Kotlin & Go: Support filtering by event type
- JS: fix for API calls using a default idempotency key when one isn't set ๐
- Server: Set custom endpoint headers when sending via worker
- Libs: Add support for filtering by StatusCodeClass in attempts API
- Libs: Add support for reverse iteration (prev_iterator) & after param in list commands โฌ ๏ธ
- Server: Add support for adding & managing custom Endpoint Headers ๐
- Libs: Support for new
/attempt/
API via list_for_msg and list_for_endpoint. ๐ - Deprecation warning:
message_attempt.list
is deprecated in favor of this new API. โ
- CI: Autorelease server artifacts on github releases ๐
- Initial OSS release of Svix Server! ๐
- Java & Kotlin: Minor binding fixes to bring them up to date with other libs ๐
- Go: Breaking, Changed module name to
github.com/svix/svix-webhooks
๐ฅ (We're sorry for any inconvenience this may cause you.) - Python: Add support for passing a custom
idempotency-key
for POST actions ๐ - All: Add support for filtering by
channel
for message list APIs ๐
- Python: Add new get_or_create function for application API ๐
- All: Add support for the new Integration API ๐
- JS: Bump vulnerable dependency ๐ฎ
- Ruby: Cleanup gem level imports ๐
- Java & Kotlin: Minor internal fix to restore version number parity with other libs
- Python: Allow explicit
None
to be passed for optional fields โ
- JS: Use fetch fork from npm to avoid cache/name clashes ๐
- JS: Rename dependency to avoid name-clashes ๐
- All: Update Schema
- All: Support new Channels API ๐บ
- Javascript: Enable keepalives for improved performance ๐
- Kotlin: Ensure response bodies are properly closed ๐
- All: Add new
ServerUrl
option for overriding the APIs base URL (Useful for testing) ๐
- All: Support for
payload_retention_period
in message API. ๐
- Ruby: Upgrade to bundler 2 ๐
- Ruby: Fix endpoint.update parameters ๐ (thanks sevensidedmarble!)
- Go: Add ability to verify webhook payloads while ignoring timestamp enforcement โ๐
- Go: Regenerate OpenAPI Spec
- All: Add support for retrieving a single event type ๐
- Javascript: Add readme for npm ๐
- Ruby: Fix base64 import on case-sensitive file systems ๐ (thanks mikelarkin!)
- All: Add support for custom endpoint header API ๐
- All: Add endpoint recover function โค๏ธโ๐ฉน
- All: Add updatedAt fields to Application, Endpoint & EventType ๐
- All: Better client-side handling of rotateSecret errors ๐
- Ruby: Fix endpoint list function input ๐
- All: Add include_archived option to event_type API โ
- All: Support secret rotation for endpoints ๐
- Kolin: Fix getSecret return type ๐
- PHP: Fix 5.6 compatibility issue ๐
- Ruby: Initial API bindings! ๐
- Kotlin: Add client-side retries ๐
- Python: Add additional message-attempt APIs. ๐
- Kotlin: Initial async kotlin library ๐
- All: Improved naming for Integer Enums ๐
- JS: Update dependencies ๐
- Java: Cleanup list option code using generics ๐ค
- All: Add before option to message APIs
- Java: Cleanup list options
- All: Add ability to set signing secret
- All: add event type filtering to message attempt API
- All: support for endpoint uids
- All: Adds support for unbranded webhooks ๐
- PHP: Improve tests and validation for sign function ๐
- Java: Set descriptive message on APIExceptions ๐
- All: Adds Sending to MessageStatus ๐ค
- All: Add support for Schemas in EventType API ๐
- All: Some of the list options structs have been renamed (this is a minor breaking change in some languages) ๐ฅ
- All: Filter messages by EventType โณ
- All: Add custom user-agents ๐งโ๐ป
- All: Retry 5XXs & network errors ๐
- All: Add nextAttempt to MessageEndpointOut ๐
- All: Update Schema ๐
- Javascript: Update Dependencies ๐
- Ruby: Update Dependencies ๐
- All: Add nextAttempt to EndpointMessageOut ๐
- Java: Bump dependencies ๐
- All: Add support for rate limiting ๐
- All: Bump openapi-generator to 5.2.0, fixes bug in python lib which can throw if additionalProperties are found ๐
- Python: Cleanup explicit exports in python ๐ค
- All: Add Disabled flag to endpoint models โ
- All: Add Sign functions for generating webhook signatures ๐
- Python: Enable typing ๐ค
- Csharp: Initial webhook verification library ๐
- Go: Set default http client timeout and allow overriding of client. โฒ๏ธ
- All: Bump openapi spec, fixes bug in resend function, which could throw an error in some languages on return. ๐
- JavaScript, Python and Go: fix regression with server URLs not being set correctly.
- All: Update OpenAPI spec
- Javascript: Fix bug with message attempt resend (would throw on return)
- Python: Fix optional bug where optional return types would throw
- Python: Fix issue with pip package not generating the
openapi_client
properly on deploy
- Python: Clean up exports, add API exceptions as
svix.exceptions
- All: Enforce timestamp tolerance when verifying
- All: Support new webhook signature prefixes when verifying
- Go: Expose new error class for checking API errors
- PHP: Fix issue with psr-4 autoloading
- Python: Properly export WebhookVerificationError
- Python: Fix bug in event_type create function
- Migrate to new GitHub org
svix
! ๐
- Update the OpenAPI spec and change structures accordingly
- go: Add DebugURL option for overriding API URL
- Ruby: initial release
- PHP: initial release
- Update the Message model to call the payload
payload
instead ofdata
. - Add List event_types to go library
- Fix bug in endpoint create function
- Release Go lib
- Add function to update event_types.
- Update OpenAPI spec to the latest version
- Rename to Svix
- Sync library versions
- Make the library open-source
- Future releases will have proper changelogs and a synchronised version scheme.
- Just waiting on the rename of the library