Commit Graph
559 Commits
Author SHA1 Message Date
github-actions[bot]andGitHub 9c271cdd4c chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.122
2026-11-06 03:05:19 +00:00
github-actions[bot]andGitHub d3d0b3f7c2 chore(deps): update module github.com/avast/retry-go/v5 to v5.0.1
Automated dependency update. All tests passed.
v3.1.120
2026-11-05 03:05:21 +00:00
github-actions[bot]andGitHub e3066ad7f0 chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.118
2026-11-04 03:05:05 +00:00
github-actions[bot]andGitHub e138b44d00 chore(deps): update module go.yaml.in/yaml/v3 to v3.0.6
Automated dependency update. All tests passed.
v3.1.116
2026-11-03 03:05:12 +00:00
lukaszraczylo 3a6403c30b fix(ratelimit): bound memory and CPU per request
The sustained gate stored one entry for every attempt, denied ones too, and summed all entries on each request. A flood grew memory with rate times interval and made each request slower. Both gates now keep only the newest limit plus one attempt times. A Lean proof shows this decides the same as the full count. One check dropped from 29,502 ns and 11 allocations to 43 ns and none. The go-ratecounter dependency is gone.
v3.1.114
2026-11-03 00:55:35 +00:00
lukaszraczylo cff11f2b25 fix(redis): namespace cache keys when no prefix is set
With an empty prefix, Clear deleted every key in the Redis database, including keys of other applications. Cache keys now start with gmp: by default. Existing cache entries become unreachable after the upgrade and expire by TTL.
v3.1.112
2026-11-03 00:49:02 +00:00
lukaszraczylo 4c5d01aef3 fix(ws): gate the identity sent in connection_init
The upgrade request passed the ban and rate-limit checks on its own headers. The backend then acted as the identity in the connection_init payload. A banned user could connect without credentials and send their token in the payload. The proxy now runs the same checks on the payload identity.
v3.1.110
2026-11-03 00:34:18 +00:00
lukaszraczylo 6e7e2ecfae fix(events): refuse a retention below one day
A retention of zero or less moved the delete cutoff to now or later. The cleaner then deleted all event history. The cleaner now refuses to start and returns an error.
2026-11-03 00:31:53 +00:00
lukaszraczylo 3e187790f2 fix(health): stop startup wait at its timeout
The startup probe slept a full backoff step even when the deadline was closer. A 31 second timeout ended after about 41 seconds. The probe now sleeps no longer than the time left.
v3.1.106
2026-11-03 00:23:56 +00:00
lukaszraczylo ea30694dc9 fix(cache): enforce entry cap below ten in memory cache
The count-based eviction removed a tenth of the cap. For a cap under ten, that was zero entries, so the cache grew without limit. The cache now evicts at least one entry when it is full.
2026-11-03 00:19:35 +00:00
lukaszraczylo c128a0f4d9 fix(ratelimit): count Req per Interval, not per second
The sustained gate compared requests per second with Req, which is a count per Interval. An interval of one minute with req 10 allowed 600 requests. The gate now compares the count in the interval with Req. One-second intervals behave as before. A burst at or above req has no effect, because the sustained gate always binds first.
2026-11-03 00:07:57 +00:00
lukaszraczylo e2af5b079f fix(coalesce): copy the primary response body for waiters
Waiters read the primary response buffer while fasthttp could reuse it for another request. A waiter could then send the wrong body. The primary now gives waiters their own copy.
v3.1.100
2026-11-03 00:02:15 +00:00
lukaszraczylo 10d3946f1e fix(rps): stop dropping requests recorded during a sample
The sampler read the counter and then reset it in two steps. Requests recorded between the steps were lost. The sampler now swaps the counter to zero in one atomic step.
2026-11-03 00:00:24 +00:00
lukaszraczylo ab63f924a9 fix(retry): carry fractional tokens across refill ticks
The refill loop dropped the fractional part of each tick. At 15 tokens per second and 100 ms ticks, it added 10 tokens per second instead of 15. The clock now advances only by the time the added tokens pay for.
2026-11-02 23:57:46 +00:00
github-actions[bot]andGitHub a0a8283b52 chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.94
2026-11-02 03:04:09 +00:00
github-actions[bot]andGitHub cf4f2785e2 chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.92
2026-11-01 03:04:09 +00:00
github-actions[bot]andGitHub 6be1194ff7 chore(deps): update module github.com/gookit/goutil to v0.8.6
Automated dependency update. All tests passed.
v3.1.90
2026-10-31 03:04:59 +00:00
github-actions[bot]andGitHub 1dcff9d2e2 chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.88
2026-10-30 03:05:15 +00:00
github-actions[bot]andGitHub 523fc6222d chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.86
2026-10-29 03:04:49 +00:00
lukaszraczylo 9658f09521 fix(cache): count keys with SCAN not KEYS
CountQueries and CountQueriesWithPattern ran KEYS. With an empty
prefix, KEYS * builds a reply of every key on the server. The stats
endpoint calls it on each request. On a shared Dragonfly with about
1M keys, this raised memory on the server.

