Skip to content

Releases: svix/svix-webhooks

Version 0.58.0

26 May 17:31
a306242
Compare
Choose a tag to compare

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, and x.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

06 May 19:36
af6016b
Compare
Choose a tag to compare

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

05 May 19:58
fb35470
Compare
Choose a tag to compare

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

29 Apr 20:48
67d2796
Compare
Choose a tag to compare

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() with expect() 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

Version 0.56.0

11 Apr 21:22
fe8830d
Compare
Choose a tag to compare

What's Changed

  • Extend prev_iterator implementation by @svix-daniel in #354
  • Tests: Recover failed webhooks by @jaymell in #365
  • Tests: Add additional endpoint integration tests by @jaymell in #366
  • Bump axum version by @svix-daniel in #368
  • Fix clippy lint in several points in tests/utils/mod.rs by @svix-daniel in #369
  • Add missing trailing slash to two more test utils. by @tasn in #371
  • Rust Webhook Signature by @jaymell in #370
  • Python: set with_content to false when making API calls. by @tasn in #375
  • Remove unwrap in create_message. by @tasn in #372
  • Python libs: fix user agent to actually work. by @tasn in #373
  • Python: set a 15s read timeout. by @tasn in #378
  • Endpoint key-rotation integration test by @jaymell in #376
  • Bump version and update changelog. by @tasn in #380

Full Changelog: v0.55.0...v0.56.0

Version 0.55.0

04 Apr 20:04
Compare
Choose a tag to compare

What's Changed

  • Add basic message dispatch tests by @svix-daniel in #321
  • Change base Docker image to debian-slim by @tasn in #331
  • Update SeaORM to 0.6.0 by @svix-daniel in #333
  • Adds List Attempted Messages Endpoint by @svix-daniel in #332
  • Switch to KsuidMs for extra precision. by @tasn in #335
  • List attempted messages: sort by ID, not by CreatedAt. by @tasn in #336
  • Add implementation for "List Attempts by Endpoint" endpoint by @svix-daniel in #338
  • Ensure queue type in tests is in-memory. by @svix-daniel in #339
  • Implement Validate for IdOrUid types by @svix-daniel in #340
  • Cleanup: make generate_token accept an org_id. by @tasn in #341
  • Reorganize integration tests based on Rust best practices. by @tasn in #342
  • Tests: remove the integration_test feature and rely on cargo. by @tasn in #343
  • Implement missing endpoints for the attempt API by @svix-daniel in #345
  • Note deprecated functions/endpoints in attempts API by @svix-daniel in #346
  • Simplify Validate implementation for IdOrUid types by @svix-daniel in #347
  • Add/Fix Query Parameters for message and attempt modules by @svix-daniel in #348
  • Server: Add query parameter validation tests by @jaymell in #349
  • Adds prev iterators as query filters for list_attempts_by_endpoint and list_attempts_by_msg by @svix-daniel in #350
  • Bump SeaORM version to 0.7.1 by @svix-daniel in #353
  • Add payload validation tests by @jaymell in #351
  • Server: Add with_content query param to appropriate endpoints by @jaymell in #352
  • Db models: use the same timestamp for ID and created_at. by @tasn in #355
  • Attempt: remove redundant comment (fixme already fixed). by @tasn in #356
  • Application: add tests to ensure correct UID behavior. by @tasn in #357
  • Application: add another uid test and improve list test by @tasn in #358
  • Tests: make a common test for testing list endpoints. by @tasn in #359
  • Bump minimist from 1.2.5 to 1.2.6 in /javascript by @dependabot in #362
  • Tests: use correct way of asserting results. by @tasn in #361
  • Server: Worker HTTP error handling fixes by @jaymell in #360
  • Ignore VSCode data by @jaymell in #364

Full Changelog: v0.54.2...v0.55.0

Version 0.54.2

20 Mar 12:38
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.54.1...v0.54.2

Version 0.54.1

18 Mar 20:13
Compare
Choose a tag to compare

What's Changed

This release doesn't actually do what it was meant to do.

Full Changelog: v0.54.0...v0.54.1

Version 0.54.0

18 Mar 19:37
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.53.2...v0.54.0

Version 0.53.2

15 Mar 12:47
Compare
Choose a tag to compare

What's Changed

  • Ruby CI: Decrease ruby bundle size by @fcjr in #319

Full Changelog: v0.53.1...v0.53.2