Features:
- support for redis sentinel(#632) -> thanks @kwitsch
- querylog: log instance hostname to distinguish log entries in multi-instance installation(#319) -> thanks @kwitsch
- querylog: define which information should be logged (#765)
- querylog: reduce bulk size in database writer (#733)
- bootstrap: support multiple upstreams (#760) -> thanks @ThinkChaos
- bootstrap: support IP only encrypted DNS -> thanks @ThinkChaos
- bootstrap: always prefetch upstream IPs to avoid stalling user queries -> thanks @ThinkChaos
- hostfile: allow hosts file resolver to use a HTTP(S) link or inline block (#884) -> thanks @ThinkChaos
- client name in clientGroupsBlock should not be case-sensitive (#894)
Misc
- Restructuring of configuration (#771) -> thanks @kwitsch
- reduce retry delay of the upstream resolver -> thanks @ThinkChaos
- Updated dependencies and documentation
- ignore end of line comments when parsing lists (#859) -> thanks @ThinkChaos
- code mirror on codeberg.org
- e2e integration tests
Bugfix
- ede: fix runtime panic (#778) -> thanks @ThinkChaos
- 'startVerifyUpstream' not disabling all start checks -> thanks @ThinkChaos
- crash when using client upstream (#791)
- no initial cache refresh with "fast" start strategy (#804)
- bootstrap: connectIPVersion not being respected for upstream connections
- query command doesn't show the client IP (#861)
- wrong prefetch metrics if bootstrap is enabled (#891)
Changelog
- fac872b: @0xERR0R chore(docs): minor changes (@0xERR0R)
- 9abeaed: Added gofumpt (#805) (@kwitsch)
- 9be0d64: CONFIG_FILE -> BLOCKY_CONFIG_FILE (#784) (@suhaibmalik)
- b73cd3b: Config restructuring (#771) (@kwitsch)
- 641cf3d: Fb badge fix (#874) (@kwitsch)
- a04a418: Fix docs for connectIPVersion param (@tmuellerleile)
- 12ebe2a: Merge branch 'development' (@0xERR0R)
- 53a7d4f: Test refactoring (#798) (@0xERR0R)
- 101e2c5: Workflow changes (#857) (@kwitsch)
- ebad2d1: build(deps): bump actions/setup-go from 3 to 4 (#936) (@dependabot[bot])
- 30086dc: build(deps): bump actions/stale from 6 to 7 (#809) (@dependabot[bot])
- 7af43da: build(deps): bump actions/stale from 7 to 8 (#949) (@dependabot[bot])
- 6e69d46: build(deps): bump docker/build-push-action from 3 to 4 (#856) (@dependabot[bot])
- 7874fbe: build(deps): bump github.com/abice/go-enum from 0.5.3 to 0.5.4 (#810) (@dependabot[bot])
- de013ad: build(deps): bump github.com/abice/go-enum from 0.5.4 to 0.5.5 (#852) (@dependabot[bot])
- 08691c6: build(deps): bump github.com/alicebob/miniredis/v2 from 2.23.1 to 2.30.0 (#825) (@dependabot[bot])
- fe58a34: build(deps): bump github.com/alicebob/miniredis/v2 from 2.30.0 to 2.30.1 (#918) (@dependabot[bot])
- 0d63ca3: build(deps): bump github.com/avast/retry-go/v4 from 4.3.0 to 4.3.1 (@dependabot[bot])
- 8fccd68: build(deps): bump github.com/avast/retry-go/v4 from 4.3.1 to 4.3.2 (#815) (@dependabot[bot])
- de37e19: build(deps): bump github.com/avast/retry-go/v4 from 4.3.2 to 4.3.3 (#870) (@dependabot[bot])
- e9626f9: build(deps): bump github.com/containerd/containerd from 1.6.12 to 1.6.18 (#881) (@dependabot[bot])
- 1dead3a: build(deps): bump github.com/go-chi/chi/v5 from 5.0.7 to 5.0.8 (#789) (@dependabot[bot])
- 7dff06c: build(deps): bump github.com/miekg/dns from 1.1.50 to 1.1.51 (#900) (@dependabot[bot])
- 50b0c39: build(deps): bump github.com/miekg/dns from 1.1.51 to 1.1.52 (#923) (@dependabot[bot])
- 5bd5c06: build(deps): bump github.com/mroth/weightedrand from 0.4.1 to 1.0.0 (@dependabot[bot])
- 9d890bb: build(deps): bump github.com/onsi/ginkgo/v2 from 2.5.0 to 2.5.1 (@dependabot[bot])
- a44e496: build(deps): bump github.com/onsi/ginkgo/v2 from 2.5.1 to 2.6.0 (#796) (@dependabot[bot])
- 4cc27f3: build(deps): bump github.com/onsi/ginkgo/v2 from 2.6.0 to 2.6.1 (#802) (@dependabot[bot])
- de58a72: build(deps): bump github.com/onsi/ginkgo/v2 from 2.6.1 to 2.7.0 (#826) (@dependabot[bot])
- 4ece578: build(deps): bump github.com/onsi/ginkgo/v2 from 2.7.0 to 2.8.0 (#855) (@dependabot[bot])
- c95a9c9: build(deps): bump github.com/onsi/ginkgo/v2 from 2.8.0 to 2.8.1 (#878) (@dependabot[bot])
- d64b399: build(deps): bump github.com/onsi/ginkgo/v2 from 2.8.1 to 2.8.3 (#889) (@dependabot[bot])
- 4ff9591: build(deps): bump github.com/onsi/ginkgo/v2 from 2.8.3 to 2.8.4 (#903) (@dependabot[bot])
- 9f58c4b: build(deps): bump github.com/onsi/ginkgo/v2 from 2.8.4 to 2.9.0 (#911) (@dependabot[bot])
- e814eb5: build(deps): bump github.com/onsi/ginkgo/v2 from 2.9.0 to 2.9.1 (#925) (@dependabot[bot])
- ef0bb78: build(deps): bump github.com/onsi/ginkgo/v2 from 2.9.1 to 2.9.2 (#947) (@dependabot[bot])
- c7f12cf: build(deps): bump github.com/onsi/gomega from 1.24.1 to 1.24.2 (#801) (@dependabot[bot])
- fb00905: build(deps): bump github.com/onsi/gomega from 1.24.2 to 1.25.0 (#831) (@dependabot[bot])
- 638533d: build(deps): bump github.com/onsi/gomega from 1.25.0 to 1.26.0 (#843) (@dependabot[bot])
- 4ab198b: build(deps): bump github.com/onsi/gomega from 1.26.0 to 1.27.0 (#883) (@dependabot[bot])
- 0029872: build(deps): bump github.com/onsi/gomega from 1.27.0 to 1.27.1 (#887) (@dependabot[bot])
- 6f79af7: build(deps): bump github.com/onsi/gomega from 1.27.1 to 1.27.2 (#904) (@dependabot[bot])
- ee80208: build(deps): bump github.com/onsi/gomega from 1.27.2 to 1.27.3 (#926) (@dependabot[bot])
- 2e0b6e4: build(deps): bump github.com/onsi/gomega from 1.27.3 to 1.27.4 (#927) (@dependabot[bot])
- c74a277: build(deps): bump github.com/onsi/gomega from 1.27.4 to 1.27.5 (#948) (@dependabot[bot])
- 3315873: build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#899) (@dependabot[bot])
- f761ad1: build(deps): bump github.com/swaggo/swag from 1.8.10 to 1.8.11 (#946) (@dependabot[bot])
- 9ae009c: build(deps): bump github.com/swaggo/swag from 1.8.7 to 1.8.8 (@dependabot[bot])
- e754372: build(deps): bump github.com/swaggo/swag from 1.8.8 to 1.8.9 (#803) (@dependabot[bot])
- 23deb3c: build(deps): bump github.com/swaggo/swag from 1.8.9 to 1.8.10 (#848) (@dependabot[bot])
- d4af829: build(deps): bump github.com/testcontainers/testcontainers-go (#882) (@dependabot[bot])
- bacb443: build(deps): bump github.com/testcontainers/testcontainers-go (#917) (@dependabot[bot])
- e08e609: build(deps): bump golang.org/x/net from 0.2.0 to 0.4.0 (#790) (@dependabot[bot])
- a02c10d: build(deps): bump golang.org/x/net from 0.4.0 to 0.5.0 (#818) (@dependabot[bot])
- 7f5f98d: build(deps): bump golang.org/x/net from 0.5.0 to 0.6.0 (#871) (@dependabot[bot])
- 162741b: build(deps): bump golang.org/x/net from 0.6.0 to 0.7.0 (#880) (@dependabot[bot])
- 238c48b: build(deps): bump golang.org/x/net from 0.7.0 to 0.8.0 (#912) (@dependabot[bot])
- 8b137bb: build(deps): bump goreleaser/goreleaser-action from 3 to 4 (#800) (@dependabot[bot])
- c8058e3: build(deps): bump gorm.io/driver/mysql from 1.4.3 to 1.4.4 (@dependabot[bot])
- a6a7e46: build(deps): bump gorm.io/driver/mysql from 1.4.4 to 1.4.5 (#814) (@dependabot[bot])
- 30afdef: build(deps): bump gorm.io/driver/mysql from 1.4.5 to 1.4.6 (#868) (@dependabot[bot])
- a561191: build(deps): bump gorm.io/driver/mysql from 1.4.6 to 1.4.7 (#888) (@dependabot[bot])
- 170e9a3: build(deps): bump gorm.io/driver/postgres from 1.4.5 to 1.4.6 (#812) (@dependabot[bot])
- 583aa9e: build(deps): bump gorm.io/driver/postgres from 1.4.6 to 1.4.7 (#869) (@dependabot[bot])
- f172874: build(deps): bump gorm.io/driver/postgres from 1.4.7 to 1.4.8 (#890) (@dependabot[bot])
- e002f04: build(deps): bump gorm.io/driver/postgres from 1.4.8 to 1.5.0 (#924) (@dependabot[bot])
- 07544f9: build(deps): bump gorm.io/driver/sqlite from 1.4.3 to 1.4.4 (#813) (@dependabot[bot])
- 1f2e1a0: build(deps): bump gorm.io/gorm from 1.24.2 to 1.24.3 (#819) (@dependabot[bot])
- 544d530: build(deps): bump gorm.io/gorm from 1.24.3 to 1.24.5 (#865) (@dependabot[bot])
- 0f9f937: build(deps): bump gorm.io/gorm from 1.24.5 to 1.24.6 (#908) (@dependabot[bot])
- 61cc9eb: build(deps): bump magnetikonline/action-golang-cache from 3 to 4 (#919) (@dependabot[bot])
- d61d963: build(deps): update github.com/creasty/defaults (#929) (@0xERR0R)
- fb0810f: build(tests): e2e integration tests with docker and testcontainers (#753) (@0xERR0R)
- f78a57a: chore(build): add additional linters (#774) (@0xERR0R)
- b4fc272: chore(build): change docker authentication to access token (@0xERR0R)
- 797d71d: chore(build): disable deprecated linters (#767) (@0xERR0R)
- 88de7c1: chore(build): don't build images for feature branches (@0xERR0R)
- f3d96ab: chore(build): exclude e2e dir from codecov report (@0xERR0R)
- 0ab43da: chore(build): fix deprecated configuration (#817) (@0xERR0R)
- 8fdcb6e: chore(build): install mkdocs-material (@0xERR0R)
- 2d8bc47: chore(build): run mirror job only on main branch (@0xERR0R)
- d6dd2ed: chore(build): set master as default branch (#744) (@0xERR0R)
- 0e4d8a3: chore(build): update Go to 1.20 (#937) (@0xERR0R)
- 8e70b8a: chore(build): update golangci-lint (#931) (@0xERR0R)
- b44e414: chore(build): update weightedrand to v2 (#934) (@0xERR0R)
- a37861b: chore(build): use v prefixed release versions (#858, #806) (#942) (@0xERR0R)
- 7331e29: chore(deps): remove obsolete replace for testcontainers (#935) (@0xERR0R)
- d1988a4: chore(deps): update opencontainers (CVE-2019-19921) (#943) (@0xERR0R)
- 2b0c377: chore(docs): minor format changes, typos (@0xERR0R)
- e482eb4: chore(docs): use docs versioning (@0xERR0R)
- c199750: chore(log): always report group name when cache populating failed. (#875) (@shizunge)
- 32d0014: chore(test): exclude mocks from code coverage report (@0xERR0R)
- db1e2fd: chore(test): fix freezing test (#932) (@0xERR0R)
- 5a9da90: chore(test): increase timeout (#820) (@0xERR0R)
- ebe3805: disable docs workflow on forks (#939) (@kwitsch)
- e47a8b7: feat(bootstrap): support IP only encrypted DNS (@ThinkChaos)
- a794599: feat(bootstrap): support multiple upstreams (@ThinkChaos)
- d4813a6: feat(queryLog): log instance hostname to distinguish log entries in multi-instance installation(#319) (#756) (@kwitsch)
- 2b49c20: feat(querylog): define which information should be logged (#765) (#766) (@0xERR0R)
- c19d4bd: feat: Support for redis sentinel(#632) (@kwitsch)
- 7da4724: feat: add cache entire DNS response (#833) (#909) (@0xERR0R)
- de9acd3: feat: add upstream string to resolve error (#902) (@ThinkChaos)
- a2ab7c3: feat: allow hosts file resolver to use a HTTP(S) link or inline block (#884) (@ThinkChaos)
- 63f6500: feat: always prefetch upstream IPs to avoid stalling user queries (@ThinkChaos)
- 120e32c: feat: client name in clientGroupsBlock should not be case-sensitive (#894) (#913) (@0xERR0R)
- d2ca5a4: feat: reduce bulk size in database writer (#733) (#762) (@0xERR0R)
- 7c76836: feat: stack log prefixes to differentiate between log emitters (@ThinkChaos)
- add591c: fix(ede-resolver): don't panic when next resolver errors (#778) (@ThinkChaos)
- 87779d5: fix(resolver): crash when using client upstream (#791) (#793) (@0xERR0R)
- 4f01d01: fix(resolver): query log creation cooldown not being fixed (@ThinkChaos)
- 164e398: fix(resolver): upstream long retry delay (@ThinkChaos)
- 2cb826d: fix:
connectIPVersion
not being respected for upstream connections (@ThinkChaos) - c06c017: fix:
startVerifyUpstream
not disabling all start checks (@ThinkChaos) - 6548d15: fix: ignore end of line comments when parsing lists (@ThinkChaos)
- 3c40ce5: fix: no initial cache refresh with "fast" start strategy (#804) (@0xERR0R)
- bcea1a9: fix: query command doesn't show the client IP (#861) (#914) (@0xERR0R)
- f2e4886: fix: wrong prefetch metrics if bootstrap is enabled (#891) (#915) (@0xERR0R)
- 7fa7e2e: refactor(resolver): only build mocks during tests (@ThinkChaos)
- 0157f4c: refactor: add generics to ExpiringCache (#933) (@0xERR0R)
- 5088c75: refactor: configuration rework (usage and printing) (#920) (@ThinkChaos)
- 36160e9: refactor: don't use a regex to check a string cache entry is a regex (@ThinkChaos)
- d501d86: style(resolver): standardize configuration disabled impls and tests (@ThinkChaos)
- 45d96a2: style: fix lint (#781) (@ThinkChaos)
- 012c8d4: test(bootstrap): add connectIPVersion tests for HTTP Transport (@ThinkChaos)
- 65137b4: test(bootstrap): add test case (@0xERR0R)
- 4ad7670: test(e2e): added more
startVerifyUpstream
tests (@0xERR0R)