Skip to content

Latest commit

 

History

History
380 lines (223 loc) · 26.8 KB

File metadata and controls

380 lines (223 loc) · 26.8 KB

1.15.5 (2026-08-14)

Documentation and metadata

  • correct canonical ForgeSworn links for toll-booth and 402-mcp
  • add npm funding metadata for the project support channels

1.15.2 (2026-03-27)

Bug Fixes

  • correct type mismatches in 402-announce service call (4d76482)
  • update 402-announce call to v2 API (url → urls array) (529683c)
  • update paymentMethods to 402-announce v2 array format (7df22a6)

1.15.1 (2026-03-24)

Bug Fixes

  • announce IETF Payment pmi tag when realm is configured (f1abb5e)

1.15.0 (2026-03-24)

1.16.0 (2026-08-17)

Features

  • add an nwc lightning backend

1.15.4 (2026-08-13)

Bug Fixes

  • publish the built package exports

1.15.3 (2026-08-13)

Bug Fixes

  • migrate to toll-booth 6 and restore releases

Features

  • add IETF Payment session intent support (51f3516)

1.14.1 (2026-03-24)

Bug Fixes

  • allow Google Fonts in CSP for landing page typography (3dc4a50)

1.14.0 (2026-03-24)

Features

  • redesign landing page — amber/gold terminal aesthetic (44ae58a), closes #E0AC2B

1.13.1 (2026-03-24)

Bug Fixes

  • branding — OG meta tags, ForgeSworn links, IETF Payment mention (2fa82fb)

1.13.0 (2026-03-24)

Features

  • dual-scheme discovery — llms.txt and .well-known/l402 (e9d4559)

1.12.1 (2026-03-24)

Bug Fixes

  • add explicit L402 rail for dual-scheme challenges (4756ae4)

1.12.0 (2026-03-24)

Features

  • upgrade to @forgesworn/toll-booth + IETF Payment auth (150a470)

1.11.0 (2026-03-17)

Features

  • auto-melt Cashu ecash to operator Lightning node (9baa006)

1.10.0 (2026-03-17)

Bug Fixes

  • add missing x402 and transport deps to E2E test (dc28029)
  • update AuthMiddlewareConfig for cashu auth mode, revert cli.ts (5df9738)

Features

  • add --cashu-mints/--cashu-unit CLI flags and Cashu Nostr announcement (f9c1faf)
  • add Cashu ecash config parsing and auth mode inference (8dba32d)
  • add Cashu metadata to well-known and llms.txt discovery (91a9341)
  • wire xcashu rail, fix paymentMethods, broaden auth for Cashu (3ca5436)

1.9.0 (2026-03-15)

Features

  • add --public-url flag for explicit announce URL (bb9b186)

1.8.0 (2026-03-15)

Features

  • bump toll-booth to ^3.3.0 for credit_tiers and custom top-ups (51f8353)

1.7.8 (2026-03-15)

Bug Fixes

  • add absolute stream duration cap and guard capacity slot leak (43eeceb)
  • guard controller.close() in timer callbacks and sanitise array elements in logger (5d19591)
  • prevent facilitator redirect-based SSRF and add error handling (633936f)
  • reject empty credentials in allowlist auth (d24701e)
  • sanitise nested objects in JSON logger context (b1df041)
  • use canonical cwd for allowlist file containment check (65d5ea7)

1.7.7 (2026-03-15)

Bug Fixes

  • add body-read deadline, facilitator size cap, upstream URL hardening (c566a33)
  • canonicalise cwd in dbPath check for symlinked working directories (a2cb859)
  • defer replay cache eviction until after NIP-98 authentication (84482ef)
  • harden NIP-98 verification, case-normalise pubkeys, improve replay cache (3a58432)
  • prevent prototype pollution in pricing, validate config bounds, add token byte floor (bc15608)
  • race body reads against AbortSignal to interrupt stalled clients (553f0fc)
  • re-review fixes — resolve dbPath fully, remove redundant size check, guard facilitator JSON (4f8a6a2)
  • reconcile Lightning payment on body-read timeout and failure (9634876)
  • resolve dbPath fallback relative to canonical cwd (9fe0781)

1.7.6 (2026-03-15)

Bug Fixes

  • sanitise JSON logger values, add body-read deadline, prevent models cache poisoning (d6cbb7c)

