Skip to content

chore(release): 0.3.4 - #39

Merged
Madraka merged 1 commit into
mainfrom
release/0.3.4
Oct 21, 2026
Merged

Madraka merged 1 commit into
mainfrom
release/0.3.4

Conversation

@Madraka

@Madraka Madraka commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Version bump for 0.3.4 (all @cloudhal/* packages and create-cloudhal, fixed group).

After merge, pnpm release publishes to npm. Then: cloudhal.com and the template to 0.3.4, and the cloudhal.dev docs (which already describe Bearer) get deployed.

🤖 Generated with Claude Code

Agent keys are also accepted as Authorization: Bearer on /mcp, and
Studio shows ready-to-copy client setup after creating a key (#38).
The site MCP points developers to cloudhal.dev's docs (#37). New pnpm
projects install a Cloudhal release on the day it ships (#36).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Madraka <8898640+Madraka@users.noreply.github.com>
@Madraka
Madraka merged commit 3b28ae6 into main Oct 21, 2026
5 checks passed
@Madraka
Madraka deleted the release/0.3.4 branch October 21, 2026 11:33
Madraka added a commit that referenced this pull request Nov 9, 2026
… hardening (#144)

Review round 3 of #178.

1. Eviction matched exempt hosts with `clientId LIKE 'https://%.host/%'`.
   In SQLite `%` spans `/`, so https://junk.example/x.claude.ai/c.json
   passed for claude.ai and was never evicted, which brought the cap
   lockout back. evictCimdClient now reads the oldest grantless
   candidates and judges each by `new URL(clientId).hostname` with the
   same isExempt as admission. It deletes the pick in one atomic batch
   that re-checks the predicate (`clientId IN (?)`).
2. The plugin's cache size, which also bounds its per-origin and
   per-client fetch state, goes from 500 to 10,000.
3. oauthClientsPruneJob takes the deployment's limits (dcrUnusedDays,
   cimdUnusedHours). Test: 120 rows pruned in one run.
4. Test: eviction never removes a client with a live grant, nor a
   well-known host's row older than evictMinutes.
5. Look-alike names are folded with NFKD and their combining marks
   dropped (Cláude, Clȧude), with Armenian, Cherokee and Latin small
   capital look-alikes added to the map. A UTS #39 skeleton stays a
   follow-up.
6. Self-host guide: behind a reverse proxy without
   CLOUDHAL_BEHIND_PROXY=1, every client shares the proxy's rate-limit
   bucket.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Madraka <8898640+Madraka@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant