# Fastify v5.9.0 - Product: Fastify (https://whatsnew.fyi/product/fastify) - Vendor: Fastify - Date: 2026-06-28 - Version: v5.9.0 - Original notes: https://github.com/fastify/fastify/releases/tag/v5.9.0 - Permalink: https://whatsnew.fyi/product/fastify/releases/v5.9.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Add request.mediaType property - **added** — Add support of onMaxParamLength hook - **fixed** — Prevent duplicate res.end in sendTrailer with sync callbacks - **fixed** — Avoid duplicate closeIdleConnections call on native servers - **fixed** — Ensure error.code is present on routing errors - **fixed** — Correct isCustomSerializerCompiler flag check - **fixed** — Validate invalid route logLevel at registration - **fixed** — Use ContentType parser for response schema lookup - **fixed** — Allow request.getValidationFunction() to return undefined - **fixed** — Do not trust forwarded host/proto when socket is missing - **fixed** — Enable diagnostics tracking for async error handlers - **fixed** — Ignore duplicate trailer completions - **fixed** — Include hint and docs URL in FSTWRN004 warning message - **fixed** — Chunk large HTTP/2 buffer replies - **fixed** — Replace AssertionError with FST_ERR_PLUGIN_DEPENDENCY_NOT_REGISTERED in checkDependencies - **changed** — Defer ContentType parsing in getSchemaSerializer until needed - **changed** — Cache parsed ContentType objects in ContentTypeParser - **changed** — Add typeof guard before toString.call in send and onSendEnd - **changed** — Replace find with some in hasKey for correct boolean semantics ##### What's Changed * feat: add request.mediaType by @climba03003 in https://github.com/fastify/fastify/pull/6653 * docs: remove deprecated leveldb plugin and update ecosystem by @Tony133 in https://github.com/fastify/fastify/pull/6661 * chore(sponsor): add bestforandroid by @Eomm in https://github.com/fastify/fastify/pull/6659 * ci: drop Node.js 20 from yarn matrix in package-manager-ci.yml by @Tony133 in https://github.com/fastify/fastify/pull/6662 * fix: prevent duplicate res.end in sendTrailer with sync callbacks by @climba03003 in https://github.com/fastify/fastify/pull/6676 * fix: avoid duplicate closeIdleConnections call on native servers by @trivikr in https://github.com/fastify/fastify/pull/6669 * fix: error.code not present on some routing errors by @mcollina in https://github.com/fastify/fastify/pull/6678 * fix: correct isCustomSerializerCompiler flag check by @eddieran in https://github.com/fastify/fastify/pull/6657 * fix: validate invalid route logLevel at registration by @maxpetrusenko in https://github.com/fastify/fastify/pull/6523 * docs: update contribution rules by @Tony133 in https://github.com/fastify/fastify/pull/6670 * fix: use ContentType parser for response schema lookup by @UlisesGascon in https://github.com/fastify/fastify/pull/6685 * ci(ci): use shared quality workflow by @Fdawgs in https://github.com/fastify/fastify/pull/6688 * fix(types): allow request.getValidationFunction() to return undefined by @trivikr in https://github.com/fastify/fastify/pull/6665 * fix: do not trust forwarded host/proto when socket is missing by @mcollina in https://github.com/fastify/fastify/pull/6684 * perf: defer ContentType parsing in getSchemaSerializer until needed by @aquie00t in https://github.com/fastify/fastify/pull/6692 * perf: cache parsed ContentType objects in ContentTypeParser by @aquie00t in https://github.com/fastify/fastify/pull/6694 * perf: add typeof guard before toString.call in send and onSendEnd by @aquie00t in https://github.com/fastify/fastify/pull/6693 * chore: Bump pnpm/action-setup from 5.0.0 to 6.0.4 by @dependabot[bot] in https://github.com/fastify/fastify/pull/6704 * chore: Bump actions/github-script from 8 to 9 by @dependabot[bot] in https://github.com/fastify/fastify/pull/6705 * chore: Bump JustinBeckwith/linkinator-action from 2.4.0 to 2.4.2 by @dependabot[bot] in https://github.com/fastify/fastify/pull/6706 * docs: correct return503OnClosing comment in route.js by @mcollina in https://github.com/fastify/fastify/pull/6712 * fix: enable diagnostics tracking for async error handlers by @irzix in https://github.com/fastify/fastify/pull/6458 * fix: ignore duplicate trailer completions by @mcollina in https://github.com/fastify/fastify/pull/6714 * feat: add support of onMaxParamLength by @climba03003 in https://github.com/fastify/fastify/pull/6716 * chore: introduce TSTyche for type testing by @mrazauskas in https://github.com/fastify/fastify/pull/6532 * docs(reference): grammar and readability fixes by @Fdawgs in https://github.com/fastify/fastify/pull/6710 * chore: update depedabot setting by @climba03003 in https://github.com/fastify/fastify/pull/6715 * fix: include hint and docs URL in FSTWRN004 warning message by @aquie00t in https://github.com/fastify/fastify/pull/6723 * ci(ci): do not pass secrets to reusable workflow by @Fdawgs in https://github.com/fastify/fastify/pull/6744 * docs: add fastify-intlayer to ecosystem documentation by @aymericzip in https://github.com/fastify/fastify/pull/6594 * chore: Bump concurrently from 9.2.1 to 10.0.0 by @dependabot[bot] in https://github.com/fastify/fastify/pull/6752 * docs(Errors): fix incorrect usage of root fastify inside plugin scope by @Rpaudel379 in https://github.com/fastify/fastify/pull/6731 * ci: add node 26 to test matrices by @Fdawgs in https://github.com/fastify/fastify/pull/6728 * docs(Warnings): remove retired FSTWRN002 warning code by @leestana01 in https://github.com/fastify/fastify/pull/6754 * fix _[Truncated at 4000 characters — full notes: https://github.com/fastify/fastify/releases/tag/v5.9.0]_