Skip to content

Releases: webhookx-io/webhookx

v1.0.0-rc1

31 Dec 08:55
c021392

Choose a tag to compare

Breaking Changes

  • Admin's listen defaults to 127.0.0.1:9601; Proxy's listen defaults to 0.0.0.0:9600; Status's listen defaults to 127.0.0.1:9602.
  • Admin, Proxy, and Worker are enabled by default.
  • CLI command migrations is changed to db.
  • Source's path, methods, response are renamed to config.http.path, config.http.methods, config.http.response.

Features

Core

  • Licensing enterprise features. #282
  • Secret Management. #263 #290
  • Plugin execution order. #289

Plugins

  • Add basic-auth, key-auth, hmac-auth plugins. #264
  • Add enterprise connect-auth plugin. #288
  • Add event-validation plugin. #286 (Thanks @cchenggit)

Worker

  • Delivery Access Control List (ACL). #253
  • Delivery Proxy. #254

Fixes

  • fix(admin): fix the issue where passing non-existent foreign keys causes unexpected HTTP response. by @vm-001 in #285

Performance

  • replace gob by msgpack. #270

Dependencies

  • bump go from 1.24.5 to 1.25.5 #238 #266
  • bump Dockerfile alpine from 3.15 to 3.22 #267
  • bump dependencies

Full Changelog: v0.9.0...v1.0.0-rc1

What's Changed

  • refactor(schedule): centrally manage scheduled tasks via schedule.Scheduler by @vm-001 in #283
  • chore(*): delete yaml tag by @vm-001 in #293
  • refactor(plugin): use OpenAPI to validate plugin configuration by @vm-001 in #269

v0.9.0

29 Sep 15:42
4c2a65a

Choose a tag to compare

Features

Core

  • Rate limiting for Endpoint and Source. #225
  • Event deduplicated by unique_id. #242
  • Anonymous report. #222

CLI

  • Enhanced commands migrations up and migrations status output logs. #235

Worker

  • Added new delivery headers Webhookx-Event-Id and Webhookx-Delivery-Id. #242

Fixes

  • Fixed version format #232
  • Fixed default value of WEBHOOKX_TRACING_OPENTELEMETRY_ENDPOINT configuration. #245

Performance

  • Improved queue performance by using a single queue for invisible messages #231

Dependencies

  • Bump github.com/redis/go-redis/v9 from 9.11.0 to 9.14.0 #240
  • Bump github.com/onsi/ginkgo/v2 from 2.23.4 to 2.25.3 #236
  • Bump go.opentelemetry.io from v1.37.0 to v1.38.0 #243

Full Changelog: v0.8.0...v0.9.0

v0.8.0

30 Jul 06:08
17550e2

Choose a tag to compare

Breaking Changes

  • Some tracing attribute names were changed, unless the environment variable OTEL_SEMCONV_STABILITY_OPT_IN is set. See OpenTelemetry documentation.

Features

Status API (127.0.0.1:8082) openapi-status.yml
  • API / returns application metrics. #174 #182
  • API /health returns application health status. #174
Admin API
  • API / now returns the current application configuration. #173
  • The Endpoint, Source, Plugin, and Workspace entities now support custom key-value pairs in the metadata field. #194
  • Added JSONSchema validation for requests based on the OpenAPI file openapi.yml. #212 (Thanks @cchenggit)
Proxy API
  • HTTP header X-Webhookx-Event-Id will be returned when events were ingested successfully. #202

Deployment

Fixes

Core
  • Fixed an issue where the status of Attempt may be changed from QUEUED back to INIT in a race condition. #183
  • Fixed an issue where an Attempt’s updated_at might not be updated. #184
  • Fixed an issue where in-flight messages could not be re-consumed after the consumption timeout. #185
  • Fixed an issue where created_at and updated_at didn't accurately reflect the actual time when the database time zone is not UTC. #201
Admin API
  • Fixed an issue where API POST /events returns HTTP 400 error. #180
  • Fixed an issue where admin server doesn't return JSON response when handler is not found. #196

Performance

  • Improved queue performance and reduced Redis memory usage by avoiding storing unnecessary elements. #197
  • Improved the delivery performance by optimizing HTTP Deliverer's transport settings. #203

Dependencies

  • Bump Go from 1.24.3 to 1.24.5. #219
  • Bump go.opentelemetry.io/otel from v1.35.0 to v1.37.0 #175 #195
  • Bump github.com/redis/go-redis/v9 from 9.8.0 to 9.11.0. #190

v0.7.0

23 May 02:55

Choose a tag to compare

Blog “Function: A Way of Handling Webhook Verification Chaos”

Features

  • Added a new function (inbound) plugin that can be applied to the Source object. #139
  • Added Access Log for both Admin and Proxy. #161
  • Enhanced application log format and readability. #164

Fixes

  • Fixed a potential race condition when using webhookx-signature plugin #148

Dependencies

  • bump go version from 1.23 to 1.24.3 #155
  • bump github.com/go-playground/validator/v10 from v10.25.0 to v10.26.0 #155
  • bump github.com/golang-migrate/migrate/v4 from v4.18.2 to v4.18.3 #155
  • bump github.com/redis/go-redis/v9 from v9.7.3 to v9.8.0 #155
  • bump github.com/onsi/ginkgo/v2 from v2.22.2 to v2.23.4 #155
  • bump github.com/onsi/gomega from v1.36.2 to v1.37.0 #155
  • bump go.opentelemetry.io/contrib/propagators/autoprop from v0.59.0 to v0.60.0 #155
  • bump github.com/jackc/pgx/v5 from v5.7.4 to v5.7.5 #163
  • bump go.opentelemetry.io/contrib/propagators/autoprop from v0.59.0 to v0.60.0 #155

