Releases: svix/svix-webhooks
v1.57.0
Version 1.57.0
This version contains a big overhaul of the client libraries, with improved typing.
-
Libs/Go: Add
Authentication.ExpireAll
(andExpireAllWithOptions
) -
Libs/Go (Breaking): Excluding specific fields on the *Patch models (
ApplicationPatch
for example), allNullable{Type}
removed from the models -
Libs/Go (Breaking): All
Nullable{Type}
(for exampleNullableString
) are replaced with a new genericNullable[T]
type, the new type can be imported fromgithub.com/svix/svix-webhooks/go/utils
-
Libs/Go (Breaking): All custom model types are now imported from
github.com/svix/svix-webhooks/go/models
instead ofgithub.com/svix/svix-webhooks/go
-
Libs/Go (Breaking): All
-WithOptions
methods are now removed. Their regular counterparts now take a pointer to an Options type which can be nil when not needed. For example inEndpoint.RecoverWithOptions
is nowEndpoint.Recover
-
Libs/C# and Libs/Go (Breaking): All uses of
ListOptions
/PostOptions
are removed, and renamed to{Resource}{Operation}Options
. For example inEndpoint.List
you would now useEndpointListOptions
-
Libs/C# (Breaking): All
IdempotencyKey
method parameters are removed, and are now part of{Resource}{Operation}Options
. For example inMessage.Create
; to the useIdempotencyKey
, simply pass it in theMessageCreateOptions
-
Libs/C# (Breaking): The
Throw
parameter is removed fromSvixOptions
-
Libs/C# (Breaking): All redundant interfaces along with the
Svix.Abstractions
namespace are removed -
Libs/C# (Breaking): The
Svix.Model
andSvix.Models
namespaces are now merged into a singleSvix.Models
namespace -
Libs/C# (Breaking): The
Svix.Client
namespace is removed, TheSvixClient
class can now be found in theSvix
namespace -
Libs/Python (Breaking):
PostOptions
andListOptions
are no longer used in methods forAuthentication
,Endpoint
,EventType
,Integration
,MessageAttempt
,Message
,Statistics
andOperationalWebhookEndpoint
resources. Instead each API call now has its own{Resource}{Operation}Options
. (Both sync and async) -
Libs/Python: In
Application
thedashboard_access
method is deprecated in favor ofapp_portal_access
. (Both sync and async) -
Libs/Python (Breaking):
EndpointStatsOptions
is renamed toEndpointGetStatsOptions
-
Libs/Python (Breaking):
MessageAttemptListOptions
is removed in favor of call specific{Resource}{Operation}Options
-
Libs/Python (Breaking): For
Statistics
in theaggregate_event_types
method thetask_id
parameter is removed, Please note that previously this parameter was ignored and had no affect (Both sync and async) -
Libs/Kotlin (Breaking): Mark
api
field of all API resource classes asprivate
(previously
only some were private, accidentally) -
Libs/Kotlin (Breaking): Update
recover
to returnRecoverOut
(instead of nothing) -
Libs/Kotlin (Breaking): Update
replayMissing
to returnReplayOut
(instead of nothing) -
Libs/Kotlin (Breaking): Update
sendExample
to returnMessageOut
(instead of nothing) -
Libs/Kotlin (Breaking): Update
MessageAttempt
list methods to each have its own type for
list options, since they don't all support the exact same set of parameters and some of the
parameters that could be set before would just get ignored -
Libs/Kotlin: Fix a bug in
EventType.list
whereoptions.order
was not getting honored -
Libs/Rust (Breaking): Add optional
EventTypeDeleteOptions
parameter toEventType::delete
-
Libs/Rust (Breaking): Add optional
options
parameters toEndpoint::recover
,
Endpoint::rotate_secret
,Integration::rotate_key
andMessageAttempt::resend
-
Libs/Rust (Breaking): Remove model files that were not referenced by any operations available
through theSvix
object -
Libs/Rust (Breaking): Switch
Patch
struct fields fromOption<Option<T>>
to
js_option::JsOption<T>
-
Libs/Rust (Breaking): Change
rate_limit
fromi32
tou16
in several places -
Libs/Rust (Breaking): Remove
settings
parameter fromEnvironmentIn::new
-
Libs/Rust (Breaking): Replace
PostOptions
with operation-specific options structs -
Libs/Rust (Breaking): Remove
Period
fromBackgroundTaskType
variant names; this was introduced by accident a few releases ago -
Server: Fix Docker image tagging
v1.56.0
Skipping versions: we had an issue with our CI that created duplicated Go library releases and forced us to bump the version across the libs and the server. Apologies for any inconvenience caused.
What's Changed
- rust: Clean up internal request module by @svix-jplatte in #1610
- CLI: update generated code by @svix-onelson in #1606
- Libs(Go): add retractions for accidentally published test versions by @svix-onelson in #1612
Full Changelog: v1.45.1...v1.56.0
v1.45.1
What's Changed
- CLI: Rename the binary back from
svix-cli
tosvix
- Libs/Java: Stop sharing one
ApiClient
between allSvix
instances. Fixes a bug where multiple
independently instantiatedSvix
instances would always use the same base path and auth token.
Version 1.45.0
Highlights
- CLI (New): New Rust-based CLI with support for all recent Svix functionality.
- Libs/Rust (Breaking): Add
api::MessageAttemptListAttemptedMessagesOptions
and use it for
MessageAttempt::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 on
MessageAttempt.list
,MessageAttempt.listByMsg
,MessageAttempt.listAttemptedMessages
and
MessageAttempt.listAttemptedDestinations
(#1571) - Libs/JavaScript (Breaking): Rename
EndpointStatsOptions
interface to
EndpointGetStatsOptions
(#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) - Server: Fix Dockerfile exposed port to be 8071 (#1596)
Full changelog
- js: Split into smaller files by @svix-jplatte in #1563
- Server: Increase default max pool sizes by @jaymell in #1567
- rust: Some
MessageAttempt
API cleanup by @svix-jplatte in #1568 - Add FromStr impls for MessageStatus, StatusCodeClass by @svix-jplatte in #1569
- js: Add generated query parameter types by @svix-jplatte in #1571
- server: Use forked validator crate by @svix-jplatte in #1570
- [Libs/JS] Revert ESM build by @svix-lucho in #1572
- js: Enforce uniform formatting by @svix-jplatte in #1574
- go: Add generated query parameter structs by @svix-jplatte in #1573
- kotlin: Format with ktfmt --kotlinlang-style by @svix-jplatte in #1575
- Update wording on messageInRaw documentation by @svix-jplatte in #1576
- kotlin: Merge *ListOptions into resource modules by @svix-jplatte in #1580
- Bump OpenAPI spec and update libs by @svix-jplatte in #1579
- js: Add recent query parameter type change to changelog by @svix-jplatte in #1581
- Bump OpenAPI spec and regenerate libs by @svix-lucho in #1582
- js: Replace api/ files by generated files with minor manual changes by @svix-jplatte in #1578
- Bump OpenAPI spec and regen libs by @svix-lucho in #1583
- rust: Regenerate high-level API by @svix-jplatte in #1584
- js: Regenerate high-level API by @svix-jplatte in #1585
- go: Rename files to match word boundaries elsewhere by @svix-jplatte in #1586
- kotlin: Replace most query param classes with generated ones by @svix-jplatte in #1587
- CLI: rewrite in rust by @svix-onelson in #1577
- Libs(Rust, CLI): switch from
native-tls
torustls
by @svix-onelson in #1590 - CLI: skip setting file mode for Windows by @svix-onelson in #1591
- CLI: show websocket connection failure details by @svix-onelson in #1592
- CLI: add
authors
to manifest by @svix-onelson in #1595 - publish wheels by @dimbleby in #1553
- Docker: fix exposed port to be 8071. by @tasn in #1596
- CLI: change binary name to
svix-cli
by @svix-onelson in #1597 - Libs(Rust): track sources produced by codegen in git by @svix-onelson in #1598
- CLI: build with
dist
by @svix-onelson in #1593 - CLI: add readme with install instructions by @svix-onelson in #1599
- CLI: remove
--no-logging
flag by @svix-onelson in #1600
New Contributors
Full Changelog: v1.44.0...v1.45.0
Version 1.44.0
Highlights
- Libs/JavaScript: Revert packaging-related change because it broke for some users (#1556)
- Libs/Rust: Remove unused optional
PostOptions
parameters from non-POST methods (#1557)
What's Changed
- [Libs/JS]: Add type:module to package.json by @svix-lucho in #1555
- [Libs/JS] Revert ESM package update by @svix-lucho in #1556
- rust: Remove unused optional
PostOptions
parameters from non-POST methods by @svix-jplatte in #1557 - rust: Move API resources into separate files by @svix-jplatte in #1558
- Add FromStr impl for Ordering by @svix-jplatte in #1559
- Add query parameter docs and reorder some things by @svix-jplatte in #1560
- rust: Add method docs! by @svix-jplatte in #1561
- bridge: Update deno by @jaymell in #1562
- Update OpenAPI spec and regenerate libs by @svix-jplatte in #1564
- server: Bump dependencies and select idna backend by @svix-jplatte in #1566
- Version 1.44.0 by @svix-jplatte in #1565
Full Changelog: v1.43.0...v1.44.0
Version 1.43.0
What's changed
- 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)
Version 1.42.0
What's Changed
- 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)
Version 1.41.0
What's Changed
- 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
Version 1.40.0
What's Changed
- Libs(JS): downgrade
@stablelib/base64
avoidingERR_REQUIRE_ESM
by @svix-onelson in #1506 - bridge: update ca-certificates by @jaymell in #1507
- Bridge(kafka): guard kafka-related symbols with cfg attrs by @svix-onelson in #1508
- Bridge: remove long-living span around metrics collection by @svix-onelson in #1509
- Bridge: downgrade deno by @svix-onelson in #1510
- Update OpenAPI spec and regenerate libs by @svix-lucho in #1512
- Some hyper 1.0 / axum 0.7 preparations by @svix-jplatte in #1513
- Remove toplevel span by @jaymell in #1514
- Server: exit early if endpoints don't exist by @jaymell in #1515
- Prepare release v.1.40.0 by @jaymell in #1516
Full Changelog: v1.39.0...v1.40.0
Version 1.39.0
Highlights
- 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: Redis Sentinel support
- Server: OTEL metrics for Redis queues
- Server: Redis DLQ support
- Server: Several dependency upgrades and CI improvements
What's Changed
- Add redis sentinel support by @jaymell in #1472
- More redis refactors by @jaymell in #1477
- bridge: Upgrade deno crates by @svix-jplatte in #1469
- Add redis OTEL metrics by @jaymell in #1479
- Server: add x-api-key to list of sensitive headers. by @tasn in #1481
- bridge: Upgrade dependencies by @svix-jplatte in #1482
- Redis dlq support by @jaymell in #1478
- Update the base images to bookworm, support kafka plugin by @ashayshub in #1485
- Upgrade sea-orm, sqlx by @svix-jplatte in #1487
- soft-require typhoeus by @jjb in #1486
- fix copy by @jjb in #1490
- Upgrade CI to run on Ubuntu 24.04 by @svix-jplatte in #1488
- Clean up formatting of CreateMessageApp::filtered_endpoints by @svix-jplatte in #1489
- ci: Run lint jobs when the workflow definition changes by @svix-jplatte in #1491
- Upgrade Node version in Javascript release action by @svix-lucho in #1492
- Implement Clone for Svix client by @svix-jplatte in #1493
- Libs(all): bump openapi generator from 5.2.0 to 7.9.0 by @svix-onelson in #1480
- Libs(Go): add convenience constructor for static nullable strings by @svix-onelson in #1497
- ci: Remove super-linter by @svix-jplatte in #1501
- Update OpenAPI spec by @svix-jplatte in #1500
- Add operational webhook endpoint API to the client libs by @svix-jplatte in #1502
- Upgrade redis to get rid of yanked version by @svix-lucho in #1504
- Bump version to 1.39.0 and update changelog by @svix-lucho in #1503
New Contributors
- @ashayshub made their first contribution in #1485
- @jjb made their first contribution in #1486
Full Changelog: v1.38.0...v1.39.0