Fabio Versions Save

Consul Load-Balancing made simple

v1.6.3

1 year ago

Improvements

  • [PR #907] - Add option to make admin source links clickable. (@KTruesdellENA @Kamilcuk)
  • [PR #909] - Add integration with gobgp so that we can publish anycast addresses. (@nathanejohnson)

Bug Fixes

  • [PR #908] - Change the shutdown procedure to deregister fabio from the registry and then shutdown the proxy (@martinivanov)
  • [PR #917 Bug #916] - Don't use "dst" literal as sni name on https backends with host=dst is set

v1.6.2

1 year ago

Changelog

  • Issue #903 PR #904 - Improve TLS Cipher Suite parser in the config loader to handle modern TLS 1.3 cipher suites. This should no longer require manual updating of code as new cipher suites are added to the standard library crypto/tls package.

v1.6.1

1 year ago

Changelog

v1.6.1 - 14 July 2022

Improvements

  • PR #811 - Add command line flag to toggle required consistency on consul reads. (@jeremycw)
  • PR #860 - Fix x-forwarded-for header processing for ws connections. (@bn0ir)
  • PR #854 - Update registry documentation for custom type. (@webmutation)
  • Issue #873 - Bump version of go-diff dependency to fix reported crash. (@ddreier @nathanejohnson)
  • PR #816 - Fix memory leak around GRPC connections. (@nathanejohnson)
  • PR #884 - Fix CSS issue in clipboards in hugo docs (@KTruesdellENA)
  • PR #875 - Build multi-arch Docker images for amd64 and arm64 architectures (@vamc19)
  • PR #885 - Moved admin UI assets to use go embed. (@nathanejohnson)
  • Issue #866 - Fixed issue where admin UI overrides were not working properly. (@nathanejohnson @KTruesdellENA)
  • Issue #858 - Add option to specify TLS 1.3 for min and max version (@dcarbone @nathanejohnson)
  • PR #896 - Set SNI to match host for https routes (@KTruesdellENA)
  • Issue #872 - Crash on using rnd stratgy on 32 bit platforms fixed (@sbrl @nathanejohnson)

Breaking Changes

Minimum go version is bumped to 1.16 since we use embed functionality.

v1.6.0

2 years ago

Changelog

v1.6.0 - 11 April 2022

Improvements

  • PR #476 - Metrics refactor (@magiconair @nathanejohnson)

    This is a large change. All previously supported metrics backends are still supported, however this is a complete rewrite of the functionality moving over to the gokit framework for implementations. In addition to all previously supported metrics backends (circonus, graphite, statsd), prometheus support has been added, as well as dogstatsd, have been added, with full tagging support. Unfortunately some backwards compatibility with graphite histograms does not work, due to the way gokit handles these. Statsd support has changed as well, but it was horribly broken in that counters never reset like they were supposed to. Overall, the improvements should outweigh the negatives of backwards compatibility for most people.

  • PR #868 - Updating go and alpine versions for Docker (@Netlims)

  • PR #869 - Updating golang.orgx/sys dependency version (@nathanejohnson)

  • PR #866 - Support for arm64 mac build (@nathanejohnson)

  • PR #863 - Add IdleConnTimeout configuration option for http transport (@aal89)

  • PR #857 - admin/ui updates (@dcarbone), updating UI dependencies and generation from Makefile

Breaking Changes

As mentioned above, Graphite histograms have changed.

Bug Fixes

  • PR #867 - Improve performance of building routing table (@ddreier)
  • PR #864 - Fix example commands in registry.consul.kvpath (@blake)

v1.5.15

3 years ago

Changelog

3b4d9d7 Release v1.5.15 ef36ef2 Preparing for 1.5.15 release 38b22e3 Merge pull request #803 from fabiolb/feature/changedefaultGOGC d69d99f Updating the default GOGC to 100. 800 proves to be a bit insane. 019ad7a Stop dynamic TCP listener when upstream is no longer available (#798) 2a56cb9 Merge pull request #794 from fabiolb/updatedeps 54c73a9 Updating dependencies 231e7f2 Merge pull request #790 from stevenscg/patch-1 c06b6fc Update CHANGELOG.md 267f081 updating fabio.properties to show https+tcp+sni e99883d Updating documentation on verifying releases d914c1a more README updates 5f60b24 amnend README to point to new signing key 01df0c9 update go version required to build in README.md 066941c updating README.md for v1.5.14

Docker images

  • docker pull fabiolb/fabio:latest
  • docker pull fabiolb/fabio:1.5.15-go1.15.5

v1.5.14

3 years ago

Changelog

16b759d Release v1.5.14 68503e7 walk version back for make release d629d87 Merge pull request #785 from fabiolb/release/1.5.14 3e6149c Updating documentation for pending 1.5.14 release bbeb054 fix typo 371346a Merge pull request #787 from fabiolb/issue-768-matchingHostNoGlob a6c2549 Fixing issue #786 - matchingHostNoGlob sometimes returns incorrect host 205ad55 Merge pull request #784 from nathanejohnson/feature/httpstcpsni ffec71e https+tcp+sni listener support e8d6d82 Merge pull request #774 from 0xflotus/patch-1 ba04f7f Merge pull request #775 from josgraha/patch-1 3acec8a chore: fix typo in comments 538bac5 (docs): fixed small error c034d4f Feat: Pass encoded characters in path unchanged (#489) 1c9dc1d Preserve table state by storing buffer table in fixed strings. Fixes #737 (#749) 15565de Add HTTP method and path to trace span operation name (#715) 828d81f Issue 554 Added compiled glob matching using LRU Cache (#615) dfee47a Issue 558 - Add Polling Interval From Fabio to Consul to Fabio Config (#572) 70a8754 only deploy once per build (#747) b317248 switch to github pages for doc hosting (#746) cec07f5 Issue 647 NormalizeHost (#648) 73c6eef Added idleTimout to config and to serve.go HTTP server (#635) 13c6ab2 Deprecate deregisterCriticalServiceAfter option (#674) 483f415 Add missing entry to example route (#733) 2e79b5a Fix infinite buffering of SSE responses when gzip is enabled (#739) df63a7a always pull new image 2059151 minor transition updates (#745) 4425372 switch back to travis CI (#744) 235f01f fix date format in doc footer a67f88b make sure we capture both hosts 136b6f4 fix port b4ff0ae follow hugo best practices and use a dedicated webserver for static assets (#742) f4b19d9 more small documentation updates 9da7b1b update readme 619abba Documentation updates for project transition. (#740) 9c6c64a Handle context canceled errors + better http proxy error handling (#644) a6e750f minor fixups 2c22a77 fix tests after 626 3584cbb Issue 613 tcp dynamic (#626) 08b493a Update Changelog for v1.5.13

Docker images

  • docker pull fabiolb/fabio:latest
  • docker pull fabiolb/fabio:1.5.14-go1.15

v1.5.13

4 years ago

Changelog

e4df954 Release v1.5.13 93425c0 Prepare for release 1.5.13 c994068 Update Dockerfile to go1.13.4 493b024 Update CHANGELOG dc80d2c Merge pull request #720 from fabiolb/issue-719 2cca3ec fix nil-pointer dereference in detailed config log c5fdb87 Safely handle missing cert from Vault KV store (#710) 7f24c21 Use pipefail to make sure that all cmds run. Run brew checks 8d9d974 update README

Docker images

  • docker pull fabiolb/fabio:latest
  • docker pull fabiolb/fabio:1.5.13-go1.13.4
  • docker pull magiconair/fabio:latest
  • docker pull magiconair/fabio:1.5.13-go1.13.4

v1.5.12

4 years ago

Changelog

9683413 Release v1.5.12 069c5fc update goreleaser config c5888c6 Update CHANGELOG f7ddf31 Update Docker to go1.13.1, alpine3.10, modules, trimpath, latest consul and vault 5dbe08b modules are the new world order a7cbf0b manage vendor folder with modules 98ca641 Build fabio without CGO 8d252a1 upgrade consul and vault versions 93f3100 Cleanup vendor folder and modules 5081d66 Merge pull request #677 from jrasell/patch-1 5ba8c8b Add Vault example to the traffic shaping section. 8494d3f Fix matching priority for host:port tuples (#675) 91baae6 Fix docs for proxy.auth ea3a365 clean-up fabio service entries in Consul on dirty exit (#664) 9c92965 Merge pull request #669 from gfloyd/config-traceid-128bit 7970d11 Add config option to use 128 bit trace IDs 22fa963 Merge pull request #624 from fabiolb/issue-623-add-tracing 21ef16d Merge pull request #641 from fabiolb/628-route-table-header 3d328d4 Correct changelog 6629113 ui: Remove duplicate destination column 6c1cfa9 config: let registry.consul.register.addr default to ui.addr (#658) a778dc3 cert: fix redundant else if 146ec88 Merge pull request #620 from murphymj25/issue-523-vault-token-file 86dde1c Bundle UI assets (#643) 2982f38 Use go-sockaddr to parse proxy listeners, consul service address and the proxy local ip - fixes #652 (#653) 6862237 Implement Flusher in responseWriter wrapper (#655) b11536b use modules in docker also dad14b9 ensure absolute path after strip to maintain rfc complaince (#645) 9624632 fix small typo 848c27f ensure next is fully initialized before use - fixes #650 bdc0364 misc fixups for #629 65b31ca Fix Memory Leak in WatchBackend - fixes #595 efac452 fix typo in last commit and force modules via Makefile fae4efa use vendor directory when building - fixes #638 3d02439 fix exit status code (#637) 084f879 cleanup 7f0219b Update README 4538c40 Update README 446fbba Release v1.5.11 a1030ab upgrade go, consul and vault 7d3520c Prepare for release 1.5.11 ee93f75 Revert "Prepare for release 1.5.11" 6a3732a go mod tidy && go mod vendor f6ad1b8 added support for Consul TLS transport (#602) b23b1bf Improved basic auth htpasswd file refresh #604 (#610) 3ee105f Issue 611 Added Custom API Driven Back end (#614) b3fddb0 fixed issue with basic auth per #617 7a578dd added support for profile/tracing 3de70c7 wrong use function strings.HasPrefix - fixes #545 6869164 Implement basic auth htpasswd file refresh (#604) 39910b0 Merge pull request #606 from fabiolb/599-website-layout-without-js 35103f8 docs: fix layout without JS enabled dd9ef7d Proxy protocol on outbound tcp, tcp+sni and tcp with tls connection (#598) 0297494 Prepare for release 1.5.11 a0f543e Update CHANGELOG 9c1766f go mod tidy 2bf608b Merge pull request #587 from kneufeld/master 2f9acc4 Merge branch 'master' into master 18e5fca Merge pull request #588 from fabiolb/fix-xss a2122f6 ui: Fix XSS vulnerability 922eca9 make Dest column into clickable links 5fb4039 Merge pull request #573 from joyent-compute/http-basic-auth ed18acb go mod tidy after rebase ca6ea7d PR fixes 749d856 fixup vendored deps 2be187e add http-basic auth reading from a htpasswd file 53e653c vendoring in version 0849cea of github.com/tg123/go-htpasswd 01d7561 doc: fix version for grpc proxy 6f371e9 fast followers for #524 6a59319 fix small issue with grpc merge 179c6f8 Merge pull request #575 from joyent-compute/grpc-proxy 44c8df0 Update CHANGELOG 45b97ae Merge pull request #581 from fabiolb/issue-524-tcp-proxy 86abe1c simpler nil checks 99b5c19 allow toggling of proxy-protocol per listener - see #524 b1ef375 fix comment 2149a8f skip access checks when rules are not defined - see #524 0b951c2 return early with noroute.Inc when target is nil bf09fda return a proper grpc error when lookup fails 4caac25 add connection pooling for upstream grpc connections ec2f4b6 update changelog - fix formatting fb25172 update changelog 261a4a4 fix ip access rules within tcp proxy - fixes #576 (#577) 8705058 streamdirector context should inherit from passed in context 4d18669 unary interceptor isn't necessary d9a4344 add docs for grpc proxying aa01e11 set grpc.WithInsecure() when not using tls a9b29af update vendored deps b653e36 add metrics for grpc proxy eebb625 add comment for grpcservername override 5807777 append metadata to outgoing context 3dcc95f allow servername override for grpcs 850872e add grpc/grpcs proxy 1f3ad2e Merge pull request #574 from joyent-compute/circonus-submission-url 87f6813 remove duplicate line 5f829c0 docs: Adding the documentation for metrics.circonus.submissionurl e248942 metrics/circonus: Adding support for sending to a local circonus agent 02a2b1c deps: Bump the versions of circonus-gometrics and hashicorp-goretryablehttp 92c6115 update consul to v1.4.0 - fixes #569 (#571) b6d5441 Merge pull request #564 from fabiolb/issue-558 b498073 doc: document registry.consul.serviceMonitors 630a67e consul: fetch route updates concurrently b6621c6 consul: move build route command logic to separate object 9096f2a consul: refactor service monitor 44d6dec add faq to address #490 47a76f7 update CHANGELOG cba6849 Merge pull request #553 from herbrandson/master b44a9b3 Merge pull request #565 from fabiolb/update-go-mod-for-pr-472 4cc3523 gofmt a5ec881 update vendor dir 60cc0ff update go modules d63d7d4 update CHANGELOG 57c76db Merge pull request #472 from galen0624/opentrace 8e8a483 issue - 472 OpenTrace rebase line with release 1.5.10 bc31559 Merge pull request #537 from rkettelerij/patch-1 f109fb2 Merge pull request #563 from galen0624/issue-562-update-changelog f36bab4 issue 562 update change log glob.matching.disabled 4bb0c02 update github.com/circonus-labs/circonus-gometrics 972d851 Leaving a comment in iPrefixMatcher per PR comments 53b26b2 Renaming 'nocase' to 'iprefix' b77f9d9 Updates per PR comments. Also, modified noCaseMatcher to be a prefix match 9e1e189 Added new case insensitive matcher bc76b9e Delete duplicate page 2b462e8 Fix merge conflicts 49d37c0 Adds kr package and vendor update 9b69030 fixes tests that were failing when they should be passing 76e59ad Merge pull request #4 from austinhartzheim/add-tests bd1d500 Add default branch to collector creation. 9620fe8 Refactored init code to pass a pointer to cfg.Tracing. Also, enhanced code readability. bd0d37c Added test for CreateCollector. 7c3b838 Added tests for trace.InitializeTracer. 8675136 Added tests for trace.CreateSpan. 2e95e4b Add tests for the trace.Inject function. 628c3af Vendoring in multiple packages. Issue #429 1c17541 OpenTracing zipKin Support. Reference - Issue #429 6845629 OpenTracing zipKin Support. Reference - Issue #429

Docker images

  • docker pull fabiolb/fabio:latest
  • docker pull fabiolb/fabio:1.5.12-go1.13.1
  • docker pull magiconair/fabio:latest
  • docker pull magiconair/fabio:1.5.12-go1.13.1

v1.5.11

4 years ago

Breaking change

This release changes the default behavior of the PROXY protocol setting. It is now disabled by default. Please check https://github.com/fabiolb/fabio/blob/v1.5.11/CHANGELOG.md for details.

Changelog

Note

The last four commits were not pushed when the release tag was pushed and I have accidentally pushed them later when the commit history had already moved on. No code is affected, the tag is still OK. They refer to commits:

446fbba Release v1.5.11 a1030ab upgrade go, consul and vault 7d3520c Prepare for release 1.5.11 ee93f75 Revert "Prepare for release 1.5.11"

Original Commit Log

2084c84 Release v1.5.11 3012028 upgrade go, consul and vault eed370b Prepare for release 1.5.11 4876d54 Revert "Prepare for release 1.5.11" 0297494 Prepare for release 1.5.11 a0f543e Update CHANGELOG 9c1766f go mod tidy 2bf608b Merge pull request #587 from kneufeld/master 2f9acc4 Merge branch 'master' into master 18e5fca Merge pull request #588 from fabiolb/fix-xss a2122f6 ui: Fix XSS vulnerability 922eca9 make Dest column into clickable links 5fb4039 Merge pull request #573 from joyent-compute/http-basic-auth ed18acb go mod tidy after rebase ca6ea7d PR fixes 749d856 fixup vendored deps 2be187e add http-basic auth reading from a htpasswd file 53e653c vendoring in version 0849cea of github.com/tg123/go-htpasswd 01d7561 doc: fix version for grpc proxy 6f371e9 fast followers for #524 6a59319 fix small issue with grpc merge 179c6f8 Merge pull request #575 from joyent-compute/grpc-proxy 44c8df0 Update CHANGELOG 45b97ae Merge pull request #581 from fabiolb/issue-524-tcp-proxy 86abe1c simpler nil checks 99b5c19 allow toggling of proxy-protocol per listener - see #524 b1ef375 fix comment 2149a8f skip access checks when rules are not defined - see #524 0b951c2 return early with noroute.Inc when target is nil bf09fda return a proper grpc error when lookup fails 4caac25 add connection pooling for upstream grpc connections ec2f4b6 update changelog - fix formatting fb25172 update changelog 261a4a4 fix ip access rules within tcp proxy - fixes #576 (#577) 8705058 streamdirector context should inherit from passed in context 4d18669 unary interceptor isn't necessary d9a4344 add docs for grpc proxying aa01e11 set grpc.WithInsecure() when not using tls a9b29af update vendored deps b653e36 add metrics for grpc proxy eebb625 add comment for grpcservername override 5807777 append metadata to outgoing context 3dcc95f allow servername override for grpcs 850872e add grpc/grpcs proxy 1f3ad2e Merge pull request #574 from joyent-compute/circonus-submission-url 87f6813 remove duplicate line 5f829c0 docs: Adding the documentation for metrics.circonus.submissionurl e248942 metrics/circonus: Adding support for sending to a local circonus agent 02a2b1c deps: Bump the versions of circonus-gometrics and hashicorp-goretryablehttp 92c6115 update consul to v1.4.0 - fixes #569 (#571) b6d5441 Merge pull request #564 from fabiolb/issue-558 b498073 doc: document registry.consul.serviceMonitors 630a67e consul: fetch route updates concurrently b6621c6 consul: move build route command logic to separate object 9096f2a consul: refactor service monitor 44d6dec add faq to address #490 47a76f7 update CHANGELOG cba6849 Merge pull request #553 from herbrandson/master b44a9b3 Merge pull request #565 from fabiolb/update-go-mod-for-pr-472 4cc3523 gofmt a5ec881 update vendor dir 60cc0ff update go modules d63d7d4 update CHANGELOG 57c76db Merge pull request #472 from galen0624/opentrace 8e8a483 issue - 472 OpenTrace rebase line with release 1.5.10 bc31559 Merge pull request #537 from rkettelerij/patch-1 f109fb2 Merge pull request #563 from galen0624/issue-562-update-changelog f36bab4 issue 562 update change log glob.matching.disabled 4bb0c02 update github.com/circonus-labs/circonus-gometrics 972d851 Leaving a comment in iPrefixMatcher per PR comments 53b26b2 Renaming 'nocase' to 'iprefix' b77f9d9 Updates per PR comments. Also, modified noCaseMatcher to be a prefix match 9e1e189 Added new case insensitive matcher bc76b9e Delete duplicate page 2b462e8 Fix merge conflicts 49d37c0 Adds kr package and vendor update 9b69030 fixes tests that were failing when they should be passing 76e59ad Merge pull request #4 from austinhartzheim/add-tests bd1d500 Add default branch to collector creation. 9620fe8 Refactored init code to pass a pointer to cfg.Tracing. Also, enhanced code readability. bd0d37c Added test for CreateCollector. 7c3b838 Added tests for trace.InitializeTracer. 8675136 Added tests for trace.CreateSpan. 2e95e4b Add tests for the trace.Inject function. 628c3af Vendoring in multiple packages. Issue #429 1c17541 OpenTracing zipKin Support. Reference - Issue #429 6845629 OpenTracing zipKin Support. Reference - Issue #429

Docker images

  • docker pull fabiolb/fabio:latest
  • docker pull fabiolb/fabio:1.5.11-go1.11.5
  • docker pull magiconair/fabio:latest
  • docker pull magiconair/fabio:1.5.11-go1.11.5

v1.5.10

5 years ago

Changelog

83b0f60 Release v1.5.10 2014606 build: goreleaser can now create multiple Docker tags d1e47f6 build: update goreleaser config 4febb84 build: fix docker-test target af8ca29 revert version update in main.go b781c49 Prepare for release 1.5.10 4b961db Update CHANGELOG 2ae2c82 make Dockerfile more useful 3690f6d upgrade ci build to latest versions 5619989 Update CHANGELOG c57ea71 fix variable name d9b3cde Merge pull request #550 from galen0624/issue-548-select-glob-or-string-comp 8920153 go fmt of files da67268 updated test with CONST, var clean up 1eb2e36 added separate func for no glob matching ea75fb8 updated to pass in bool instead of config.Config to route package 1d1d761 Upgrade to go1.11 and consul/vault versions for testing 123054d Merge pull request #497 from classmarkets/vault-0.10-tests 0e122d0 fix compile error for #531 e811c52 Merge branch 'master' into vault-0.10-tests eda6cf4 Updated Docs for glob.matching.enabled 054be87 updated docs for glob.matching.enabled 2ac1992 Add setting to flush fabio buffer regardless headers (#531) 062a8ea Issue #548 added enable/disable glob matching 6d90015 update changelog c5087e0 Clarifications to access-control documentation d16e94b Correct the access control feature documentation page (#546) dc67d5a Add $host pseudo variable (#544) c730093 update changelog fe7f778 update changelog f3f6552 compare host using lowercase (#543) edca213 add missing dependency 58c9ff2 remove references to govendor and vendorfmt 58502ca create vendor folder from go.mod 270d7d2 switch to go mod d46a51c Update Dockerfile for testing 49ac5ae Fix test compile error dbadf8d Update go version for testing 484b9dc Revert "Merge branch 'fcgi-handler' of https://github.com/Gufran/fabio" f7b337d Update CHANGELOG 3a32d4e Update CHANGELOG 7b9ee7c Merge pull request #535 from galen0624/issue-530-update-metrics-mem-leak 26c555e Issue #530 - Updated Vendored github.com/rcrowley/go-metrics package to version - revision:e2704e165165ec55d062f5919b4b29494e9fa790 79d46e3 Replace github.com/magiconair/go-metrics-statsd with upstream lib again 499de54 Fix test compile 69dca19 Merge branch 'master' of github.com:fabiolb/fabio cb23ea4 Merge pull request #510 from kuskmen/patch-1 75336f7 Update README.md 0daf269 Merge branch 'fcgi-handler' of https://github.com/Gufran/fabio 8489b4e Merge pull request #495 from gua-pian/master 2b07882 Merge pull request #500 from xmikus01/patch-1 d928382 Update CHANGELOG 67ce2a2 Merge pull request #507 from fabiolb/issue-506 e566aaa Issue #506: reverse domain names before sorting c87a304 Merge branch 'master' into fcgi-handler 58a07d9 Fix changelog link in docs footer ac2a9a2 Fix Consul readines check 4281606 Make VaultSource compatible with KV Backend V2 4e76004 Delete an unused global variable logOutput d71d11c Add fastcgi handler 4cc9167 Forking ac865e8 of https://github.com/mholt/caddy/...

Docker images

  • docker pull fabiolb/fabio:latest
  • docker pull fabiolb/fabio:1.5.10-go1.11.1
  • docker pull magiconair/fabio:latest
  • docker pull magiconair/fabio:1.5.10-go1.11.1