Full Changelog: v0.6.0...v0.7.0

v0.6.0

08 Apr 04:05
3512257

Choose a tag to compare

Breaking Changes

  • removed deprecated configuration opentelemetry.push_internal. #112

Features

  • added a new wasm plugin. #131 #132
  • supported debug endpoints on admin component. #103

Fixes

  • fixed an issue where some application properties cannot be set via env. #111
  • removed unused code by @qxsugar (🎉 new contributor). #121

Performance

  • optimized the router rebuild of the gateway component. #109
  • switched database driver to pgx for better performance. #110
  • reduced DAO reflections for better performance. #117
  • improved worker component performance by reducing database queries. #117

Dependencies

  • bump github.com/go-resty/resty/v2 from 2.16.2 to 2.16.5. #108
  • bump github.com/redis/go-redis/v9 from 9.7.0 to 9.7.3. #106 #133
  • bump github.com/golang-migrate/migrate/v4 from 4.18.1 to 4.18.2. #105
  • bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.55.0 to 0.60.0. #116
  • bump opentelemetry to v1.35.0. #119 #133

Full Changelog: v0.5.0...v0.6.0-rc1

v0.5.0

28 Feb 12:49
3a92cb7

Choose a tag to compare

Features

  • Both admin and proxy supporte TLS listening @vm-001 in #94

Fixes

  • fix(admin): allow workspace name as URL parameter @vm-001 in #93

Performance

  • perf(worker): use mcache to reduce database access @vm-001 in #100

Dependencies

  • Bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc from 1.32.0 to 1.34.0 by @dependabot in #92
  • Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace from 1.32.0 to 1.34.0 by @dependabot in #91
  • Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp from 1.32.0 to 1.34.0 by @dependabot in #90
  • Bump go.opentelemetry.io/contrib/propagators/autoprop from 0.57.0 to 0.59.0 by @dependabot in #89
  • Bump github.com/spf13/cobra from 1.8.1 to 1.9.1 by @dependabot in #95
  • Bump google.golang.org/grpc from 1.69.4 to 1.70.0 by @dependabot in #96
  • Bump github.com/go-playground/validator/v10 from 10.23.0 to 10.25.0 by @dependabot in #99
  • Bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp from 1.32.0 to 1.34.0 by @dependabot in #98
  • Bump github.com/onsi/ginkgo/v2 from 2.22.1 to 2.22.2 by @dependabot in #97

Full Changelog: v0.4.0...v0.5.0

v0.4.0

31 Dec 13:15
9d2e5ad

Choose a tag to compare

Features

Fixes

  • fix(eventbus): ping database to avoid blocking during application starting @vm-001 in #83

Dependencies

Full Changelog: v0.3.0...v0.4.0-rc1

v0.3.0

20 Nov 08:18
4730008

Choose a tag to compare

Features

  • (observability): Introduced metrics and OpenTelemetry exporter. @vm-001 #49
  • (proxy): Introduced ingesting events asynchronously according to the async property of the Source object. @vm-001 #42
  • (worker): Added goroutine pool to limit the total number of goroutines @vm-001 #43
  • (configuration): Added database parameters, max_pool_size, and max_lifetime configuration. @vm-001 #57

Performances

  • Optimized performance by adding batch operations. @vm-001 #45
  • Added mcache(multiple levels cache) to reduce the number of redis lookups. @vm-001 #46

Fixes

  • Fixed incorrect marshal result of zero value of Time #44
  • Fixed AttemptDetailDao.Upsert fails when the response body is not JSON. @vm-001 #38

Dependencies

  • Bump github.com/go-resty/resty/v2 from 2.15.2 to 2.15.3 @dependabot #37
  • Bump github.com/redis/go-redis/v9 from 9.6.1 to 9.6.2 @dependabot #47

Chores

  • Adjusted README.md to clarify that the redis versions should not be older than 6.2 #51

Full Changelog: v0.2.0...v0.3.0

v0.2.1

02 Oct 07:35
b1c4627

Choose a tag to compare

Fixes

  • Fixed AttemptDetailDao.Upsert fails when response body is not JSON. @vm-001 #39

Full Changelog: v0.2.0...v0.2.1

v0.2.0

26 Sep 07:25

Choose a tag to compare

Breaking Changes

Admin

  • the request.headers, request.body, response.headers, and response.body were omitted to null in API /workspaces/{ws_id}/attempts. To retrieve them, please use /workspaces/{ws_id}/attempts/{id} @cchenggit (🎉 new contributor) #23

Features

Admin

  • add query parameter endpoint_id for API /workspaces/{id}/attempts @webhookx-x #25
  • support event manually retry @webhookx-x #27
  • add latency to attempt.response to record response latency from the endpoint @vm-001 #28

Plugin

  • and a new webhookx-signature plugin to prevent event being manipulated. @webhookx-x #17

Fixes

Admin

  • keeping nested field structure for fields that failed to validate @vm-001 #22
  • return detailed message when database unique constraint violation occurs @vm-001 #24
  • add missing properties trigger_mode and exhausted in openapi.yml @Heir-o (🎉 new contributor) #30
  • correct attempt properties in openapi.yml @vm-001 #31

Dependencies

  • bump github.com/go-resty/resty/v2 from 2.14.0 to 2.15.0 @dependabot #20

Chores

  • unify the SQL table creation statements @ericsyh (🎉 new contributor) #21

Full Changelog: v0.1.0...v0.2.0