Skip to content

Release v4.2.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 00:38
· 16 commits to master since this release
d802628

v4.2.0

Added

  • proxy.fetchWeb(request: Request): Promise<Response> — a Web-standard
    adapter over fetch() for Web runtimes (Hono, Bun, Cloudflare Workers, Deno).
    It takes a WHATWG Request and returns a WHATWG Response, so Web-runtime
    consumers stop hand-rolling the Request -> HttpRequest and Readable ->
    ReadableStream conversion.

    // Hono
    app.on(['GET', 'HEAD'], '/*', (c) => proxy.fetchWeb(c.req.raw));
    // Bun / Deno / Cloudflare Workers
    export default { fetch: (req: Request) => proxy.fetchWeb(req) };

    It is the Web counterpart of pipe() / middleware(). Like fetch() (and
    unlike pipe()), it throws the typed S3ProxyError on 404/403/416, so your
    framework's own error handler owns the error-body format. Uses the runtime's
    global Request/Response — no new dependency.

Developer tooling

  • make artillery-local — fast local-source load-test loop: runs the shared
    @forkzero/s3-website-test-kit against a tsx example server on your local
    src/, with no build and no Docker image. make artillery-docker remains the
    container-parity path.

Internal

  • Load-test configs and scenarios extracted to the published, target-agnostic
    @forkzero/s3-website-test-kit
    package (shared with forkzero/s3proxy-docker), replacing the in-repo
    shared-testing/ directory.

Compatibility

No breaking changes. ESM-only, Node.js 22.13+, AWS SDK v3.

Full API reference and examples in the
README; upgrade notes in
MIGRATION.md.