1.7.5 (2026-03-15)

Bug Fixes

  • cancel upstream on client disconnect, defer capacity until body parsed (1e8ecf0)
  • complete log sanitisation coverage, align demo health endpoint (babd904)
  • security audit hardening — response limits, input validation, log injection (f2b8c69)

1.7.4 (2026-03-15)

Bug Fixes

  • bill completion tokens for non-streaming responses, harden streaming token counting (fa74342)
  • harden config validation, path-scope allowlist-file, warn on open+tunnel (c917590)
  • prevent JSON log field overwrite by spreading event data before explicit fields (a6668c5)
  • read non-streaming upstream response incrementally to enforce size limit (2c32b2e)
  • reject NIP-98 events when seen-ID cache is at capacity after pruning (bf21b69)
  • resolve symlinks in allowlist-file path check, add negative pricing tests (b2b68c1)

1.7.3 (2026-03-14)

Bug Fixes

  • upgrade GitHub Actions to v6 (Node.js 24), bump 402-announce to 1.1.2 (509894c)

1.7.2 (2026-03-14)

Bug Fixes

  • warn when secrets are passed on the command line (a357a47)

1.7.1 (2026-03-14)

Bug Fixes

  • add Content-Security-Policy and Permissions-Policy headers (887b45a)
  • add streaming size limit, pre-check upstream Content-Length, remove hop-by-hop header (ad750af)
  • address re-review findings — cap seen-ID cache, add stream error event (45074be)
  • enforce rootKey minimum entropy, restrict announceKey directory permissions (ffc8b05)
  • harden auth — HMAC-based timing-safe comparison, NIP-98 replay prevention, case-insensitive hex pubkeys (c8bc50c)
  • pass maxBodySize to streaming proxy instead of using hardcoded 100 MiB (18ae958)
  • require rootKey to be exactly 64 hex chars, matching toll-booth (79ceb2a)

1.7.0 (2026-03-14)

Bug Fixes

  • correct integration test exclude pattern in CI (70c6abe)
  • regenerate lockfile to resolve 402-announce from npm registry (5554825)
  • regenerate lockfile with cross-platform optional deps (380bd82)
  • stop logging secret key, write to file with restricted permissions (788f4e3)
  • use npm registry for 402-announce, fix announcement type narrowing (cb4e077)

Features

  • add --announce config options (4834af2)
  • add --announce for Nostr discovery via l402-announce (0d23a48)
  • add status tag and JSON schemas to Nostr service announcement (1495451)

1.6.0 (2026-03-14)

Features

  • enable npm publishing (af0735c)
  • remove IP addresses from log output (4197d68)

1.5.1 (2026-03-14)

Bug Fixes

  • add spacing between payment tier buttons and actions (9100278)

1.5.0 (2026-03-14)

Features

  • add custom sats amount option to payment flow (f3b9e68)

1.4.0 (2026-03-14)

Features

  • streamline payment flow — auto-load QR code like sats-for-laughs (8d80fee)

1.3.1 (2026-03-14)

Bug Fixes

  • show tokens/sat instead of sats/1k tokens on model cards (2ba5714)

1.3.0 (2026-03-14)

Features

  • replace pricing chips with model selector cards (540bbdb)

1.2.1 (2026-03-14)

Bug Fixes

  • model selector UX improvements (9a22de3)

1.2.0 (2026-03-14)

Bug Fixes

  • show sats balance for paid users instead of estimated tokens (f64f6dd)

Features

  • add gemma3:4b as second model with per-model pricing (0c5eab6)
  • add model selector pills to UI (7bb3c49)

1.1.0 (2026-03-14)

Features

  • switch free tier from per-request to per-usage (creditsPerDay) (3aec2b3)

1.0.0 (2026-03-14)

