Releases: webhookx-io/webhookx
Releases · webhookx-io/webhookx
v1.0.0-rc1
Breaking Changes
- Admin's listen defaults to
127.0.0.1:9601; Proxy's listen defaults to0.0.0.0:9600; Status's listen defaults to127.0.0.1:9602. Admin,Proxy, andWorkerare enabled by default.- CLI command
migrationsis changed todb. - Source's
path,methods,responseare renamed toconfig.http.path,config.http.methods,config.http.response.
Features
Core
Plugins
- Add
basic-auth,key-auth,hmac-authplugins. #264 - Add enterprise
connect-authplugin. #288 - Add
event-validationplugin. #286 (Thanks @cchenggit)
Worker
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
v0.9.0
Features
Core
- Rate limiting for Endpoint and Source. #225
- Event deduplicated by
unique_id. #242 - Anonymous report. #222
CLI
- Enhanced commands
migrations upandmigrations statusoutput logs. #235
Worker
- Added new delivery headers
Webhookx-Event-IdandWebhookx-Delivery-Id. #242
Fixes
- Fixed version format #232
- Fixed default value of
WEBHOOKX_TRACING_OPENTELEMETRY_ENDPOINTconfiguration. #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
Breaking Changes
- Some tracing attribute names were changed, unless the environment variable
OTEL_SEMCONV_STABILITY_OPT_INis set. See OpenTelemetry documentation.
Features
Status API (127.0.0.1:8082) openapi-status.yml
Admin API
- API
/now returns the current application configuration. #173 - The
Endpoint,Source,Plugin, andWorkspaceentities 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-Idwill be returned when events were ingested successfully. #202
Deployment
- Support Cluster Mode deployment -- Control Plane (CP) and Data Plane (DP). See docker-compose-clustering.yml #186
Fixes
Core
- Fixed an issue where the status of Attempt may be changed from
QUEUEDback toINITin a race condition. #183 - Fixed an issue where an Attempt’s
updated_atmight 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_atandupdated_atdidn't accurately reflect the actual time when the database time zone is not UTC. #201
Admin API
- Fixed an issue where API
POST /eventsreturns 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
v0.7.0
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-signatureplugin #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
Breaking Changes
- removed deprecated configuration
opentelemetry.push_internal. #112
Features
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
pgxfor 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
Features
Fixes
Performance
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
Features
- Support declarative configuration @vm-001 #68
- (observability): OpenTelemetry Tracing @cchenggit #48
Fixes
Dependencies
- Upgrade go version from 1.22 to 1.23 @cuisongliu(🎉 new contributor) #50
- Bump github.com/onsi/ginkgo/v2 from 2.20.2 to 2.22.1 @dependabot #55 #72
- Bump go.uber.org/mock from 0.4.0 to 0.5.0 @dependabot #53
- Bump github.com/redis/go-redis/v9 from 9.6.2 to 9.7.0 @dependabot #52
- Bump github.com/onsi/gomega from 1.34.2 to 1.36.1 @dependabot #54 #70
- Bump github.com/go-resty/resty/v2 from 2.15.3 to 2.16.2 @dependabot #64
- Bump github.com/go-playground/validator/v10 from 10.22.1 to 10.23.0 @dependabot #63
- Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 @dependabot #62
Full Changelog: v0.3.0...v0.4.0-rc1
v0.3.0
Features
- (observability): Introduced metrics and OpenTelemetry exporter. @vm-001 #49
- (proxy): Introduced ingesting events asynchronously according to the
asyncproperty 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, andmax_lifetimeconfiguration. @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
Fixes
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Breaking Changes
Admin
- the
request.headers,request.body,response.headers, andresponse.bodywere omitted tonullin 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_idfor API /workspaces/{id}/attempts @webhookx-x #25 - support event manually retry @webhookx-x #27
- add
latencytoattempt.responseto record response latency from the endpoint @vm-001 #28
Plugin
- and a new
webhookx-signatureplugin 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_modeandexhaustedin 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
Full Changelog: v0.1.0...v0.2.0