Skip to content

Releases: yusing/go-proxy

v0.7.7

10 Nov 22:57
Compare
Choose a tag to compare

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

09 Nov 23:08
Compare
Choose a tag to compare

What's changed

New

Changed

  • Update setup instructions by @codekoala in #30
  • Updated to go1.23.3

Fixed

  • ModifyRequest middleware set_header not working properly for Host header
  • CIDRAllowList middlewares may share there IP cache map between each other

Full Changelog: 0.7.5...0.7.6

v0.7.5

03 Nov 19:53
Compare
Choose a tag to compare

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
    • changed env prefix from GOPROXY to GODOXY (old prefix will still work) 99e43fe f5cf716
    • everywhere else that does not break stuff
  • WebUI / API Authentication will be disabled by default if JWT secret is not set or empty b63ebfc

Fixed

v0.7.4

03 Nov 02:17
Compare
Choose a tag to compare

What's changed

New:

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

02 Nov 22:27
Compare
Choose a tag to compare

Fixed /stats/ws websocket endpoint error when no match_domains configured 3bf5205

v0.7.2

01 Nov 23:20
Compare
Choose a tag to compare

What's changed

  • Performance improvement for HTTP routes:
    • ~ 3% when match_domains is not used
    • ~ 60% when match_domains is used
  • Fixed API JSON string response quote not escaping

v0.7.1

01 Nov 19:45
Compare
Choose a tag to compare

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

30 Oct 19:41
Compare
Choose a tag to compare

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 with openssl rand -base64 32
    • GOPROXY_API_USER: login username (defaults to admin)
    • GOPROXY_API_PASSWORD: login password (defaults to password)

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 to rs/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

v0.6.4

11 Oct 02:12
Compare
Choose a tag to compare

What's changed

  • Fixed $DOCKER_HOST behaviors in edge cases
  • Changed now proxy host defaults to <containerIP>:<containerPort> instead of localhost:<hostPort> for local docker provider, this does not affect your current configurations

v0.6.3

10 Oct 03:59
Compare
Choose a tag to compare

What's changed?

  • Added experimental support for load balancing
    • round_robin
    • least_conn
    • ip_hash
  • Fixed [idlewatcher] loading page not showing in some cases
  • Fixed error handling
  • Fixed simplified some error messages