Skip to content

chore: release server 0.8.63 and cli 0.10.55 - #1391

Merged
vivek7405 merged 1 commit into
mainfrom
chore/release-server-0.8.63
Aug 10, 2026
Merged

chore: release server 0.8.63 and cli 0.10.55#1391
vivek7405 merged 1 commit into
mainfrom
chore/release-server-0.8.63

Conversation

@vivek7405

Copy link
Copy Markdown
Collaborator

Ships the clientIpHeader option (#1390) and the scaffold demo that depends on it (#1388, #1390).

package from to
@webjsdev/server 0.8.62 0.8.63
@webjsdev/cli 0.10.54 0.10.55

core, mcp, and ui picked up nothing since the 0.8.62 batch, so they stay where they are.

Why this one is not just bookkeeping

A freshly scaffolded app installs @webjsdev/* from npm, so today it gets server@0.8.62, whose rateLimit has no clientIpHeader, while the rate-limit demo it also receives tells the reader to reach for that option behind a CDN. The scaffold currently documents an option the installed server does not support.

server carries the option itself: rateLimit({ clientIpHeader }) and clientIp(req, { header }) name the one forwarded header to trust, which is what makes a limiter work behind a CDN whose egress addresses are pinned per connection. Resolution with the option unset is unchanged.

cli carries the two scaffold-side halves: the emitted middleware passing trustProxy: true, and its comments explaining why a CDN deploy also has to name the header. The option is left unset in generated apps on purpose, since the right header depends on the topology and naming the wrong one is a spoofing hazard rather than a no-op.

Ordering and ranges

changelog/server/0.8.63.md carries the earlier date:, so server publishes first. No range bump is needed: packages/cli declares "@webjsdev/server": "^0.8.0", which 0.8.63 satisfies, and nothing else in the workspace pins either package more tightly.

Curation

The generator excerpts the squash body, which for #1390 is one shared narrative spanning both packages, so each entry was rewritten to the slice its own package ships rather than repeating the same prose twice.

Verification

  • node --test test/packaging/*.mjs test/repo-health/*.mjs, 126 pass, 0 fail.
  • The website's changelog reader parses both new entries.
  • Version bumps, the lockfile, and the two changelog files are the whole diff; no source changed in this PR.

Ships the `clientIpHeader` option and the scaffold demo that depends on it.
Without this release a freshly scaffolded app installs server 0.8.62, whose
`rateLimit` has no such option, while the rate-limit demo it also receives
tells the reader to reach for it behind a CDN.

server carries the option itself. cli carries the two scaffold-side halves:
the emitted middleware passing `trustProxy: true`, and its comments explaining
why a CDN deploy also has to name the header. The option stays unset in the
generated app, because the right header depends on the topology.

core, mcp, and ui picked up nothing in the range, so they stay where they are.

The generated notes were curated before committing. The generator excerpts the
squash body, which is one shared narrative across both packages, so each entry
is rewritten to the slice its own package ships.
@vivek7405 vivek7405 self-assigned this Aug 10, 2026
@vivek7405
vivek7405 merged commit 4a33554 into main Aug 10, 2026
10 checks passed
@vivek7405
vivek7405 deleted the chore/release-server-0.8.63 branch August 10, 2026 22:09
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