Releases: sanskarpan/Rate-Limiter-Circuit-Breaker
Releases · sanskarpan/Rate-Limiter-Circuit-Breaker
Release list
v1.0.0
Changelog
Features
- 31acae3: feat(bulkhead): return structured BulkheadError on rejection (§2.5) (@sanskarpan)
- 6d3e9e7: feat(bulkhead): structured BulkheadError with saturation snapshot (§2.5) (@sanskarpan)
- 0c1d8f2: feat(circuitbreaker): circuitbreaker.go — pluggable half-open probe strategies (§1.11) (@sanskarpan)
- 85c415d: feat(circuitbreaker): config.go — pluggable half-open probe strategies (§1.11) (@sanskarpan)
- a7d6ad5: feat(circuitbreaker): halfopen.go — pluggable half-open probe strategies (§1.11) (@sanskarpan)
- f2bfb9f: feat(circuitbreaker): structured CircuitError accessors + predicates (§2.5) (@sanskarpan)
- c9c6874: feat(circuitbreaker): zero-value Config defaults doc + test (§2.7) (@sanskarpan)
- 1b73e1a: feat(debounce): debounce.go — debounce/throttle primitives (§1.9) (@sanskarpan)
- adb9e03: feat(debounce): debounce_test.go — debounce/throttle primitives (§1.9) (@sanskarpan)
- 2ab098f: feat(debounce): doc.go — debounce/throttle primitives (§1.9) (@sanskarpan)
- 5a5f489: feat(debounce): example_test.go — debounce/throttle primitives (§1.9) (@sanskarpan)
- b268d1a: feat(debounce): throttle.go — debounce/throttle primitives (§1.9) (@sanskarpan)
- 1456f2f: feat(debounce): throttle_test.go — debounce/throttle primitives (§1.9) (@sanskarpan)
- 5f54f14: feat(eventstream): generic pub/sub broker (§4.7) (@sanskarpan)
- b74f901: feat(frontend): Vercel config + deploy/preview-env docs (§10.4) (@sanskarpan)
- ec13901: feat(frontend): accessibility pass — landmarks, aria-live, labels, focus, SVG a11y (§10.1) (@sanskarpan)
- e2ab033: feat(frontend): accessible forms + labelled controls across pages (§10.1) (@sanskarpan)
- e3bc7c8: feat(frontend): recharts allow/deny ratio, latency histogram, CB state timeline (§10.2) (@sanskarpan)
- d9a34c0: feat(logging): slog structured-logging hooks (§4.4) (@sanskarpan)
- a342483: feat(pipeline): per-attempt deadline budgeting — RetryBudgeted (§1.12) (@sanskarpan)
- 66fa375: feat(ratelimit): read-only Peeker/Observer interfaces (§2.6) (@sanskarpan)
- 48ca28c: feat(release): Homebrew tap brews block + install docs (§9.5) (@sanskarpan)
- e2286fa: feat(resilience): unified fluent builder + generic Execute[T] (§2.2) (@sanskarpan)
- 5e45e13: feat(resiliencex): doc.go — generic Execute[T] helpers (§2.3) (@sanskarpan)
- ff42891: feat(resiliencex): execute.go — generic Execute[T] helpers (§2.3) (@sanskarpan)
- d89e232: feat(resiliencex): execute_test.go — generic Execute[T] helpers (§2.3) (@sanskarpan)
- 53b5695: feat(server): make the demo server its own nested module (§10.3) (@sanskarpan)
- cc0d7b1: feat(server): wire self-protection + body caps + timeouts (§7.4) (@sanskarpan)
- bd3e4aa: feat(stores): Memcached + DynamoDB store backends in a nested module (§5.2) (@sanskarpan)
- 64d9733: feat: v1.0.0 — stable public API, promote clock package, pre-release polish (@sanskarpan)
Bug fixes
- 0aac0d0: fix(ci): gofmt, deprecated-symbol, and ScriptID type fixes for v1.0.0 (@sanskarpan)
- 350fe80: fix(docs): mkdocs --strict — nav deploy-frontend + tolerate cross-boundary repo-root links (@sanskarpan)
- 082785b: fix(release): disable Homebrew formula upload until tap repo is created (@sanskarpan)
- 8186323: fix(release): skip Homebrew tap publish when HOMEBREW_TAP_GITHUB_TOKEN is unset (@sanskarpan)
- c37c379: fix(store): update integration tests to use typed ScriptID vars (@sanskarpan)
Performance
- 020e8f5: perf(circuitbreaker): single-lock time-window record+trip on closed path (§3.4) (@sanskarpan)
Others
- c6b056c: build(release): build+test the server module (goreleaser dir, Dockerfile, CI, Makefile) (§10.3) (@sanskarpan)
- b7b7b6e: build(release): enable Homebrew tap formula publish (@sanskarpan)
- 78b3173: chore(ci): bump the github-actions group with 10 updates (@sanskarpan)
- ef4d857: chore(ci): bump the github-actions group with 10 updates (@dependabot[bot])
- e848f14: chore(ci): pin mkdocs-material to 9.5.x for stable strict-mode build (@sanskarpan)
- 112472b: chore(ci): test-stores + stores CI job + mutation targets (@sanskarpan)
- 73351b9: chore(deps): bump the go-dependencies group across 1 directory with 2 updates (@dependabot[bot])
- 3560b21: chore(deps): bump the go-dependencies group across 1 directory with 2 updates (@sanskarpan)
- 349da3a: chore(deps): bump the npm-production group in /frontend with 5 updates (@sanskarpan)
- ddf148b: chore(deps): bump the npm-production group in /frontend with 5 updates (@dependabot[bot])
- afbb1a9: chore(deps): drop gorilla/websocket from root module (moved to server module) (§10.3) (@sanskarpan)
- 5976eed: chore(deps): tidy contrib and stores modules after go-redis and grpc bumps (@sanskarpan)
- d3ed2d4: chore(deps): tidy integration module after go-redis and grpc bumps (@sanskarpan)
- a0631d1: chore(deps): tidy server module after go-redis and grpc bumps (@sanskarpan)
- 2b7bea8: chore(deps-dev): bump jsdom (@dependabot[bot])
- f427f04: chore(deps-dev): bump jsdom from 25.0.1 to 29.1.1 in /frontend (@sanskarpan)
- 0a31610: chore(frontend): add Vitest + RTL + jest-axe test infra (§10.5) (@sanskarpan)
- ee40915: chore(make): fuzz-server target (§7.5) (@sanskarpan)
- 5457686: chore(verify-deps): guard debounce/tiered/resiliencex as zero-dep core (@sanskarpan)
- 73dd47f: chore(verify-deps): guard logging/eventstream as zero-dep core (@sanskarpan)
- 6f80601: ci(release): pass HOMEBREW_TAP_GITHUB_TOKEN to goreleaser step (@sanskarpan)
- 88724b4: docs(adr): add architecture decision records (§8.6) (@sanskarpan)
- 8770f1c: docs(blog): technical articles + talk outline (§11.3) (@sanskarpan)
- ca68660: docs(changelog): seed CHANGELOG + commits→changelog flow (§9.4) (@sanskarpan)
- ac09ae3: docs(examples): resilience-stack/tiered/debounce runnable examples + catalog (§11.4) (@sanskarpan)
- 8ad5c2e: docs(ratelimit/adaptive): document intentional node-local scope (§1.8) (@sanskarpan)
- a21ce64: docs(ratelimit/store): escape-analysis findings on Eval arg path (§3.3) (@sanskarpan)
- 3ec85fd: docs(readme): library-vs-alternatives comparison table (§11.1) (@sanskarpan)
- 311f1b0: docs(security): GitHub Security Advisories reporting flow (§7.3) (@sanskarpan)
- 928459e: feat(contrib/chimw): CircuitBreaker adapter (re-export core net/http middleware) (@sanskarpan)
- 0df265c: feat(contrib/connectmw): connect CircuitBreaker interceptor with server-fault predicate (@sanskarpan)
- 79cb0d1: feat(contrib/echomw): native echo CircuitBreaker middleware (@sanskarpan)
- 703f738: feat(contrib/fibermw): native fiber CircuitBreaker middleware (@sanskarpan)
- 517d8f3: feat(contrib/ginmw): native gin CircuitBreaker middleware (@sanskarpan)
- 798ce8e: feat(deploy/prometheus): README.md — recording/alert rules (§9.6) (@sanskarpan)
- cded073: feat(deploy/prometheus): alerts.yml — recording/alert rules (§9.6) (@sanskarpan)
- cbb5943: feat(deploy/prometheus): prometheus.yml — recording/alert rules (§9.6) (@sanskarpan)
- 12b1e1a: feat(deploy/prometheus): rules.yml — recording/alert rules (§9.6) (@sanskarpan)
- 29e296f: feat(internal/simulation): deterministic sim harness + fault injection (§6.7) (@sanskarpan)
- 9b5d58a: feat(metric/prometheus): native histograms + trace exemplars (§4.5) (@sanskarpan)
- fc90e9d: feat(ratelimit/internal/shardmap): sharded per-key map (§3.1) (@sanskarpan)
- c10dd2f: feat(ratelimit/leakybucket): leakybucket.go — priority-aware Wait (§1.7) (@sanskarpan)
- 3293f2b...
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 <s...