Files
Codeman/.changeset
Claudia 1a32e63765 fix(http): raw writeHead routes lost every header the security hook set
`reply.raw.writeHead()` writes straight to the Node response and bypasses
Fastify's header store, so everything the `onRequest` security hook granted is
silently dropped on every route that answers that way.

The visible symptom is CORS. The hook emits `Access-Control-Allow-Origin` for
localhost origins, so a page served from a local dev server may call every `/api`
endpoint cross-origin — except the four below, whose requests fail. The security
headers (`X-Content-Type-Options`, `X-Frame-Options`, CSP) were being lost the
same way.

Affected: `GET /api/events`, and `file-raw` / `tail-file` / `download` in
file-routes.ts. Each now spreads the inherited headers first and lets its own
headers win over them.

Tests drive a real WebServer and compare `/api/events` against `/api/status` for
the same Origin — the point of the fix being that the SSE route stops being the
odd one out. Verified in both directions: with the fix removed, 3 of the 5 fail.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 01:31:50 +02:00
..
2026-02-27 10:58:10 +01:00
2026-02-27 10:58:10 +01:00

Changesets

Hello and welcome! This folder has been automatically generated by @changesets/cli, a build tool that works with multi-package repos, or single-package repos to help you version and publish your code. You can find the full documentation for it in the repository.

What is a changeset?

A changeset is a piece of information about changes made in a branch or commit. It holds three bits of information:

  • What packages need to be released
  • What semver bump type each package should receive (major / minor / patch)
  • A summary of the changes

How do I create a changeset?

Run npx changeset or create a .md file in this directory with the following format:

---
"codeman": patch
---

Description of changes

The frontmatter specifies which package(s) to bump and the bump type. The body is the changelog entry.