Skip to content

Releases: webhookx-io/webhookx

v1.0.1

06 Feb 10:17
3c54f0b

Choose a tag to compare

What's Changed

This patch release fixes build issues.

Full Changelog: v1.0.0...v1.0.1

v1.0.0

06 Feb 09:42
50940b5

Choose a tag to compare

Breaking Changes

  • Proxy server is now listening on 0.0.0.0:9600 by default.
  • Admin server is now listening on 127.0.0.1:9601 by default.
  • Status server is now listening on 127.0.0.1:9602 by default.
  • CLI command migrations is deleted. (use db).
  • The object source's path, methods, response are renamed to config.http.path, config.http.methods, config.http.response.
  • Configuration tracing.enabled is replaced by tracing.instrumentations.

Features

Core

  • Enterprise features are only available when a license is provided. #282
  • Secret Management(EE): resolve secrets from external providers (AWS SecretsManager provider, HashiCorp Vault). #263 #290
  • The plugin executes according to its own priority. #289
  • Application graceful shutdown. #307
  • Add trace_id to access log JSON when tracing is available. #307

Plugins

  • basic-auth: validates incoming requests using username and password authentication. #264
  • key-auth: validates incoming requests using API key authentication. #264
  • hmac-auth: validates incoming requests using HMAC Signature authentication. #264
  • connect-auth(EE): enforces platform validation against incoming requests. #288
  • event-validation: validates event data against JSON Schema. #286 (Thanks @cchenggit)

Worker

  • Access Control List (ACL): defines rules to control outbound network access. #253
  • Proxy Server: supports HTTP, HTTPS, and mTLS proxies. #254

Fixes

  • Fix an issue where an invalid foreign key during object creation could cause an unexpected HTTP response. #285
  • Fix an issue where DB transactions aborted abnormally due to the event's unique_id already existing. #302

Performance

  • Use BatchQueue to save logs in batches. #122
  • Use msgpack to improve marshal/unmarshal performance. #270 #310

Dependencies

  • Upgrade Go version to 1.25.5 #296
  • Upgrade Alpine version from 3.15 to 3.22 #267
  • Bump dependencies

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

v1.0.0-rc1

31 Dec 08:55
c021392

Choose a tag to compare

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