All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Slow request content loading (due to performance reasons) #306
- Requests list now is scrollable #308
- Go version updated from
1.20
up to1.21
- Go&Node dependencies updated
- Go version updated from
1.19
up to1.20
- Module name changed from
github.com/tarampampam/webhook-tester
togh.tarampamp.am/webhook-tester
HEAD
method support for the health check endpoints (/ready
,/live
) #204
- Environment variable
PORT
support (is an alias forLISTEN_PORT
) - Requests navigation hotkeys (up/left and down/right) #203
- HEX view improved
- Dotenv (
.env
) file support - Code snippets for requests for different programming languages #149
- Persistent Webhook URL (
--create-session %VALUD_UUID%
flag for theserve
sub-command) #160
- Frontend building using WebPack
- VueJS updated from v2 to v3
- Bootstrap updated from v4 to v5
- All frontend dependencies are now built-in (no external network requests are needed anymore)
- OpenAPI specification now is used for the code generation on the frontend and backend sides
- E2E tests now use the hurl instead of postman/newman
- CLI global flags now should be defined before the sub-command (
./app serve --log-json ...
→./app --log-json serve ...
)
--public
flag (and env variablePUBLIC_DIR
) support forserve
sub-command
- A lot of small frontend issues
- Go updated from
1.18
up to1.19
- HTML pages markup (thx @hatamiarash7)
- Go updated from
1.18.0
up to1.18.1
- Go updated from
1.16.3
up to1.18.0
- Internal healthcheck in logs disabled #150
- For redis storage and pubsub
json
encoder/decoder replaced with msgpack - Storage now accepts and returns request content as a bytes slice
- Response content for session creation handler must be base64-encoded
- All API handlers return request body and session response base64-encoded (JSON request and response property
content
replaced withcontent_base64
)
- UI Binary request viewer
- Possibility to download request content using UI
- API handler "all session requests" sorting order
- JSON request payloads now pretty-printed #78
- Request body code highlighting #77
- E2E test using postman
- In-memory storage implementation
- In-memory and Redis pub/sub implementation
- Websockets for browser notifications
serve
sub-command flags:--redis-dsn
redis server DSN (format:redis://<user>:<password>@<host>:<port>/<db_number>
), required when storage driverredis
is used--pubsub-driver
pub/sub driver (redis
andmemory
is supported)--storage-driver
storage driver (redis
andmemory
is supported)--max-request-body-size
maximal webhook request body size (in bytes)--ws-max-clients
maximal websocket clients--ws-max-lifetime
maximal single websocket lifetime
- Sub-command
healthcheck
(hidden in CLI help) that makes a simple HTTP request (with user-agentHealthChecker/internal
) to thehttp://127.0.0.1:8080/live
endpoint. Port number can be changed using--port
,-p
flag orLISTEN_PORT
environment variable - Healthcheck in dockerfile
- Global (available for all sub-commands) flags:
--log-json
for logging using JSON format (stderr
)--debug
for debug information for logging messages--verbose
for verbose output
- Graceful shutdown support for
serve
sub-command - HTTP requests & HTTP panics logging middlewares
- Logging using
uber-go/zap
package - HTTP route
/api/version
- HTTP route
/metrics
with metrics in prometheus format - Support for
linux/arm64
,linux/arm/v6
andlinux/arm/v7
platforms for docker image
- Docker image based on
scratch
(notalpine
image) - Directory
public
renamed toweb
- Package name changed from
webhook-tester
togithub.com/tarampampam/webhook-tester
- Default value for
--public
flag (serve
sub-command) now%binary_file_dir%/web
instead%current_working_directory%/web
- Flag
--session-ttl
(serve
sub-command) now accepts duration (example:1h30m
) instead seconds count - Flag
--public
now accepts empty value (in this case file server will be disabled) - Go updated from
1.15
up to1.16.3
- All frontend libraries updated
- Binary file packing using
upx
- HTTP method
CONNECT
for webhook endpoint serve
sub-command flags:--redis-host
,--redis-port
,--redis-db-num
- Environment variables support:
REDIS_HOST
,REDIS_PORT
,REDIS_DB_NUM
- Property
version
from/api/settings
JSON-object response - Pusher support (replaced with pub/sub + websockets)
- Webhook delay uses
time.After()
insteadtime.Sleep()
with context canceling support - Wrong
content
property value for session creation HTTP handler - Wrong
Content-Type
header value for webhook handler - Correct file mime-types for docker image
- Golang updated from
1.14
up to1.15
- Flag
--ignore-header-prefix
for incoming webhook headers ignoring (by prefix)
- Basic features, like UI,
pusher.com
, probes, session and request handlers