Skip to content

v0.7

Compare
Choose a tag to compare
@yusing yusing released this 30 Oct 19:41
· 46 commits to v0.7 since this release

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