Bug Fixes

  • address code review findings (676242c)
  • cache /v1/models response, validate upstream URL scheme (4f46f3b)
  • disable npm publish and fetch tags in CI (deb04d4)
  • exclude reasoning tokens from billing (2bf1d4c)
  • extract perThousandTokens from pricing objects in landing page chips (99b5757)
  • grep exact http-password line to avoid concatenating limited-access password (45e5afd)
  • harden security — timing-safe auth, input validation, Content-Type checks (a5731e3)
  • landing page credit persistence, free tier sync, hold display (98e69f7)
  • load allowlist file before config validation so --allowlist-file works standalone (89e2de9)
  • merge security-review — add models cache, stream inactivity timeout (edee94a)
  • move status bar inside chat box and show balance on page load (3e176a6)
  • move toll headers to post-handler middleware (f1eae63)
  • pass x402 config to discovery generators in server.ts (4ba6bec)
  • prevent OOM, stream timeouts, auth mode validation (240bda6)
  • quote jq filter to prevent zsh glob expansion (22583b5)
  • remove free request counter from status bar, only show token balance for paid credit (9cf4617)
  • remove hardcoded VPS IP from deploy script (0239897)
  • rename remaining Token Toll references to satgate in discovery endpoints (15109be)
  • reset free token budget daily instead of per session (2b8ce41)
  • security hardening — error sanitisation, response limits, config validation (cf68d3b)
  • security hardening — stream leak, upstream timeout, input validation (069b41f)
  • security hardening — timing-safe secrets, upstream timeouts, input validation (3f7cbd9)
  • show payment overlay immediately when free tokens run out during streaming (ed1e1bb)
  • show token balance instead of sats in status bar, convert using model pricing (c516fba)
  • stop legacy token-toll container in deploy script (21b0c74)
  • use dynamic UID for data dir ownership in deploy script (930527f)
  • use Hono c.header() for credit balance headers (bfc8eda)
  • use Node 24 LTS, exclude local-only integration test in CI (1abea8b)
  • use published toll-booth package from npm (0c4999c)

Features

  • add --token-price and --model-price CLI flags and CliArgs fields (e53e471)
  • add AI proxy handler with streaming and non-streaming support (c27d7eb)
  • add allowlist identity checker with Bearer secret support (d9df302)
  • add auth middleware with open/lightning/allowlist routing (d3b48d9)
  • add CLI entry point with arg parsing and startup banner (e227cd2)
  • add cloudflare tunnel manager with auto-detect and URL parsing (c8c1b7c)
  • add concurrent request capacity tracker (64876d1)
  • add config module with layered loading (023156f)
  • add demo server with mock Lightning for VHS recording (7975a2e)
  • add Dockerfile, .dockerignore, and Hetzner deploy script (efd3624)
  • add GET / route to serve landing page (c934705)
  • add Hono server with payment, proxy, and discoverability routes (cc2a1f7)
  • add L402 discoverability endpoints (well-known, llms.txt, OpenAPI) (74290c8)
  • add lightning backend factory for phoenixd, lnbits, lnd, cln (cd6cbb2)
  • add logger module with pretty and JSON formatters (45fd4ee)
  • add model pricing resolution module (c6d3bac)
  • add NIP-98 schnorr verification for Nostr pubkey allowlist (cd1853f)
  • add satgate landing page with chat playground (dd77bd7)
  • add serviceName config and forward toll-booth context headers (b1bf358)
  • add SSE streaming proxy with token counting (951c938)
  • add token counter with SSE and buffered usage extraction (ed11bfa)
  • add verbose and logFormat config fields (d9ab222)
  • add VHS tape and hero recording GIF (5054572)
  • add x402 configuration surface (env vars, YAML) (d5576ec)
  • count down tokens in real time as response streams in (573e83f)
  • create logger in CLI, replace console.log startup banner (e4cfde4)
  • expose free tier in discovery endpoint and show balance on page load (0ecb2c9)
  • extend config with lightning, auth, pricing, and tunnel fields (33f1ae9)
  • finalise public API exports (ee357e4)
  • implement per-token CLI pricing in loadConfig (1255fd8)
  • rename token-toll to satgate (2df3d9f)
  • scaffold token-toll repository (f1ea7ab)
  • thread lightning backend to toll-booth and add flat pricing mode (fd1f052)
  • track free token budget with real usage countdown, trigger payment when exhausted (c26f4ca)
  • update CLI with lightning, auth, tunnel, YAML, and Ollama auto-detect (2354f0c)
  • update discovery endpoints for x402 payment method (ff9d69f)
  • update exports and package.json for npm publish (a367eb4)
  • wire logger to server and proxy handler (ce2a985)
  • wire x402 into token-toll server (54426b8)