Skip to content
This repository was archived by the owner on Mar 18, 2026. It is now read-only.

Commit 307a290

Browse files
committed
docs: change status labels from "Stable" to "Implemented"
"Stable" implies production-proven with real-world usage. "Implemented" accurately reflects tested and functional features in an early-stage project without production users.
1 parent 3aa328a commit 307a290

1 file changed

Lines changed: 21 additions & 21 deletions

File tree

README.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,27 +30,27 @@ Webhooks are deceptively simple — until they aren't. Providers send them once
3030

3131
| Feature | Status | Notes |
3232
|---|---|---|
33-
| Webhook ingestion with signature verification |Stable | Stripe, GitHub, generic HMAC |
34-
| Reliable delivery with retries (exponential/linear/fixed) |Stable | Respects `Retry-After` headers |
35-
| Circuit breaker per destination |Stable | Open/half-open/closed with auto-recovery |
36-
| Fan-out routing (one source → multiple destinations) |Stable | Event type wildcard filters |
37-
| Dead letter queue with batch replay |Stable | Per-destination DLQ inspection and replay |
38-
| REST API (CRUD for all resources) |Stable | Sources, destinations, subscriptions, events, keys |
39-
| API key authentication (simple + advanced mode) |Stable | Env var or D1-managed keys with scopes |
40-
| CLI with `--json`, `--dry-run`, `--data`, `--fields` |Stable | Agent-optimized |
41-
| `hookflare schema` (runtime API introspection) |Stable | Agent-friendly resource discovery |
42-
| Export / Import / Migrate |Stable | Instance-to-instance migration with ID remapping |
43-
| Idempotency (KV-based deduplication) |Stable | Configurable TTL |
44-
| Payload archive (R2) |Stable | Configurable retention |
45-
| Rate limiting (per-source ingress) |Stable | DO-based precise global limiting with in-memory pre-check |
46-
| `hookflare dev` (local tunnel + signature verification) |Stable | Cloudflare Quick Tunnel, auto-downloads cloudflared |
47-
| `hookflare connect` (one-shot setup) |Stable | Source + destination + subscription in one command |
48-
| `hookflare providers` (provider catalog) |Stable | Browse providers and event types |
49-
| Pre-built providers (Stripe, GitHub, Slack, Shopify, Vercel) |Stable | Event catalogs, verification, presets |
50-
| `defineProvider()` (community providers) |Stable | One file, three fields, publish to npm or GitHub |
51-
| SSRF protection on destination URLs |Stable | Blocks private IPs, localhost, non-HTTPS |
52-
| Payload size limit (256KB) |Stable | Returns 413 on oversized webhooks |
53-
| DLQ notifications |Stable | Webhook callback when deliveries permanently fail |
33+
| Webhook ingestion with signature verification |Implemented | Stripe, GitHub, generic HMAC |
34+
| Reliable delivery with retries (exponential/linear/fixed) |Implemented | Respects `Retry-After` headers |
35+
| Circuit breaker per destination |Implemented | Open/half-open/closed with auto-recovery |
36+
| Fan-out routing (one source → multiple destinations) |Implemented | Event type wildcard filters |
37+
| Dead letter queue with batch replay |Implemented | Per-destination DLQ inspection and replay |
38+
| REST API (CRUD for all resources) |Implemented | Sources, destinations, subscriptions, events, keys |
39+
| API key authentication (simple + advanced mode) |Implemented | Env var or D1-managed keys with scopes |
40+
| CLI with `--json`, `--dry-run`, `--data`, `--fields` |Implemented | Agent-optimized |
41+
| `hookflare schema` (runtime API introspection) |Implemented | Agent-friendly resource discovery |
42+
| Export / Import / Migrate |Implemented | Instance-to-instance migration with ID remapping |
43+
| Idempotency (KV-based deduplication) |Implemented | Configurable TTL |
44+
| Payload archive (R2) |Implemented | Configurable retention |
45+
| Rate limiting (per-source ingress) |Implemented | DO-based precise global limiting with in-memory pre-check |
46+
| `hookflare dev` (local tunnel + signature verification) |Implemented | Cloudflare Quick Tunnel, auto-downloads cloudflared |
47+
| `hookflare connect` (one-shot setup) |Implemented | Source + destination + subscription in one command |
48+
| `hookflare providers` (provider catalog) |Implemented | Browse providers and event types |
49+
| Pre-built providers (Stripe, GitHub, Slack, Shopify, Vercel) |Implemented | Event catalogs, verification, presets |
50+
| `defineProvider()` (community providers) |Implemented | One file, three fields, publish to npm or GitHub |
51+
| SSRF protection on destination URLs |Implemented | Blocks private IPs, localhost, non-HTTPS |
52+
| Payload size limit (256KB) |Implemented | Returns 413 on oversized webhooks |
53+
| DLQ notifications |Implemented | Webhook callback when deliveries permanently fail |
5454
| **0% error rate under load** | ✅ Verified | [P50 303ms, 0 errors, DO-based rate limiting](BENCHMARKS.md) |
5555
| Dashboard (static SPA) | 📋 Planned | Cloudflare Pages, connects to any instance |
5656
| Structured logging | 📋 Planned | JSON logs for observability |

0 commit comments

Comments
 (0)