Count with a cursor SCAN instead. The count does not hold the key
list in memory. A test checks that no KEYS command is sent.
v3.1.84
2026-10-28 22:19:10 +00:00
github-actions[bot]andGitHub 8456860dbe chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.82
2026-10-27 03:06:19 +00:00
github-actions[bot]andGitHub 5fa78e0fe8 chore(deps): update module github.com/gofiber/contrib/v3/websocket to v1.2.9
Automated dependency update. All tests passed.
v3.1.80
2026-10-25 03:04:34 +00:00
github-actions[bot]andGitHub 54b83df04f chore(deps): update module github.com/gofiber/schema to v1.9.0
Automated dependency update. All tests passed.
v3.1.78
2026-10-23 03:05:32 +00:00
github-actions[bot]andGitHub 899f71f4aa chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.76
2026-10-21 03:05:20 +00:00
github-actions[bot]andGitHub 9ee213a018 chore(deps): update module github.com/philhofer/fwd to v1.2.1
Automated dependency update. All tests passed.
v3.1.74
2026-10-19 03:04:59 +00:00
github-actions[bot]andGitHub b37ce3361d chore(deps): update module github.com/gofiber/contrib/v3/websocket to v1.2.8
Automated dependency update. All tests passed.
v3.1.72
2026-10-18 03:05:31 +00:00
github-actions[bot]andGitHub a8901321aa chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.70
2026-10-17 03:05:01 +00:00
github-actions[bot]andGitHub 5febeabbf2 chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.68
2026-10-15 03:05:20 +00:00
github-actions[bot]andGitHub d32f8f2be5 chore(deps): update module github.com/molecule-man/go-brrr to v1.3.0
Automated dependency update. All tests passed.
v3.1.66
2026-10-14 03:05:03 +00:00
github-actions[bot]andGitHub 0e1d22f4e7 chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.64
2026-10-13 03:10:48 +00:00
github-actions[bot]andGitHub 7d3b77806a chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.62
2026-10-12 03:15:59 +00:00
github-actions[bot]andGitHub c2a9f6553f chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.60
2026-10-11 03:09:58 +00:00
github-actions[bot]andGitHub 1a6bc71114 chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.58
2026-10-10 03:09:24 +00:00
github-actions[bot]andGitHub e5295a6f56 chore(deps): update module github.com/mattn/go-colorable to v0.1.16
Automated dependency update. All tests passed.
v3.1.56
2026-10-09 03:09:16 +00:00
github-actions[bot]andGitHub e99647e346 chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.54
2026-10-08 03:08:47 +00:00
github-actions[bot]andGitHub 73962d0c9a chore(deps): update module github.com/molecule-man/go-brrr to v1.2.0
Automated dependency update. All tests passed.
v3.1.52
2026-10-06 03:05:56 +00:00
github-actions[bot]andGitHub b0c113f443 chore(deps): update dependencies
Automated dependency update. All tests passed.
v3.1.50
2026-10-04 10:56:46 +00:00
lukaszraczylo abb79535d1 fix(deps): update go-ratecounter to v0.1.13
Version 0.1.12 had a data race between addValue and cleanUpOldValues. The
race detector in CI reported it in the burst test. Version 0.1.13 copies
the pooled values and the race is gone.
v3.1.48
2026-10-04 11:52:14 +01:00
lukaszraczylo 4d87dee2c6 fix(deps): update sony/gobreaker to v2
The v2 module path is github.com/sony/gobreaker/v2 and the breaker is
generic. The code instantiates it with any, which matches the v1
Execute signature.
v3.1.46
2026-10-04 10:16:43 +01:00
lukaszraczylo 02780d942c fix(deps): update avast/retry-go to v5
The v5 API replaces retry.Do(fn, opts...) with retry.New(opts...).Do(fn).
The retry call in proxy.go uses the new form with the same options.
2026-10-04 10:15:21 +01:00
lukaszraczylo 67cc71bbf8 test(redis): paginate SCAN in the Clear failure test
miniredis 2.39 ignores the SCAN COUNT hint and returns every key in one
batch. The test now paginates SCAN in its own hook, so it no longer
depends on miniredis batching.
2026-10-04 10:14:04 +01:00
lukaszraczylo 9b70f5693a ci(deps): update dependencies with Renovate [skip ci] 2026-10-03 18:44:34 +01:00
lukaszraczyloandGitHub f93a0e2865 Update go.mod and go.sum (#103) v3.1.39 2026-10-03 04:14:32 +01:00
lukaszraczyloandGitHub 90a6b99bb3 Update go.mod and go.sum (#102) v3.1.37 2026-10-02 04:04:16 +01:00
lukaszraczyloandGitHub 503d09f479 Update go.mod and go.sum (#101) v3.1.35 2026-10-01 04:07:38 +01:00
lukaszraczyloandGitHub dc034fb0c7 Update go.mod and go.sum (#100) v3.1.33 2026-09-30 04:04:34 +01:00
lukaszraczyloandGitHub 6554da0d04 Update go.mod and go.sum (#99) v3.1.31 2026-09-29 04:03:21 +01:00
lukaszraczyloandGitHub 819a8e2315 Update go.mod and go.sum (#98) v3.1.29 2026-09-28 04:05:44 +01:00
lukaszraczyloandGitHub c41f7907dd fix: add HTTP backend readiness probes (#97) v3.1.27 2026-09-26 23:43:10 +01:00
lukaszraczyloandGitHub 85531966fe Update go.mod and go.sum (#96) v3.1.25 2026-09-26 04:03:07 +01:00