Releases: svix/svix-webhooks
Releases · svix/svix-webhooks
Version 0.61.0
Highlights
- 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.
What's Changed
- Server: clarify the error message to show migrations have ran. by @tasn in #516
- Server: use correct timestamp for attempt's id and created by @tasn in #517
- Send operational webhooks from worker and endpoint API by @svix-daniel in #508
- Server: enable redis persistence in example docker-compose. by @tasn in #518
- fix: Endpoint spelling in some error messages and comments by @daniel-deutsch-benchling in #519
- Implement basic wait-for functionality by @svix-daniel in #484
- Server: add Cargo.lock to Git by @tasn in #520
- Server: Add Cache support for getting/setting Strings and raw bytes by @jaymell in #521
- Server CI: ensure lockfile is frozen and separate build stage. by @tasn in #523
- Server CI: change --frozen to --locked due to git dep by @tasn in #526
- Server: split signature and header generation. by @tasn in #524
- Fix clippy lints for beta Rust version by @svix-daniel in #530
- Implement basic OpenTelemetry support by @svix-daniel in #522
- Add tracing spans to worker by @svix-daniel in #529
- Add missing period in README by @svix-daniel in #532
- Support TLS for Redis by @svix-dylan in #531
- Implement jitter on message dispatch retries by @svix-daniel in #533
- Server: support accepting msg payload also as "data". by @tasn in #536
- Server: use the
rand
crate rather thangetrandom
by @tasn in #537 - Bump version and update changelog. by @tasn in #535
New Contributors
- @daniel-deutsch-benchling made their first contribution in #519
Full Changelog: v0.60.0...v0.61.0
Version 0.60.0
Highlights
- 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.
What's Changed
- Rename HealthStatusVariants to lowercase via serde by @svix-daniel in #491
- Implement Dashboard Access Endpoint by @svix-daniel in #488
- Add endpoint stats endpoint by @svix-daniel in #493
- Cleanup OpenAPI generation and also run Python by @tasn in #494
- Implement support for a log_format cfg var by @svix-daniel in #496
- Make corrections to JSON log format by @svix-daniel in #499
- Work around panic caused with JSON logs by @svix-daniel in #500
- Add cfg for max pool connections to DBs by @svix-daniel in #497
- Python: update httpx and openapi-python-client. by @tasn in #502
- Add changing region in dashboard access endpoint by @svix-daniel in #503
- Server: fix caching dependencies for docker builds by @tasn in #504
- Fix clippy warning caused by clap derive macro by @svix-daniel in #505
- Update clap version to latest in Cargo.toml by @svix-daniel in #506
- README: clarify the instructions for generating JWT tokens. by @tasn in #507
- Server: add support for CORS and pre-flight requests. by @tasn in #509
- Server: add a configuration to only allow HTTPS by @tasn in #511
- Server: make the application portal URL configurable. by @tasn in #512
- Server: support passing an org_id to the JWT generate command. by @tasn in #513
- Swap validation and HTTP error variants in error conversion code by @svix-daniel in #514
- Bump version and update changelog. by @tasn in #515
Full Changelog: v0.59.1...v0.60.0
Version 0.59.1
Highlights
- Libs/Csharp: expose missing getters which prevented a lot of the lib's functionality to be used.
What's Changed
- C#: expose the missing getters for making it useful by @tasn in #486
- Bump version and update changelog. by @tasn in #487
Full Changelog: v0.59.0...v0.59.1
Version 0.59.0
Highlights
- 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 new syntax:
[1, 2]
, though the old syntax is still supported for backwards compatibility.
- People should use the new 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.
What's Changed
- JavaScript/Python: handle obviously malformed secrets by @tasn in #475
- README: mention docker versioned tags. by @tasn in #476
- Validate URL scheme is http or https for EndpointIn by @svix-daniel in #479
- Config: parse retry_schedule as an array not string by @tasn in #482
- Add basic status checks to health endpoint by @svix-daniel in #477
- Bump version and update changelog. by @tasn in #483
Full Changelog: v0.58.2...v0.59.0
Version 0.58.2
Highlights
- Libs and server: update OpenAPI spec
What's Changed
- Update OpenAPI spec for libs and server. by @tasn in #473
- Bump version and update changelog. by @tasn in #474
Full Changelog: v0.58.1...v0.58.2
Version 0.58.1
Highlights
- Server: Fix logging configuration in production builds to actually be respected.
- Server: improve how we run Redis migrations.
What's Changed
- CI: Improve the security checks for rust server and lib by @tasn in #467
- CI: Fix Rust library release code by @tasn in #468
- README: add crates.io badge. by @tasn in #469
- Fix logging configuration in production builds. by @tasn in #470
- Run migrations in a loop with exponential delay by @svix-daniel in #471
- Bump version and update changelog. by @tasn in #472
Full Changelog: v0.58.0...v0.58.1
Version 0.58.0
Highlight
- 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.
What's Changed
- Remove updated_at from static entities by @svix-dylan in #430
- Server CI: treat warnings as errors and fix them. by @tasn in #431
- Python: fix issue with installing package on windows. by @tasn in #432
- Tests: Remove queue overrides / limit concurrency by @jaymell in #433
- Server: add automatic security auditing for PR/main. by @tasn in #285
- Server: add security auditing badge to readme. by @tasn in #434
- Change to a more efficient first message dispatch by @svix-dylan in #425
- Rewrite Redis-based queue to use Streams functionality by @svix-daniel in #415
- Serve docs from the server by @svix-dylan in #435
- Write migration for the legacy processing queue to stream-based queue by @svix-daniel in #438
- Add Docker release to GitHub Actions by @svix-daniel in #439
- Test queue with many consumers by @svix-daniel in #441
- Queue: pass the configuration as reference. by @tasn in #443
- Build/release ARM64 Docker images on release by @svix-daniel in #444
- Allow PATCH deletion of header values via null by @svix-dylan in #440
- Add soft and hard caps to pagination limits by @svix-daniel in #445
- Keep Redis queue worker alive after Redis interruption by @svix-dylan in #446
- Rust: Update redis-cluster dependency by @jaymell in #449
- --run-migrations option flag by @svix-dylan in #451
- Let's try out the codeball automatic code reviewer. by @tasn in #452
- Additional testing by @svix-dylan in #450
- Csharp: make options optional for all list endpoinst. by @tasn in #455
- Remove the codeball automatic code reviewer. by @tasn in #456
- Add rust library by @tasn in #454
- Disallow redirection from worker's HTTP client by @svix-daniel in #457
- Add test for many consumers with delayed messages by @svix-daniel in #459
- Enable running tests in parallel by @svix-daniel in #461
- Disable ARM64 Docker releases to avoid starving GHA runner by @svix-daniel in #463
- Release Docker tags with version numbers on GitHub release by @svix-daniel in #464
- Bump version, update changelog, and fix issue with release script. by @tasn in #466
Full Changelog: v0.57.2...v0.58.0
Version 0.57.2
Highlight
- Server: add support for get-or-create when creating applications.
- C#: fix library compilation (broke in the previous release.
What's Changed
- C#: fix library compilation (change in endpoint headers) by @tasn in #424
- Rust: TaskQueueReceive Receive to ReceiveAll by @jaymell in #418
- Application: add missing get-or-create to create endpoint. by @tasn in #428
- Bump version and update changelog - v0.57.2 by @tasn in #429
Full Changelog: v0.57.1...v0.57.2
Version 0.57.1
Highlights
- 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.
What's Changed
- Server CI: fix caching to actually work by @tasn in #414
- Gracefully handle non-text endpoint response bodies by @svix-dylan in #416
- Support
payloadRetentionPeriod
for messages by @svix-dylan in #405 - Preserve header key capitalization by @svix-dylan in #419
- Docker: bump rust dependency and add missing dependency. by @tasn in #420
- Update OpenAPI spec. by @tasn in #421
- Update code following OpenAPI update. by @tasn in #422
- Bump version and update changelog for v0.57.1 by @tasn in #423
Full Changelog: v0.57.0...v0.57.1
Version 0.57.0
Summary
- 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.
What's Changed
- Add EndpointSecret Validation by @jaymell in #377
- Add prev_iterator support to the message list endpoint by @svix-daniel in #379
- Validate input strings against control sequences by @svix-dylan in #381
- validate against forbidden header keys & prefixes by @svix-dylan in #382
- Add additional endpoint integration tests by @jaymell in #383
- Test utils: use tokio sleep, not blocking sleep when retrying. by @tasn in #384
- Rust: Streamline deserialization/validation of endpoint secrets by @jaymell in #385
- Rust: Refactor
test_recovery_expected_retry_counts
integration test by @jaymell in #387 - test that serde’s JSON serializations are compact by @svix-dylan in #389
- Implement idempotency middleware by @svix-daniel in #367
- Replace
unwrap()
withexpect()
by @svix-dylan in #391 - Add Svix Api client for csharp by @IAmArchaic in #248
- Cache abstraction and MemoryCache implementation by @svix-dylan in #393
- Rust: Support clustered redis by @jaymell in #392
- Update OpenAPI spec. by @tasn in #395
- Multiple Commits Addressing Prior Comments by @jaymell in #394
- Patch health endpoint to only return a status code by @svix-dylan in #397
- Rust: Migrate legacy redis queues on startup by @jaymell in #398
- Rust: Add additional test-run with
None
cache type by @jaymell in #399 - Rust: Ensure Redis queue message IDs are refreshed when re-queuing by @jaymell in #400
- Rust: Improve redis queue migration tests by @jaymell in #401
- Change default cache type to memory and improve its docs. by @tasn in #402
- Remove redundant default config and improve its docs by @tasn in #403
- Idempotency: add the service first to fix logging. by @tasn in #406
- Always use ID or UID when accepting apps/endpoints in the API. by @tasn in #407
New Contributors
- @svix-dylan made their first contribution in #381
- @IAmArchaic made their first contribution in #248
Full Changelog: v0.56.0...v0.57.0