Releases: yusing/go-proxy
Releases · yusing/go-proxy
v0.7.7
What's changed
Changed
- logging: moved API request log to debug level (introduced in 0.7.6)
- code: simplified label parsing implementation, more readable, maintainable and also faster
- code: removed unnecessary mutex and mutex locking
- healthcheck: health checker now send an user agent indicating GoDoxy and its version
Fixed
- logging: fixed missing error subject on validation error for routes from include file
- bug: panic on invalid map value in docker labels
- bug:
healthcheck.disable
not being respected - bug: incorrect health check returned unhealthy even if it isn't in some scenerios
- bug: health checker looking for incorrect address for stream routes
- webui: fixed statistics not loading property
v0.7.6
What's changed
New
- New: Prometheus metrics server See Grafana dashboard template
Changed
- Update setup instructions by @codekoala in #30
- Updated to go1.23.3
Fixed
ModifyRequest
middlewareset_header
not working properly forHost
headerCIDRAllowList
middlewares may share there IP cache map between each other
Full Changelog: 0.7.5...0.7.6
v0.7.5
What's changed
New
- Default app categories detected from alias and docker image name d89d97b
- Option in
config.yml
to disable it cf1ecbc
Changed
- Default config added inside docker image c6a9a81
- Rebrand as
GoDoxy
- WebUI / API Authentication will be disabled by default if JWT secret is not set or empty b63ebfc
Fixed
v0.7.4
What's changed
New:
- New rate limiter middleware
Changed:
- API server is now protected with rate limiter
Fixed:
- Extra dot in app URLs on WebUI dashboard (introduced in v0.7.3)
v0.7.3
v0.7.2
v0.7.1
What's changed
New
GOPROXY_API_JWT_TOKEN_TTL
: control JWT token time-to-live
Changed
- Moved environment variables from docker compose to
.env.example
- Updated
compose.example.yml
Fixed
- Incorrect behaviors for
ls-*
commands - several typos
Full Changelog: 0.7.0...0.7.1
v0.7
What's changed
New
- Health status monitoring feature
- status and uptime on dashboard
app: healthcheck: disabled: false # default false path: "" # default empty use_get: false # use GET instead of HEAD, default false interval: 5s # default 5s timeout: 5s # default 5s
- Gotify support: send notification when service health status changed
# under config.yml -> providers section providers: include: ... docker: ... notification: gotify: url: https://gotify.domain.tld token: abcdef.12345
Breaking Changes
- webui: now WebUI and APIs require authentication
- environment variables: new, required
GOPROXY_API_JWT_SECRET
: base64 string of jwt secret, generate withopenssl rand -base64 32
GOPROXY_API_USER
: login username (defaults toadmin
)GOPROXY_API_PASSWORD
: login password (defaults topassword
)
Non-breaking Changes
- docker:
proxy.aliases
is now optional,proxy.<alias>.<field>
will work without it - middleware:
ip_hash
load balancer now support realIP middleware - logging: migrated from
sirupsen/logrus
tors/zerolog
- logging: better output and error formatting
- logging: suggest "Do you mean ____?" on invalid options
- code: introduced new
task
module to manage context and tasks to ensure resources are released and goroutines are stopped correctly - code: rewritten
error
module - code: rewritten config and docker reload handling with event queue
Fixed
- loadbalancer:
ip_hash
incorrect behavior - loadbalancer: services with same alias will no longer cause conflict
- idlewatcher: load-balanced routes now works with
idle_timeout
- reload: include file reload does not show in log
- reload: proxy url turns into
127.0.0.1:80
after reload - reload: streams stucked forever on stop
- reload: removed routes persist on config reload
- webui: loadbalanced routes no longer show up in dashboard (i.e. only loadbalancer nginx is shown but not nginx-1, nginx-2, ... )
- bug: shutdown stuck causing graceful shutdown to fail
- bug: various bugs that causing nil deference panic
- bug: memory leak for stream routes
- bug: route not removed on container destroy
- bug: crash on invalid middleware options
Full Changelog: 0.6.4-1...0.7.0