v0.1.0
Changelog
Features
- 685c43f: feat(bulkhead): Waiting/QueueDepth/WaitStats saturation metrics (sanskarpan sanskarpandey2004@gmail.com)
- 178ee90: feat(bulkhead): add bulkhead.go (sanskarpan sanskarpandey2004@gmail.com)
- 4252b82: feat(bulkhead): add threadpool.go (sanskarpan sanskarpandey2004@gmail.com)
- 6bb614e: feat(bulkhead): thread-pool Pending/Busy/Capacity accessors (sanskarpan sanskarpandey2004@gmail.com)
- 6305226: feat(bulkhead): wire metric.Recorder into bulkhead.go (sanskarpan sanskarpandey2004@gmail.com)
- 590e917: feat(charts): resilience-demo Helm chart (sanskarpan sanskarpandey2004@gmail.com)
- bba4339: feat(charts): templates/NOTES.txt (sanskarpan sanskarpandey2004@gmail.com)
- 18260f8: feat(charts): templates/_helpers.tpl (sanskarpan sanskarpandey2004@gmail.com)
- e774375: feat(charts): templates/configmap.yaml (sanskarpan sanskarpandey2004@gmail.com)
- ca76d8d: feat(charts): templates/deployment.yaml (sanskarpan sanskarpandey2004@gmail.com)
- 38bf058: feat(charts): templates/hpa.yaml (sanskarpan sanskarpandey2004@gmail.com)
- ef6290e: feat(charts): templates/pdb.yaml (sanskarpan sanskarpandey2004@gmail.com)
- 50f36e3: feat(charts): templates/secret.yaml (sanskarpan sanskarpandey2004@gmail.com)
- ffc6cd0: feat(charts): templates/service.yaml (sanskarpan sanskarpandey2004@gmail.com)
- 98a49cf: feat(charts): templates/serviceaccount.yaml (sanskarpan sanskarpandey2004@gmail.com)
- ffff0dd: feat(charts): values.yaml (sanskarpan sanskarpandey2004@gmail.com)
- be29023: feat(circuitbreaker): add circuitbreaker.go (sanskarpan sanskarpandey2004@gmail.com)
- 9b980aa: feat(circuitbreaker): add config.go (sanskarpan sanskarpandey2004@gmail.com)
- 2d27ae2: feat(circuitbreaker): add errors.go (sanskarpan sanskarpandey2004@gmail.com)
- a70113d: feat(circuitbreaker): add metrics.go (sanskarpan sanskarpandey2004@gmail.com)
- 03b30f2: feat(circuitbreaker): add registry.go (sanskarpan sanskarpandey2004@gmail.com)
- 62a2e8c: feat(circuitbreaker): add state.go (sanskarpan sanskarpandey2004@gmail.com)
- f5e62ac: feat(circuitbreaker): distributed (Redis shared-state) circuit breaker (sanskarpan sanskarpandey2004@gmail.com)
- 0aba335: feat(circuitbreaker): wire metric.Recorder into circuitbreaker.go (sanskarpan sanskarpandey2004@gmail.com)
- 8741e19: feat(circuitbreaker): wire metric.Recorder into config.go (sanskarpan sanskarpandey2004@gmail.com)
- bcd0c17: feat(concurrency): concurrency.go — adaptive concurrency limiter (AIMD/Gradient2/Vegas) (sanskarpan sanskarpandey2004@gmail.com)
- 0df1911: feat(concurrency): config.go — adaptive concurrency limiter (AIMD/Gradient2/Vegas) (sanskarpan sanskarpandey2004@gmail.com)
- e2ea1f9: feat(concurrency): strategy.go — adaptive concurrency limiter (AIMD/Gradient2/Vegas) (sanskarpan sanskarpandey2004@gmail.com)
- c66a990: feat(contrib): nested module for framework middleware adapters (sanskarpan sanskarpandey2004@gmail.com)
- acd53d8: feat(fallback): Cached[T] — cache-aside / stale-while-error with single-flight (sanskarpan sanskarpandey2004@gmail.com)
- d4e8747: feat(fallback): Static/StaticErr default-value fallbacks (sanskarpan sanskarpandey2004@gmail.com)
- aa8d901: feat(fallback): add fallback.go (sanskarpan sanskarpandey2004@gmail.com)
- 95feb21: feat(frontend): add .gitignore (sanskarpan sanskarpandey2004@gmail.com)
- 9896920: feat(frontend): add Dockerfile.frontend (sanskarpan sanskarpandey2004@gmail.com)
- 9d081d4: feat(loadshed): loadshed.go — CoDel priority-aware load shedder (sanskarpan sanskarpandey2004@gmail.com)
- 952f9b7: feat(metric): add zero-dependency Recorder interface (sanskarpan sanskarpandey2004@gmail.com)
- 704f3cd: feat(pipeline): add LoadShed admission stage + ErrLoadShed (sanskarpan sanskarpandey2004@gmail.com)
- 7ca627c: feat(pipeline): add RetryWithBudget stage (sanskarpan sanskarpandey2004@gmail.com)
- 33a9d79: feat(pipeline): add adaptive Concurrency stage (bulkhead→concurrency→timeout) (sanskarpan sanskarpandey2004@gmail.com)
- 13466a5: feat(pipeline): add pipeline.go (sanskarpan sanskarpandey2004@gmail.com)
- 64f73cd: feat(ratelimit): add errors.go (sanskarpan sanskarpandey2004@gmail.com)
- 193655f: feat(ratelimit): add limiter.go (sanskarpan sanskarpandey2004@gmail.com)
- 7888486: feat(release): goreleaser config (multi-arch, SBOM, cosign, Docker manifests) (sanskarpan sanskarpandey2004@gmail.com)
- 5c375ba: feat(release): minimal Dockerfile.goreleaser wrapping the pre-built binary (sanskarpan sanskarpandey2004@gmail.com)
- a424519: feat(repo): add LICENSE (sanskarpan sanskarpandey2004@gmail.com)
- 4053794: feat(retry): add Budget (retry-storm guard, token bucket over retries) (sanskarpan sanskarpandey2004@gmail.com)
- 6e93611: feat(retry): add WithBudget option; gate extra attempts on the budget (sanskarpan sanskarpandey2004@gmail.com)
- 6d96c26: feat(retry): add retry.go (sanskarpan sanskarpandey2004@gmail.com)
- 9699529: feat(server): add cb-execute bulkhead with recorder (sanskarpan sanskarpandey2004@gmail.com)
- 10276ed: feat(server): add main.go (sanskarpan sanskarpandey2004@gmail.com)
- 24ac41f: feat(server): wire OTel provider + metrics recorder into the demo server (sanskarpan sanskarpandey2004@gmail.com)
- 857ff1e: feat(timeout): add timeout.go (sanskarpan sanskarpandey2004@gmail.com)
Bug fixes
- 411f8ad: fix(ci): strip v-prefix when resolving pushed image digest for attestation (sanskarpan sanskarpandey2004@gmail.com)
- 13b3074: fix(docker): bump builder to golang:1.25-alpine (module requires go 1.25) (sanskarpan sanskarpandey2004@gmail.com)
- e96cf5e: fix(release): single cosign signs block (avoid duplicate checksums signature) (sanskarpan sanskarpandey2004@gmail.com)
- 4f31344: fix(release): use Dockerfile.goreleaser for the container image build (sanskarpan sanskarpandey2004@gmail.com)
- 8713afd: fix(server): stop the WebSocket hub on graceful shutdown (F-2) (sanskarpan sanskarpandey2004@gmail.com)
Others
- 86fa456: chore(.github/workflows): add ci.yml (sanskarpan sanskarpandey2004@gmail.com)
- 432547a: chore(.github/workflows): add release.yml (sanskarpan sanskarpandey2004@gmail.com)
- 853101d: chore(ci): bump actions/setup-node in the github-actions group (dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>)
- b750e1c: chore(ci): bump the github-actions group with 7 updates (dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>)
- 8bad579: chore(deploy/grafana/dashboards): add resilience.json (sanskarpan sanskarpandey2004@gmail.com)
- 3f0557a: chore(deploy/grafana/provisioning/dashboards): add dashboards.yaml (sanskarpan sanskarpandey2004@gmail.com)
- 37cbafd: chore(deploy/grafana/provisioning/datasources): add prometheus.yaml (sanskarpan sanskarpandey2004@gmail.com)
- 5fd6c7a: chore(deploy/kubernetes): add configmap.yaml (sanskarpan sanskarpandey2004@gmail.com)
- 409f65c: chore(deploy/kubernetes): add deployment.yaml (sanskarpan sanskarpandey2004@gmail.com)
- 4157577: chore(deploy/kubernetes): add hpa.yaml (sanskarpan sanskarpandey2004@gmail.com)
- 6978a24: chore(deploy/kubernetes): add pdb.yaml (sanskarpan sanskarpandey2004@gmail.com)
- 17d9b97: chore(deploy/kubernetes): add service.yaml (sanskarpan sanskarpandey2004@gmail.com)
- dc88d87: chore(deploy/prometheus): add prometheus.yml (sanskarpan sanskarpandey2004@gmail.com)
- d4a05ca: chore(deps): add pgregory.net/rapid (test-only) — go.mod (sanskarpan sanskarpandey2004@gmail.com)
- 5670f5e: chore(deps): add pgregory.net/rapid (test-only) — go.sum (sanskarpan sanskarpandey2004@gmail.com)
- aa73a13: chore(deps): bump the npm-production group across 1 directory with 14 updates (dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>)
- 6b6a00e: chore(deps): go.mod — add OpenTelemetry SDK; raise Go floor to 1.25 (sanskarpan sanskarpandey2004@gmail.com)
- 8aed35a: chore(deps): go.sum — add OpenTelemetry SDK; raise Go floor to 1.25 (sanskarpan sanskarpandey2004@gmail.com)
- 9e9b0a4: chore(deps-dev): bump the npm-development group (dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>)
- 9c41ee3: chore(fallback): annotate G118 false-positive (sanskarpan sanskarpandey2004@gmail.com)
- 6242c1e: chore(frontend): add eslint.config.mjs (sanskarpan sanskarpandey2004@gmail.com)
- 6a3256b: chore(frontend): add next.config.ts (sanskarpan sanskarpandey2004@gmail.com)
- 17691f8: chore(frontend): add package-lock.json (sanskarpan sanskarpandey2004@gmail.com)
- 7dc8d02: chore(frontend): add package.json (sanskarpan sanskarpandey2004@gmail.com)
- 0a10b71: chore(frontend): add playwright.config.ts (sanskarpan sanskarpandey2004@gmail.com)
- bfe7c48: chore(frontend): add postcss.config.mjs (sanskarpan sanskarpandey2004@gmail.com)
- 5796b7b: chore(frontend): add tsconfig.json (sanskarpan sanskarpandey2004@gmail.com)
- 066024e: chore(frontend): allow committing .env.example (sanskarpan sanskarpandey2004@gmail.com)
- 08290f3: chore(github): add Dependabot for gomod + npm (sanskarpan sanskarpandey2004@gmail.com)
- 6ee3b45: chore(github): add PULL_REQUEST_TEMPLATE.md (sanskarpan sanskarpandey2004@gmail.com)
- 51dfa17: chore(github): add bug_report.yml (sanskarpan sanskarpandey2004@gmail.com)
- 989e20d: chore(github): add config.yml (sanskarpan sanskarpandey2004@gmail.com)
- 7b0cd78: chore(github): add feature_request.yml (sanskarpan sanskarpandey2004@gmail.com)
- 541fdeb: chore(github): ignore breaking Dependabot majors (typescript, eslint, @types/node) (sanskarpan sanskarpandey2004@gmail.com)
- 0744d59: chore(lint): bump analysis Go version to 1.25 (sanskarpan sanskarpandey2004@gmail.com)
- f5287d3: chore(lint): enable gosec + revive + depguard (sanskarpan sanskarpandey2004@gmail.com)
- 6ee3327: chore(lint): migrate golangci-lint config to v2 schema and exclude examples dir (sanskarpan sanskarpandey2004@gmail.com)
- 8cec132: chore(make): add test-contrib target (sanskarpan sanskarpandey2004@gmail.com)
- 095d8f5: chore(make): add vuln and test-e2e targets (sanskarpan sanskarpandey2004@gmail.com)
- 2a11da6: chore(make): bench-ci/bench-stat targets; guard loadshed/concurrency/metric zero-dep (sanskarpan sanskarpandey2004@gmail.com)
- ae8b403: chore(repo): add .golangci.yml (sanskarpan sanskarpandey2004@gmail.com)
- 283d107: chore(repo): add Dockerfile (sanskarpan sanskarpandey2004@gmail.com)
- 25bf3ce: chore(repo): add Makefile (sanskarpan sanskarpandey2004@gmail.com)
- a0923cd: chore(repo): add docker-compose.yml (sanskarpan sanskarpandey2004@gmail.com)
- 2f8a100: chore(repo): add go.mod (sanskarpan sanskarpandey2004@gmail.com)
- 9e32dcd: chore(repo): add go.sum (sanskarpan sanskarpandey2004@gmail.com)
- 2752cfa: docs(cookbook): adaptive-concurrency-loadshed.md (sanskarpan sanskarpandey2004@gmail.com)
- df33875: docs(cookbook): cost-weighted-limiting.md (sanskarpan sanskarpandey2004@gmail.com)
- 66d7077: docs(cookbook): distributed-redis-failopen.md (sanskarpan sanskarpandey2004@gmail.com)
- ea365ea: docs(cookbook): flaky-downstream-cb-retry-hedge.md (sanskarpan sanskarpandey2004@gmail.com)
- 8cea4d9: docs(cookbook): index.md (sanskarpan sanskarpandey2004@gmail.com)
- 18031bb: docs(cookbook): observability-prometheus-otel.md (sanskarpan sanskarpandey2004@gmail.com)
- 5a2fc18: docs(cookbook): per-tenant-quotas.md (sanskarpan sanskarpandey2004@gmail.com)
- a88da66: docs(cookbook): ratelimit-per-ip-frameworks.md (sanskarpan sanskarpandey2004@gmail.com)
- 570f297: docs(docs): add algorithms.md (sanskarpan sanskarpandey2004@gmail.com)
- d128929: docs(docs): add comparison.md (sanskarpan sanskarpandey2004@gmail.com)
- 17ca3cd: docs(docs): add distributed.md (sanskarpan sanskarpandey2004@gmail.com)
- 63ea7f2: docs(frontend): add README.md (sanskarpan sanskarpandey2004@gmail.com)
- ff1c04a: docs(frontend): add committed .env.example (sanskarpan sanskarpandey2004@gmail.com)
- 5b838c7: docs(frontend): production README (sanskarpan sanskarpandey2004@gmail.com)
- a2e2d31: docs(repo): add ADVERSARIAL_AUDIT.md (sanskarpan sanskarpandey2004@gmail.com)
- 6311fe8: docs(repo): add AUDIT_REPORT.md (sanskarpan sanskarpandey2004@gmail.com)
- 36a2260: docs(repo): add CHANGELOG.md (sanskarpan sanskarpandey2004@gmail.com)
- 13b66b1: docs(repo): add ISSUES.md (sanskarpan sanskarpandey2004@gmail.com)
- 5c60ea5: docs(repo): add README.md (sanskarpan sanskarpandey2004@gmail.com)
- aa6054b: docs(repo): add SPEC.md (sanskarpan sanskarpandey2004@gmail.com)
- a0d0c33: docs(repo): add Tickets.md (sanskarpan sanskarpandey2004@gmail.com)
- dd46e05: feat(circuitbreaker/middleware): add grpc.go (sanskarpan sanskarpandey2004@gmail.com)
- 5e80454: feat(circuitbreaker/middleware): add http.go (sanskarpan sanskarpandey2004@gmail.com)
- f302c0a: feat(contrib/chimw): rate-limit middleware adapter (sanskarpan sanskarpandey2004@gmail.com)
- ff503fe: feat(contrib/connectmw): rate-limit middleware adapter (sanskarpan sanskarpandey2004@gmail.com)
- 55a716a: feat(contrib/echomw): rate-limit middleware adapter (sanskarpan sanskarpandey2004@gmail.com)
- 654af1c: feat(contrib/fibermw): rate-limit middleware adapter (sanskarpan sanskarpandey2004@gmail.com)
- 05c186b: feat(contrib/ginmw): rate-limit middleware adapter (sanskarpan sanskarpandey2004@gmail.com)
- d5f845c: feat(examples/distributed): add main.go (sanskarpan sanskarpandey2004@gmail.com)
- b843bc1: feat(examples/grpc-server): add main.go (sanskarpan sanskarpandey2004@gmail.com)
- 2c64c08: feat(examples/http-server): add main.go (sanskarpan sanskarpandey2004@gmail.com)
- 809cffd: feat(examples/pipeline): add main.go (sanskarpan sanskarpandey2004@gmail.com)
- 9ba4a28: feat(frontend/app): add favicon.ico (sanskarpan sanskarpandey2004@gmail.com)
- 73bc444: feat(frontend/app): add globals.css (sanskarpan sanskarpandey2004@gmail.com)
- 498290c: feat(frontend/app): add layout.tsx (sanskarpan sanskarpandey2004@gmail.com)
- fbe7a3b: feat(frontend/app): add loading.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 3cee92c: feat(frontend/app): add page.tsx (sanskarpan sanskarpandey2004@gmail.com)
- b70174d: feat(frontend/app/algorithms/[algo]): add loading.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 4c3e8a7: feat(frontend/app/algorithms/[algo]): add page.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 9d29a6c: feat(frontend/app/algorithms/compare): add page.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 5c5834f: feat(frontend/app/circuit-breaker): add loading.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 90ba9e8: feat(frontend/app/circuit-breaker): add page.tsx (sanskarpan sanskarpandey2004@gmail.com)
- c61e075: feat(frontend/app/docs): add page.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 662f536: feat(frontend/app/docs/[slug]): add page.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 2c58af1: feat(frontend/app/pipeline): add page.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 40f1f50: feat(frontend/app/simulate): add page.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 526f4ed: feat(frontend/components/algorithms): add AlgorithmCard.tsx (sanskarpan sanskarpandey2004@gmail.com)
- cbf98ca: feat(frontend/components/algorithms): add TokenBucketViz.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 842e820: feat(frontend/components/cb): add CBSnapshotCard.tsx (sanskarpan sanskarpandey2004@gmail.com)
- f9fd750: feat(frontend/components/cb): add StateMachineViz.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 4b28b6b: feat(frontend/components/layouts): add Sidebar.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 0424264: feat(frontend/components/layouts): add WSProvider.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 16421df: feat(frontend/components/ui): add Card.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 4fc8fdd: feat(frontend/components/ui): add MetricTile.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 58bca45: feat(frontend/components/ui): add StatusBadge.tsx (sanskarpan sanskarpandey2004@gmail.com)
- 23aa022: feat(frontend/hooks): add usePoll.ts (sanskarpan sanskarpandey2004@gmail.com)
- 6f36f37: feat(frontend/hooks): add useWebSocket.ts (sanskarpan sanskarpandey2004@gmail.com)
- 044608e: feat(frontend/lib): add utils.ts (sanskarpan sanskarpandey2004@gmail.com)
- d17ceaa: feat(frontend/lib/api): add client.ts (sanskarpan sanskarpandey2004@gmail.com)
- d10225c: feat(frontend/lib/api): add types.ts (sanskarpan sanskarpandey2004@gmail.com)
- 28733f5: feat(frontend/lib/store): add index.ts (sanskarpan sanskarpandey2004@gmail.com)
- 8397a68: feat(frontend/lib/ws): add manager.ts (sanskarpan sanskarpandey2004@gmail.com)
- 2a78af9: feat(frontend/public): add file.svg (sanskarpan sanskarpandey2004@gmail.com)
- 6879d16: feat(frontend/public): add globe.svg (sanskarpan sanskarpandey2004@gmail.com)
- 94fc254: feat(frontend/public): add next.svg (sanskarpan sanskarpandey2004@gmail.com)
- c20cfc8: feat(frontend/public): add vercel.svg (sanskarpan sanskarpandey2004@gmail.com)
- 2930693: feat(frontend/public): add window.svg (sanskarpan sanskarpandey2004@gmail.com)
- c316a5b: feat(internal/atomicx): add float64.go (sanskarpan sanskarpandey2004@gmail.com)
- 3335832: feat(internal/clock): add clock.go (sanskarpan sanskarpandey2004@gmail.com)
- 4508a56: feat(internal/testutil): add chaos.go (sanskarpan sanskarpandey2004@gmail.com)
- 43035fb: feat(internal/testutil): add goroutine.go (sanskarpan sanskarpandey2004@gmail.com)
- 075a2f2: feat(metric/prometheus): Prometheus adapter emitting bounded resilience_* series (sanskarpan sanskarpandey2004@gmail.com)
- 79bf5d0: feat(observability/otel): provider.go — configured OTel TracerProvider/spans (sanskarpan sanskarpandey2004@gmail.com)
- 9da1aa0: feat(observability/otel): span.go — configured OTel TracerProvider/spans (sanskarpan sanskarpandey2004@gmail.com)
- 6a0ef83: feat(observability/otelhttp): net/http server-span tracing middleware (sanskarpan sanskarpandey2004@gmail.com)
- 33828fd: feat(ratelimit/adaptive): WithOnDecision hook option (sanskarpan sanskarpandey2004@gmail.com)
- c140506: feat(ratelimit/adaptive): add adaptive.go (sanskarpan sanskarpandey2004@gmail.com)
- caed3b0: feat(ratelimit/adaptive): add options.go (sanskarpan sanskarpandey2004@gmail.com)
- 5d3c69a: feat(ratelimit/adaptive): add signals.go (sanskarpan sanskarpandey2004@gmail.com)
- e4623f3: feat(ratelimit/adaptive): fire decision hook + cost metadata in adaptive.go (sanskarpan sanskarpandey2004@gmail.com)
- 9bcdc4d: feat(ratelimit/adaptive): wire metric.Recorder into adaptive.go (sanskarpan sanskarpandey2004@gmail.com)
- c6a53d0: feat(ratelimit/adaptive): wire metric.Recorder into options.go (sanskarpan sanskarpandey2004@gmail.com)
- 82bec61: feat(ratelimit/composite): add composite.go (sanskarpan sanskarpandey2004@gmail.com)
- 5c46e00: feat(ratelimit/composite): fire decision hook + cost metadata in composite.go (sanskarpan sanskarpandey2004@gmail.com)
- e762429: feat(ratelimit/composite): wire metric.Recorder into composite.go (sanskarpan sanskarpandey2004@gmail.com)
- b165230: feat(ratelimit/fixedwindow): WithServerTime option on distributed.go (sanskarpan sanskarpandey2004@gmail.com)
- 52ce9ac: feat(ratelimit/fixedwindow): add distributed.go (sanskarpan sanskarpandey2004@gmail.com)
- d8231d6: feat(ratelimit/fixedwindow): add fixedwindow.go (sanskarpan sanskarpandey2004@gmail.com)
- d3bf3c3: feat(ratelimit/fixedwindow): fire decision hook + cost metadata in fixedwindow.go (sanskarpan sanskarpandey2004@gmail.com)
- a0f8b29: feat(ratelimit/fixedwindow): wire metric.Recorder into fixedwindow.go (sanskarpan sanskarpandey2004@gmail.com)
- 9b80623: feat(ratelimit/gcra): WithOnDecision hook option (sanskarpan sanskarpandey2004@gmail.com)
- 215a688: feat(ratelimit/gcra): WithServerTime option on distributed.go (sanskarpan sanskarpandey2004@gmail.com)
- 44b44c4: feat(ratelimit/gcra): add distributed.go (sanskarpan sanskarpandey2004@gmail.com)
- 5b04ce3: feat(ratelimit/gcra): add gcra.go (sanskarpan sanskarpandey2004@gmail.com)
- 82a9e32: feat(ratelimit/gcra): add options.go (sanskarpan sanskarpandey2004@gmail.com)
- af4acc9: feat(ratelimit/gcra): fire decision hook + cost metadata in gcra.go (sanskarpan sanskarpandey2004@gmail.com)
- cc5af43: feat(ratelimit/gcra): wire metric.Recorder into gcra.go (sanskarpan sanskarpandey2004@gmail.com)
- 5cedfd5: feat(ratelimit/gcra): wire metric.Recorder into options.go (sanskarpan sanskarpandey2004@gmail.com)
- 150a408: feat(ratelimit/leakybucket): WithOnDecision hook option (sanskarpan sanskarpandey2004@gmail.com)
- b20b0eb: feat(ratelimit/leakybucket): add leakybucket.go (sanskarpan sanskarpandey2004@gmail.com)
- a780454: feat(ratelimit/leakybucket): add options.go (sanskarpan sanskarpandey2004@gmail.com)
- 8fc1f57: feat(ratelimit/leakybucket): fire decision hook + cost metadata in leakybucket.go (sanskarpan sanskarpandey2004@gmail.com)
- b97398f: feat(ratelimit/leakybucket): wire metric.Recorder into leakybucket.go (sanskarpan sanskarpandey2004@gmail.com)
- 8bd6954: feat(ratelimit/leakybucket): wire metric.Recorder into options.go (sanskarpan sanskarpandey2004@gmail.com)
- b151f53: feat(ratelimit/middleware): GRPCWithCost cost function (sanskarpan sanskarpandey2004@gmail.com)
- 8917613: feat(ratelimit/middleware): WithCost option + X-RateLimit-Cost header (sanskarpan sanskarpandey2004@gmail.com)
- c6e8211: feat(ratelimit/middleware): add grpc.go (sanskarpan sanskarpandey2004@gmail.com)
- b19a068: feat(ratelimit/middleware): add http.go (sanskarpan sanskarpandey2004@gmail.com)
- c13f084: feat(ratelimit/slidingwindow): WithServerTime option on distributed_counter.go (sanskarpan sanskarpandey2004@gmail.com)
- ab11211: feat(ratelimit/slidingwindow): WithServerTime option on distributed_log.go (sanskarpan sanskarpandey2004@gmail.com)
- ce4c177: feat(ratelimit/slidingwindow): add counter.go (sanskarpan sanskarpandey2004@gmail.com)
- cfb854a: feat(ratelimit/slidingwindow): add distributed_counter.go (sanskarpan sanskarpandey2004@gmail.com)
- aba0b7e: feat(ratelimit/slidingwindow): add distributed_log.go (sanskarpan sanskarpandey2004@gmail.com)
- fb44c1d: feat(ratelimit/slidingwindow): add log.go (sanskarpan sanskarpandey2004@gmail.com)
- b559215: feat(ratelimit/slidingwindow): fire decision hook + cost metadata in counter.go (sanskarpan sanskarpandey2004@gmail.com)
- 2069f5e: feat(ratelimit/slidingwindow): fire decision hook + cost metadata in log.go (sanskarpan sanskarpandey2004@gmail.com)
- f82041e: feat(ratelimit/slidingwindow): wire metric.Recorder into counter.go (sanskarpan sanskarpandey2004@gmail.com)
- 1401bad: feat(ratelimit/slidingwindow): wire metric.Recorder into log.go (sanskarpan sanskarpandey2004@gmail.com)
- 7721108: feat(ratelimit/store): CB script emulation + early-return cleanup (sanskarpan sanskarpandey2004@gmail.com)
- e837d92: feat(ratelimit/store): WithServerTime on the memory store (sanskarpan sanskarpandey2004@gmail.com)
- 354e421: feat(ratelimit/store): add memory.go (sanskarpan sanskarpandey2004@gmail.com)
- a00cbcd: feat(ratelimit/store): add redis.go (sanskarpan sanskarpandey2004@gmail.com)
- e36ea4e: feat(ratelimit/store): add scripts_memory.go (sanskarpan sanskarpandey2004@gmail.com)
- fa0b61b: feat(ratelimit/store): add store.go (sanskarpan sanskarpandey2004@gmail.com)
- 3776572: feat(ratelimit/store): distributed circuit-breaker Lua scripts (server-clock) (sanskarpan sanskarpandey2004@gmail.com)
- 8e3a006: feat(ratelimit/store): mirror server-time mode in the memory emulation (sanskarpan sanskarpandey2004@gmail.com)
- 1e36968: feat(ratelimit/store): server-time mode in Lua (redis TIME + replicate_commands) + skew detection (sanskarpan sanskarpandey2004@gmail.com)
- f57345e: feat(ratelimit/tokenbucket): WithOnDecision hook option (sanskarpan sanskarpandey2004@gmail.com)
- 982a7ee: feat(ratelimit/tokenbucket): WithServerTime option on distributed.go (sanskarpan sanskarpandey2004@gmail.com)
- 4ff1366: feat(ratelimit/tokenbucket): add distributed.go (sanskarpan sanskarpandey2004@gmail.com)
- ba065ad: feat(ratelimit/tokenbucket): add options.go (sanskarpan sanskarpandey2004@gmail.com)
- 199087c: feat(ratelimit/tokenbucket): add tokenbucket.go (sanskarpan sanskarpandey2004@gmail.com)
- 64ce835: feat(ratelimit/tokenbucket): fire decision hook + cost metadata in tokenbucket.go (sanskarpan sanskarpandey2004@gmail.com)
- 80a7e61: feat(ratelimit/tokenbucket): wire metric.Recorder into options.go (sanskarpan sanskarpandey2004@gmail.com)
- e3ba3e1: feat(ratelimit/tokenbucket): wire metric.Recorder into tokenbucket.go (sanskarpan sanskarpandey2004@gmail.com)
- 47bc786: feat(retry/backoff): add backoff.go (sanskarpan sanskarpandey2004@gmail.com)
- 43084ff: feat(retry/backoff): add constant.go (sanskarpan sanskarpandey2004@gmail.com)
- 41af520: feat(retry/backoff): add decorrelated.go (sanskarpan sanskarpandey2004@gmail.com)
- 667eaf5: feat(retry/backoff): add exponential.go (sanskarpan sanskarpandey2004@gmail.com)
- 150c659: feat(retry/backoff): add jitter.go (sanskarpan sanskarpandey2004@gmail.com)
- 17be765: feat(server/api): add OTel tracing middleware to the router chain (sanskarpan sanskarpandey2004@gmail.com)
- bc8713b: feat(server/api): add circuitbreaker_handlers.go (sanskarpan sanskarpandey2004@gmail.com)
- 47d41fb: feat(server/api): add handlers.go (sanskarpan sanskarpandey2004@gmail.com)
- 3bd7b26: feat(server/api): add health.go (sanskarpan sanskarpandey2004@gmail.com)
- 37975c9: feat(server/api): add hub.go (sanskarpan sanskarpandey2004@gmail.com)
- 63011cb: feat(server/api): add middleware.go (sanskarpan sanskarpandey2004@gmail.com)
- 0472c6a: feat(server/api): add ratelimit_handlers.go (sanskarpan sanskarpandey2004@gmail.com)
- c654df5: feat(server/api): add router.go (sanskarpan sanskarpandey2004@gmail.com)
- cf067c5: feat(server/api): add security.go (sanskarpan sanskarpandey2004@gmail.com)
- e28985e: feat(server/api): add simulate_handler.go (sanskarpan sanskarpandey2004@gmail.com)
- b747588: feat(server/api): add websocket.go (sanskarpan sanskarpandey2004@gmail.com)
- 0608ac7: feat(server/api): run CB execute through the bulkhead so saturation metrics populate (sanskarpan sanskarpandey2004@gmail.com)
- 4f0b1f5: feat(server/config): add config.go (sanskarpan sanskarpandey2004@gmail.com)
- 454d03c: feat(server/logger): add logger.go (sanskarpan sanskarpandey2004@gmail.com)
- bb26219: feat(server/metrics): add prometheus.go (sanskarpan sanskarpandey2004@gmail.com)
- a046d72: feat(server/simulation): add engine.go (sanskarpan sanskarpandey2004@gmail.com)
- 312988b: feat(server/telemetry): add tracer.go (sanskarpan sanskarpandey2004@gmail.com)
- 80a55ab: feat(server/version): add version.go (sanskarpan sanskarpandey2004@gmail.com)
- 5ecd36f: fix(deploy/grafana): align dashboard panels with emitted metrics (sanskarpan sanskarpandey2004@gmail.com)
- 1a59341: fix(internal/clock): non-blocking ticker delivery to prevent Advance deadlock (CB-CLOCK-1) (sanskarpan sanskarpandey2004@gmail.com)
- 262474f: fix(ratelimit/adaptive): validate bounds in New to prevent background SetLimit(0,0) panic (F-1) (sanskarpan sanskarpandey2004@gmail.com)
- b269cfe: fix(ratelimit/composite): inject clock into WaitN retry timer (F-2) (sanskarpan sanskarpandey2004@gmail.com)
- 06fd199: fix(ratelimit/store): faithful Redis emulation — float64 parity, fail-closed at maxKeys, rate=0 deny, atomic counter snapshot (F-1..F-5) (sanskarpan sanskarpandey2004@gmail.com)
- a074ffe: fix(server/api): add NewRouterWithHub so the hub can be stopped on shutdown (F-2) (sanskarpan sanskarpandey2004@gmail.com)
- a1ed72f: fix(server/api): bound metrics method label to prevent cardinality DoS (F-1) (sanskarpan sanskarpandey2004@gmail.com)
- 51b0111: fix(server/api): guard WS register against hub shutdown; drop the racy welcome send (F-3) (sanskarpan sanskarpandey2004@gmail.com)
- 123756a: fix(server/api): send WS welcome from the hub goroutine to avoid a send-on-closed-channel race (F-3) (sanskarpan sanskarpandey2004@gmail.com)
- 396a97e: refactor(circuitbreaker): merge isCBTimeout conditional (staticcheck QF1007) (sanskarpan sanskarpandey2004@gmail.com)
- 30e7aa5: refactor(circuitbreaker): simplify defaultIsFailure (staticcheck S1008) (sanskarpan sanskarpandey2004@gmail.com)
- 49044d4: refactor(module-path): update .github/workflows/release.yml to new module path (sanskarpan sanskarpandey2004@gmail.com)
- afc7b03: refactor(module-path): update AUDIT_REPORT.md to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 066b493: refactor(module-path): update Dockerfile to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 1ccb97e: refactor(module-path): update Makefile to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 03c19e5: refactor(module-path): update README.md to new module path (sanskarpan sanskarpandey2004@gmail.com)
- a34cc7e: refactor(module-path): update SPEC.md to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 69b69c7: refactor(module-path): update Tickets.md to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 18fb332: refactor(module-path): update bulkhead/example_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 22c7580: refactor(module-path): update circuitbreaker/circuitbreaker_bench_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 2d39444: refactor(module-path): update circuitbreaker/circuitbreaker_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- d306cd7: refactor(module-path): update circuitbreaker/config.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 1aaa141: refactor(module-path): update circuitbreaker/example_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 30280e3: refactor(module-path): update circuitbreaker/metrics.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- f02181f: refactor(module-path): update circuitbreaker/metrics_internal_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- a1c959c: refactor(module-path): update circuitbreaker/middleware/grpc.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 486778b: refactor(module-path): update circuitbreaker/middleware/grpc_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 107da49: refactor(module-path): update circuitbreaker/middleware/http.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- da313ff: refactor(module-path): update circuitbreaker/middleware/http_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 316f3c4: refactor(module-path): update circuitbreaker/regression_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 9ef8e2e: refactor(module-path): update circuitbreaker/reopen_internal_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- aab08c3: refactor(module-path): update docs/distributed.md to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 91d12d6: refactor(module-path): update examples/distributed/main.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 32a394d: refactor(module-path): update examples/grpc-server/main.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 56ecda5: refactor(module-path): update examples/http-server/main.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- bf4965e: refactor(module-path): update examples/pipeline/main.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 3432016: refactor(module-path): update fallback/fallback_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- dc28ce1: refactor(module-path): update go.mod to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 974cc0c: refactor(module-path): update internal/atomicx/float64_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 5aaa1e2: refactor(module-path): update internal/clock/clock_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 731fd28: refactor(module-path): update pipeline/example_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 4b5b4ce: refactor(module-path): update pipeline/order_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 97c6dc1: refactor(module-path): update pipeline/pipeline.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- b78dde9: refactor(module-path): update pipeline/pipeline_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- f318776: refactor(module-path): update ratelimit/adaptive/adaptive.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 8bd1ca2: refactor(module-path): update ratelimit/adaptive/adaptive_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- f336257: refactor(module-path): update ratelimit/adaptive/example_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 2c92eec: refactor(module-path): update ratelimit/adaptive/options.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- b29c685: refactor(module-path): update ratelimit/composite/composite.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 50c52e2: refactor(module-path): update ratelimit/composite/composite_regression_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- bef2fc3: refactor(module-path): update ratelimit/composite/composite_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- c7a260f: refactor(module-path): update ratelimit/composite/example_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 88a0fc9: refactor(module-path): update ratelimit/errors_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- f43802f: refactor(module-path): update ratelimit/fixedwindow/distributed.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 224b194: refactor(module-path): update ratelimit/fixedwindow/distributed_memory_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 8d0394f: refactor(module-path): update ratelimit/fixedwindow/distributed_redis_integration_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- b1ece56: refactor(module-path): update ratelimit/fixedwindow/example_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 055c240: refactor(module-path): update ratelimit/fixedwindow/fixedwindow.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 8a79ef8: refactor(module-path): update ratelimit/fixedwindow/fixedwindow_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 828f032: refactor(module-path): update ratelimit/gcra/distributed.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 8acaecf: refactor(module-path): update ratelimit/gcra/distributed_memory_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- b9d3cd5: refactor(module-path): update ratelimit/gcra/example_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 65896fe: refactor(module-path): update ratelimit/gcra/fuzz_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- c896238: refactor(module-path): update ratelimit/gcra/gcra.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 0984b13: refactor(module-path): update ratelimit/gcra/gcra_bench_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 282a820: refactor(module-path): update ratelimit/gcra/gcra_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- c08d801: refactor(module-path): update ratelimit/gcra/options.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- aaa25c9: refactor(module-path): update ratelimit/leakybucket/example_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- c6b7cde: refactor(module-path): update ratelimit/leakybucket/leakybucket.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- a2fb281: refactor(module-path): update ratelimit/leakybucket/leakybucket_bench_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- c91fc8c: refactor(module-path): update ratelimit/leakybucket/leakybucket_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- cf9eba7: refactor(module-path): update ratelimit/leakybucket/options.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 7814f77: refactor(module-path): update ratelimit/middleware/example_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 7a8f6a2: refactor(module-path): update ratelimit/middleware/grpc.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 1e4669e: refactor(module-path): update ratelimit/middleware/grpc_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- be81351: refactor(module-path): update ratelimit/middleware/http.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 308deec: refactor(module-path): update ratelimit/middleware/http_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- b60eae0: refactor(module-path): update ratelimit/slidingwindow/counter.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 49da9fe: refactor(module-path): update ratelimit/slidingwindow/distributed_counter.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 729eb9f: refactor(module-path): update ratelimit/slidingwindow/distributed_log.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 5665d7b: refactor(module-path): update ratelimit/slidingwindow/distributed_memory_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 6acddca: refactor(module-path): update ratelimit/slidingwindow/distributed_redis_integration_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 1f9843d: refactor(module-path): update ratelimit/slidingwindow/log.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 398feee: refactor(module-path): update ratelimit/slidingwindow/slidingwindow_bench_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 51b1787: refactor(module-path): update ratelimit/slidingwindow/slidingwindow_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- a3d6476: refactor(module-path): update ratelimit/store/memory_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 13ced83: refactor(module-path): update ratelimit/store/redis_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 09d41f9: refactor(module-path): update ratelimit/tokenbucket/distributed.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 5b0f8f5: refactor(module-path): update ratelimit/tokenbucket/distributed_memory_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- afb2a47: refactor(module-path): update ratelimit/tokenbucket/distributed_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 911727c: refactor(module-path): update ratelimit/tokenbucket/example_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- c19b275: refactor(module-path): update ratelimit/tokenbucket/fuzz_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 401a21f: refactor(module-path): update ratelimit/tokenbucket/options.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 8cbc42e: refactor(module-path): update ratelimit/tokenbucket/tokenbucket.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- e83d31c: refactor(module-path): update ratelimit/tokenbucket/tokenbucket_bench_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 19962f1: refactor(module-path): update ratelimit/tokenbucket/tokenbucket_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- d0a62b3: refactor(module-path): update retry/backoff/backoff_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 24f2d14: refactor(module-path): update retry/example_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 4ef8ec6: refactor(module-path): update retry/retry.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 4136758: refactor(module-path): update retry/retry_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 60b6e79: refactor(module-path): update server/api/circuitbreaker_handlers.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 65ad1e2: refactor(module-path): update server/api/handlers.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- a229f8a: refactor(module-path): update server/api/handlers_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- ccd5901: refactor(module-path): update server/api/hub_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 5f33da4: refactor(module-path): update server/api/middleware.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- cc42f88: refactor(module-path): update server/api/regression_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- dc83434: refactor(module-path): update server/api/router.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 8729670: refactor(module-path): update server/api/router_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- ec56560: refactor(module-path): update server/api/simulate_handler.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 428760b: refactor(module-path): update server/api/websocket.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- f449b97: refactor(module-path): update server/main.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 234b1e2: refactor(module-path): update server/simulation/engine.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- ccfe93f: refactor(module-path): update timeout/timeout_test.go to new module path (sanskarpan sanskarpandey2004@gmail.com)
- 50ad333: refactor(ratelimit/adaptive): remove unused newEWMA wrapper (sanskarpan sanskarpandey2004@gmail.com)
- 0865cf7: refactor(ratelimit/store): remove dead retry loop in loadOrCreateRaw (staticcheck SA4004) (sanskarpan sanskarpandey2004@gmail.com)
- 7fb0373: refactor(ratelimit/store): use SetArgs NX instead of deprecated SetNX; simplify isConnectionError (sanskarpan sanskarpandey2004@gmail.com)
- e993e02: refactor(server): remove dead tracer.go (replaced by observability/otel) (sanskarpan sanskarpandey2004@gmail.com)
- adaa083: refactor(server/api): remove unused Router struct (sanskarpan sanskarpandey2004@gmail.com)
- 668246e: refactor(server/api): remove unused sanitizeKey (sanskarpan sanskarpandey2004@gmail.com)
- 24f7c89: refactor(server/metrics): drop unused server-side RL/CB metrics (now emitted by the core adapter) (sanskarpan sanskarpandey2004@gmail.com)
- 77d2e56: style(circuitbreaker): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- 31d50c5: style(circuitbreaker/middleware): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- a99a729: style(internal/atomicx): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- fe9ef1a: style(internal/clock): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- 86fd74d: style(pipeline): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- f5678e0: style(ratelimit/adaptive): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- 2e785de: style(ratelimit/composite): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- 823845d: style(ratelimit/middleware): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- b8c7d31: style(ratelimit/middleware): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- d4a47f3: style(ratelimit/store): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- 7f02493: style(retry/backoff): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- 456337b: style(server/api): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- d337dc5: style(server/api): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- 032ddc6: style(server/config): gofmt (sanskarpan sanskarpandey2004@gmail.com)
- 69d6387: test(bulkhead): add bulkhead_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 7141f6e: test(bulkhead): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- b0b6d79: test(bulkhead): add recorder_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 7bce9ba: test(bulkhead): add saturation_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 58e324c: test(bulkhead): remove empty branch (staticcheck SA9003) (sanskarpan sanskarpandey2004@gmail.com)
- 4ff985b: test(circuitbreaker): add circuitbreaker_bench_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 2ab6137: test(circuitbreaker): add circuitbreaker_test.go (sanskarpan sanskarpandey2004@gmail.com)
- d94f6f5: test(circuitbreaker): add distributed_integration_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 1e03e35: test(circuitbreaker): add distributed_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 625a456: test(circuitbreaker): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- f166f44: test(circuitbreaker): add metrics_internal_test.go (sanskarpan sanskarpandey2004@gmail.com)
- d1d3174: test(circuitbreaker): add recorder_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 23441ac: test(circuitbreaker): add regression_test.go (sanskarpan sanskarpandey2004@gmail.com)
- dc48056: test(circuitbreaker): add reopen_internal_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 8da9de0: test(circuitbreaker/middleware): add grpc_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 07e732d: test(circuitbreaker/middleware): add http_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 8036d77: test(circuitbreaker/middleware): add runnable godoc Example (sanskarpan sanskarpandey2004@gmail.com)
- bc38405: test(circuitbreaker/middleware): remove unused tripCB helper (sanskarpan sanskarpandey2004@gmail.com)
- 96fc0bc: test(concurrency): add concurrency_test.go (sanskarpan sanskarpandey2004@gmail.com)
- edb8049: test(concurrency): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 08f4d36: test(contrib/chimw): add chimw_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 56f67bb: test(contrib/connectmw): add connectmw_test.go (sanskarpan sanskarpandey2004@gmail.com)
- a306765: test(contrib/connectmw): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- cd2ada5: test(contrib/echomw): add echomw_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 31290e9: test(contrib/fibermw): add fibermw_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 6327736: test(contrib/ginmw): add ginmw_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 632311d: test(fallback): add cached_example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 98bbc3a: test(fallback): add cached_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 5dfc5bd: test(fallback): add fallback_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 17d452d: test(fallback): add runnable godoc Example (sanskarpan sanskarpandey2004@gmail.com)
- 7532140: test(frontend/e2e): add app.spec.ts (sanskarpan sanskarpandey2004@gmail.com)
- bf11846: test(internal/atomicx): add float64_test.go (sanskarpan sanskarpandey2004@gmail.com)
- ad1a21b: test(internal/clock): add clock_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 91d9a72: test(internal/clock): add no-drainer deadlock regression test (sanskarpan sanskarpandey2004@gmail.com)
- a18a47c: test(loadshed): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- de96d7d: test(loadshed): add loadshed_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 695de2d: test(metric/prometheus): add prometheus_test.go (sanskarpan sanskarpandey2004@gmail.com)
- c99ae56: test(observability/otel): add provider_test.go (sanskarpan sanskarpandey2004@gmail.com)
- abaf169: test(observability/otelhttp): add middleware_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 4ad37bb: test(pipeline): add budget_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 604ba03: test(pipeline): add concurrency_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 5b6e4d6: test(pipeline): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 39822cf: test(pipeline): add loadshed_example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 9e838a1: test(pipeline): add loadshed_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 519330d: test(pipeline): add order_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 1f5bae5: test(pipeline): add pipeline_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 12334f2: test(ratelimit): add errors_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 8ca2380: test(ratelimit): add runnable godoc Example (sanskarpan sanskarpandey2004@gmail.com)
- 7bb3986: test(ratelimit/adaptive): add adaptive_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 037dcb3: test(ratelimit/adaptive): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 84c863c: test(ratelimit/adaptive): add hooks_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 9f7a6e6: test(ratelimit/adaptive): add invalid-bounds and sustained-stress regression tests (sanskarpan sanskarpandey2004@gmail.com)
- 5628c99: test(ratelimit/composite): add composite_regression_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 7daf6ee: test(ratelimit/composite): add composite_test.go (sanskarpan sanskarpandey2004@gmail.com)
- b7a29e9: test(ratelimit/composite): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 7af843f: test(ratelimit/composite): add hooks_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 25773dd: test(ratelimit/composite): drive Wait test with the injected clock (sanskarpan sanskarpandey2004@gmail.com)
- 88ed83f: test(ratelimit/fixedwindow): add distributed_memory_test.go (sanskarpan sanskarpandey2004@gmail.com)
- bf13541: test(ratelimit/fixedwindow): add distributed_redis_integration_test.go (sanskarpan sanskarpandey2004@gmail.com)
- fdd6806: test(ratelimit/fixedwindow): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- c9dfdba: test(ratelimit/fixedwindow): add fixedwindow_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 7746521: test(ratelimit/fixedwindow): add hooks_cost_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 4af9616: test(ratelimit/gcra): add distributed_memory_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 9d2a663: test(ratelimit/gcra): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- ce85c0a: test(ratelimit/gcra): add fuzz_test.go (sanskarpan sanskarpandey2004@gmail.com)
- c33e0e7: test(ratelimit/gcra): add gcra_bench_test.go (sanskarpan sanskarpandey2004@gmail.com)
- ded8ad8: test(ratelimit/gcra): add gcra_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 64c4462: test(ratelimit/gcra): add real-Redis GCRA integration coverage (sanskarpan sanskarpandey2004@gmail.com)
- 37fbad6: test(ratelimit/leakybucket): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 8d4b931: test(ratelimit/leakybucket): add leakybucket_bench_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 451aec8: test(ratelimit/leakybucket): add leakybucket_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 1c854c8: test(ratelimit/middleware): add cost_test.go (sanskarpan sanskarpandey2004@gmail.com)
- bc9f1fa: test(ratelimit/middleware): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 303449c: test(ratelimit/middleware): add grpc_cost_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 76acf0e: test(ratelimit/middleware): add grpc_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 84cbba7: test(ratelimit/middleware): add http_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 853b58a: test(ratelimit/proptest): add admission_test.go (sanskarpan sanskarpandey2004@gmail.com)
- c5c63a4: test(ratelimit/proptest): add invariants_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 32318de: test(ratelimit/proptest): add leakybucket_test.go (sanskarpan sanskarpandey2004@gmail.com)
- a0b8652: test(ratelimit/proptest): package for property-based tests (sanskarpan sanskarpandey2004@gmail.com)
- 65b9821: test(ratelimit/proptest): package for property-based tests (sanskarpan sanskarpandey2004@gmail.com)
- 0eaa2d3: test(ratelimit/proptest): package for property-based tests (sanskarpan sanskarpandey2004@gmail.com)
- 58d23ba: test(ratelimit/proptest): package for property-based tests (sanskarpan sanskarpandey2004@gmail.com)
- 062af8c: test(ratelimit/proptest): package for property-based tests (sanskarpan sanskarpandey2004@gmail.com)
- 78effe7: test(ratelimit/proptest): package for property-based tests (sanskarpan sanskarpandey2004@gmail.com)
- 519399d: test(ratelimit/proptest): package for property-based tests (sanskarpan sanskarpandey2004@gmail.com)
- 7daa0e3: test(ratelimit/slidingwindow): add distributed_memory_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 5ce50a5: test(ratelimit/slidingwindow): add distributed_redis_integration_test.go (sanskarpan sanskarpandey2004@gmail.com)
- e17fbcd: test(ratelimit/slidingwindow): add runnable godoc Example (sanskarpan sanskarpandey2004@gmail.com)
- 16f4175: test(ratelimit/slidingwindow): add slidingwindow_bench_test.go (sanskarpan sanskarpandey2004@gmail.com)
- ceda29d: test(ratelimit/slidingwindow): add slidingwindow_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 04156ee: test(ratelimit/store): add maxKeys fail-closed regression test (sanskarpan sanskarpandey2004@gmail.com)
- c7341b5: test(ratelimit/store): add memory_fixes_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 5f4b7f8: test(ratelimit/store): add memory_test.go (sanskarpan sanskarpandey2004@gmail.com)
- f753005: test(ratelimit/store): add real-Redis vs emulation parity tests (sanskarpan sanskarpandey2004@gmail.com)
- c0d470b: test(ratelimit/store): add redis_fixes_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 7f3602f: test(ratelimit/store): add redis_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 051c06c: test(ratelimit/store): add runnable godoc Example (sanskarpan sanskarpandey2004@gmail.com)
- 966ae0a: test(ratelimit/store): add servertime_integration_test.go (sanskarpan sanskarpandey2004@gmail.com)
- addab83: test(ratelimit/store): add servertime_memory_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 4aeed69: test(ratelimit/store): deflake IncrBy TTL-on-creation test (F-6) (sanskarpan sanskarpandey2004@gmail.com)
- f22d251: test(ratelimit/store): fix ineffectual assignment (ineffassign) (sanskarpan sanskarpandey2004@gmail.com)
- a59f01f: test(ratelimit/tokenbucket): add distributed_memory_test.go (sanskarpan sanskarpandey2004@gmail.com)
- a8bc610: test(ratelimit/tokenbucket): add distributed_servertime_integration_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 119e7de: test(ratelimit/tokenbucket): add distributed_servertime_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 7155bc6: test(ratelimit/tokenbucket): add distributed_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 7571c58: test(ratelimit/tokenbucket): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- d529f5d: test(ratelimit/tokenbucket): add fuzz_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 20dd69c: test(ratelimit/tokenbucket): add hooks_cost_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 27b9a78: test(ratelimit/tokenbucket): add recorder_test.go (sanskarpan sanskarpandey2004@gmail.com)
- cefe149: test(ratelimit/tokenbucket): add tokenbucket_bench_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 9b9a748: test(ratelimit/tokenbucket): add tokenbucket_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 90ac019: test(retry): add budget_integration_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 87bcd06: test(retry): add budget_test.go (sanskarpan sanskarpandey2004@gmail.com)
- ec9bb35: test(retry): add example_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 5222258: test(retry): add retry_test.go (sanskarpan sanskarpandey2004@gmail.com)
- d9b32d8: test(retry/backoff): add backoff_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 579a0b3: test(retry/backoff): add runnable godoc Example (sanskarpan sanskarpandey2004@gmail.com)
- 81c8ad6: test(server/api): add handlers_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 5e030c8: test(server/api): add health_test.go (sanskarpan sanskarpandey2004@gmail.com)
- e495bbb: test(server/api): add hub_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 7c409d5: test(server/api): add metrics_e2e_test.go (sanskarpan sanskarpandey2004@gmail.com)
- d892eb2: test(server/api): add regression_test.go (sanskarpan sanskarpandey2004@gmail.com)
- d20d0f8: test(server/api): add router_test.go (sanskarpan sanskarpandey2004@gmail.com)
- 53a1680: test(server/api): drain the welcome in the broadcast-envelope test (sanskarpan sanskarpandey2004@gmail.com)
- 63b9cdb: test(server/config): add config_test.go (sanskarpan sanskarpandey2004@gmail.com)
- b737f33: test(timeout): add runnable godoc Example (sanskarpan sanskarpandey2004@gmail.com)
- 1e8214f: test(timeout): add timeout_test.go (sanskarpan sanskarpandey2004@gmail.com)