Skip to content

perf: update method matching#5419

Merged
mcollina merged 9 commits intofastify:nextfrom
gurgunday:update-method-match
May 1, 2024
Merged

perf: update method matching#5419
mcollina merged 9 commits intofastify:nextfrom
gurgunday:update-method-match

Conversation

@gurgunday
Copy link
Member

@gurgunday gurgunday commented Apr 21, 2024

For such a hot path, there are too many string comparisons in handleRequest.js

Especially as we support more methods, performance might drop as we do one by one string comparison to find the right method

Another problem is that since there is nothing linking httpMethods.js and handleRequest.js, it's easy to forget modifying handleRequest.js when adding new supported methods, this has caused PRs like #5411

So now everything concerning supported methods is coming from one file/source of truth — httpMethods.js

Note: Sets are like Maps and they perform really well for string matching

Other changes

A test at test/helper.js was modified because it is wrong, RFC states:

A client that generates an OPTIONS request containing content MUST send a valid Content-Type header field describing the representation media type. Note that this specification does not define any use for such content.

The test was sending content while not setting a valid Content-Type header, so it shouldn't pass

Only OPTIONS can have the Content-Type header without a body, there is no reason to give DELETE the same treatment according to the RFC

TRACE MUST NOT have a body, like GET and HEAD

A client MUST NOT send content in a TRACE request.

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mcollina
Copy link
Member

Benchmarks are needed

@gurgunday
Copy link
Member Author

next:

npm run benchmark:parser

[1] Running 30s test @ http://localhost:3000/
[1] 100 connections with 10 pipelining factor
[1] 
[1] 
[1] ┌─────────┬──────┬──────┬───────┬───────┬─────────┬─────────┬────────┐
[1] │ Stat    │ 2.5% │ 50%  │ 97.5% │ 99%   │ Avg     │ Stdev   │ Max    │
[1] ├─────────┼──────┼──────┼───────┼───────┼─────────┼─────────┼────────┤
[1] │ Latency │ 4 ms │ 9 ms │ 14 ms │ 19 ms │ 8.75 ms │ 3.43 ms │ 242 ms │
[1] └─────────┴──────┴──────┴───────┴───────┴─────────┴─────────┴────────┘
[1] ┌───────────┬─────────┬─────────┬─────────┬─────────┬───────────┬──────────┬─────────┐
[1] │ Stat      │ 1%      │ 2.5%    │ 50%     │ 97.5%   │ Avg       │ Stdev    │ Min     │
[1] ├───────────┼─────────┼─────────┼─────────┼─────────┼───────────┼──────────┼─────────┤
[1] │ Req/Sec   │ 86,143  │ 86,143  │ 108,799 │ 116,479 │ 108,172.8 │ 7,029.02 │ 86,085  │
[1] ├───────────┼─────────┼─────────┼─────────┼─────────┼───────────┼──────────┼─────────┤
[1] │ Bytes/Sec │ 16.2 MB │ 16.2 MB │ 20.5 MB │ 21.9 MB │ 20.3 MB   │ 1.32 MB  │ 16.2 MB │
[1] └───────────┴─────────┴─────────┴─────────┴─────────┴───────────┴──────────┴─────────┘
[1] 
[1] Req/Bytes counts sampled once per second.
[1] # of samples: 30
[1] 
[1] 3246k requests in 30.02s, 610 MB read

PR:

npm run benchmark:parser

[1] Running 30s test @ http://localhost:3000/
[1] 100 connections with 10 pipelining factor
[1] 
[1] 
[1] ┌─────────┬──────┬───────┬───────┬───────┬─────────┬─────────┬────────┐
[1] │ Stat    │ 2.5% │ 50%   │ 97.5% │ 99%   │ Avg     │ Stdev   │ Max    │
[1] ├─────────┼──────┼───────┼───────┼───────┼─────────┼─────────┼────────┤
[1] │ Latency │ 4 ms │ 10 ms │ 11 ms │ 13 ms │ 8.48 ms │ 2.95 ms │ 220 ms │
[1] └─────────┴──────┴───────┴───────┴───────┴─────────┴─────────┴────────┘
[1] ┌───────────┬─────────┬─────────┬─────────┬─────────┬────────────┬──────────┬─────────┐
[1] │ Stat      │ 1%      │ 2.5%    │ 50%     │ 97.5%   │ Avg        │ Stdev    │ Min     │
[1] ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────┼──────────┼─────────┤
[1] │ Req/Sec   │ 90,751  │ 90,751  │ 112,703 │ 114,943 │ 111,325.87 │ 4,625.88 │ 90,750  │
[1] ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────┼──────────┼─────────┤
[1] │ Bytes/Sec │ 17.1 MB │ 17.1 MB │ 21.2 MB │ 21.6 MB │ 20.9 MB    │ 868 kB   │ 17.1 MB │
[1] └───────────┴─────────┴─────────┴─────────┴─────────┴────────────┴──────────┴─────────┘
[1] 
[1] Req/Bytes counts sampled once per second.
[1] # of samples: 30
[1] 
[1] 3341k requests in 30.02s, 628 MB read

@gurgunday
Copy link
Member Author

gurgunday commented Apr 22, 2024

I used the parser bench because otherwise difference is even more negligible, we should use a method like POST to see next doing multiple string comparisons and falling behind

@gurgunday
Copy link
Member Author

gurgunday commented Apr 22, 2024

This is better, the benchmark script modified with the DELETE method, which gets matched last in next

The reply code was non 200 because it returns 404 but the matching happens

next:

> fastify@5.0.0-dev benchmark
> concurrently -k -s first "node ./examples/benchmark/simple.js" "autocannon -c 100 -d 30 -p 10 -m DELETE localhost:3000/"

[1] Running 30s test @ http://localhost:3000/
[1] 100 connections with 10 pipelining factor
[1] 
[1] 
[1] ┌─────────┬──────┬──────┬───────┬───────┬─────────┬─────────┬────────┐
[1] │ Stat    │ 2.5% │ 50%  │ 97.5% │ 99%   │ Avg     │ Stdev   │ Max    │
[1] ├─────────┼──────┼──────┼───────┼───────┼─────────┼─────────┼────────┤
[1] │ Latency │ 4 ms │ 9 ms │ 12 ms │ 15 ms │ 7.94 ms │ 3.39 ms │ 263 ms │
[1] └─────────┴──────┴──────┴───────┴───────┴─────────┴─────────┴────────┘
[1] ┌───────────┬─────────┬─────────┬─────────┬─────────┬────────────┬──────────┬─────────┐
[1] │ Stat      │ 1%      │ 2.5%    │ 50%     │ 97.5%   │ Avg        │ Stdev    │ Min     │
[1] ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────┼──────────┼─────────┤
[1] │ Req/Sec   │ 99,775  │ 99,775  │ 120,447 │ 124,543 │ 118,353.07 │ 6,056.42 │ 99,747  │
[1] ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────┼──────────┼─────────┤
[1] │ Bytes/Sec │ 25.2 MB │ 25.2 MB │ 30.5 MB │ 31.5 MB │ 29.9 MB    │ 1.53 MB  │ 25.2 MB │
[1] └───────────┴─────────┴─────────┴─────────┴─────────┴────────────┴──────────┴─────────┘
[1] 
[1] Req/Bytes counts sampled once per second.
[1] # of samples: 30
[1] 
[1] 0 2xx responses, 3550688 non 2xx responses
[1] 3552k requests in 30.02s, 898 MB read

PR:

> fastify@5.0.0-dev benchmark
> concurrently -k -s first "node ./examples/benchmark/simple.js" "autocannon -c 100 -d 30 -p 10 -m DELETE localhost:3000/"

[1] Running 30s test @ http://localhost:3000/
[1] 100 connections with 10 pipelining factor
[1] 
[1] 
[1] ┌─────────┬──────┬──────┬───────┬───────┬─────────┬─────────┬────────┐
[1] │ Stat    │ 2.5% │ 50%  │ 97.5% │ 99%   │ Avg     │ Stdev   │ Max    │
[1] ├─────────┼──────┼──────┼───────┼───────┼─────────┼─────────┼────────┤
[1] │ Latency │ 4 ms │ 9 ms │ 10 ms │ 11 ms │ 7.74 ms │ 2.88 ms │ 240 ms │
[1] └─────────┴──────┴──────┴───────┴───────┴─────────┴─────────┴────────┘
[1] ┌───────────┬─────────┬─────────┬─────────┬─────────┬────────────┬──────────┬─────────┐
[1] │ Stat      │ 1%      │ 2.5%    │ 50%     │ 97.5%   │ Avg        │ Stdev    │ Min     │
[1] ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────┼──────────┼─────────┤
[1] │ Req/Sec   │ 102,847 │ 102,847 │ 122,431 │ 123,327 │ 121,461.34 │ 3,603.13 │ 102,810 │
[1] ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────┼──────────┼─────────┤
[1] │ Bytes/Sec │ 26 MB   │ 26 MB   │ 31 MB   │ 31.2 MB │ 30.7 MB    │ 912 kB   │ 26 MB   │
[1] └───────────┴─────────┴─────────┴─────────┴─────────┴────────────┴──────────┴─────────┘
[1] 
[1] Req/Bytes counts sampled once per second.
[1] # of samples: 30
[1] 
[1] 0 2xx responses, 3643674 non 2xx responses
[1] 3645k requests in 30.02s, 922 MB read

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

still lgtm

Copy link
Member

@metcoder95 metcoder95 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with @mcollina comments

})

// https://github.com/fastify/fastify/issues/936
test('shorthand - delete with application/json Content-Type header and without body', t => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand the RFC etc.. but this stops the fastify adoption to big (legacy) companies and tools.

I would create a new issue/feature request as follow-up, to let the user to customise the new bodylessMethods prop

Copy link
Member Author

@gurgunday gurgunday Apr 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Problem is DELETE is also in the class of methods that is permitted to have a body, so in that case DELETE would be broken for requests with with a body — not the best tradeoff even if we let customization imo

The issue in that test is sending the Content-Type header application/json with an empty body, this is just an incorrect request — they should've sent something like '{}' or not set the Content-Type header...

But I can add a 'DELETE' string literal here if you think this would really cause companies a headache:

if (contentLength === undefined && transferEncoding === undefined && method === 'OPTIONS') {
// OPTIONS can have a Content-Type header without a body
handler(request, reply)
return
}

 if (contentLength === undefined && transferEncoding === undefined && (method === 'OPTIONS' || method === 'DELETE')) { 
   // OPTIONS (and DELETE) can have a Content-Type header without a body 
   handler(request, reply) 
   return 
 } 

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue in that test is sending (an invalid) Content-Type header like application/json with an empty body, this is just an incorrect request

But null is a valid JSON: is the body empty/missing from the request?
I thought inject submits null as body payload.

In this case let's skip it

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean this passes:

// https://github.com/fastify/fastify/issues/936
test('shorthand - delete with application/json Content-Type header and without body', t => {
  t.plan(4)
  const fastify = require('..')()
  fastify.delete('/', {}, (req, reply) => {
    t.equal(req.body, null)
    reply.send(req.body)
  })
  fastify.inject({
    method: 'DELETE',
    url: '/',
    headers: { 'Content-Type': 'application/json' },
    body: 'null'
  }, (err, response) => {
    t.error(err)
    t.equal(response.statusCode, 200)
    t.same(response.payload.toString(), 'null')
  })
})

@gurgunday gurgunday mentioned this pull request Apr 23, 2024
2 tasks
@gurgunday

This comment was marked as off-topic.

@gurgunday gurgunday requested a review from Eomm April 23, 2024 10:34
@gurgunday
Copy link
Member Author

@Eomm could you take another look to the tests and my explication, can we land this?

Asking because we should release a beta soon and update the plugins to use it

Copy link
Member

@Eomm Eomm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

last suggestions then feel free to merge 👍🏼

@Eomm Eomm added v5.x Issue or pr related to Fastify v5 notable-change A change that should be explicitly outlined in release notes and migration guides labels Apr 26, 2024
gurgunday and others added 2 commits April 26, 2024 14:18
Co-authored-by: Manuel Spigolon <behemoth89@gmail.com>
Signed-off-by: Gürgün Dayıoğlu <hey@gurgun.day>
Co-authored-by: Manuel Spigolon <behemoth89@gmail.com>
Signed-off-by: Gürgün Dayıoğlu <hey@gurgun.day>
@gurgunday
Copy link
Member Author

@mcollina this can merge 😄

Can we have a prerelease/alpha/beta soon?

@mcollina mcollina merged commit ad89250 into fastify:next May 1, 2024
@gurgunday gurgunday deleted the update-method-match branch May 1, 2024 13:44
jsumners added a commit that referenced this pull request May 4, 2024
github-merge-queue bot referenced this pull request in rustymotors/server Sep 17, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [fastify](https://fastify.dev/)
([source](https://redirect.github.com/fastify/fastify)) | [`^4.28.1` ->
`^5.0.0`](https://renovatebot.com/diffs/npm/fastify/4.28.1/5.0.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/fastify/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fastify/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fastify/4.28.1/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fastify/4.28.1/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>fastify/fastify (fastify)</summary>

###
[`v5.0.0`](https://redirect.github.com/fastify/fastify/releases/tag/v5.0.0)

[Compare
Source](https://redirect.github.com/fastify/fastify/compare/v4.28.1...v5.0.0)

#### What's Changed

- add missing route shorthands by
[@&#8203;Uzlopak](https://redirect.github.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4409](https://redirect.github.com/fastify/fastify/pull/4409)
- lib: drop setDefaultRoute and getDefaultRoute methods by
[@&#8203;RafaelGSS](https://redirect.github.com/RafaelGSS) in
[https://github.com/fastify/fastify/pull/4485](https://redirect.github.com/fastify/fastify/pull/4485)
- Sync next-branch by
[@&#8203;github-actions](https://redirect.github.com/github-actions) in
[https://github.com/fastify/fastify/pull/4815](https://redirect.github.com/fastify/fastify/pull/4815)
- Next: Disallow `decorate('name', null)` in the types by
[@&#8203;voxpelli](https://redirect.github.com/voxpelli) in
[https://github.com/fastify/fastify/pull/4878](https://redirect.github.com/fastify/fastify/pull/4878)
- feat!: Add req.hostname and req.port by
[@&#8203;aarontravass](https://redirect.github.com/aarontravass) in
[https://github.com/fastify/fastify/pull/4766](https://redirect.github.com/fastify/fastify/pull/4766)
- Change request id header default value to false by
[@&#8203;philippviereck](https://redirect.github.com/philippviereck) in
[https://github.com/fastify/fastify/pull/4194](https://redirect.github.com/fastify/fastify/pull/4194)
- Remove deprecated variadic listen by
[@&#8203;jsumners](https://redirect.github.com/jsumners) in
[https://github.com/fastify/fastify/pull/4900](https://redirect.github.com/fastify/fastify/pull/4900)
- Sync next-branch by
[@&#8203;github-actions](https://redirect.github.com/github-actions) in
[https://github.com/fastify/fastify/pull/4894](https://redirect.github.com/fastify/fastify/pull/4894)
- fix: requestIdHeader docs by
[@&#8203;philippviereck](https://redirect.github.com/philippviereck) in
[https://github.com/fastify/fastify/pull/4916](https://redirect.github.com/fastify/fastify/pull/4916)
- Sync next-branch by
[@&#8203;github-actions](https://redirect.github.com/github-actions) in
[https://github.com/fastify/fastify/pull/4930](https://redirect.github.com/fastify/fastify/pull/4930)
- Sync next-branch by
[@&#8203;github-actions](https://redirect.github.com/github-actions) in
[https://github.com/fastify/fastify/pull/4941](https://redirect.github.com/fastify/fastify/pull/4941)
- types: Remove variadic listen types by
[@&#8203;Uzlopak](https://redirect.github.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4966](https://redirect.github.com/fastify/fastify/pull/4966)
- fix: remove http version check by
[@&#8203;beyazit](https://redirect.github.com/beyazit) in
[https://github.com/fastify/fastify/pull/4962](https://redirect.github.com/fastify/fastify/pull/4962)
- feat: new logger api by
[@&#8203;aarontravass](https://redirect.github.com/aarontravass) in
[https://github.com/fastify/fastify/pull/5020](https://redirect.github.com/fastify/fastify/pull/5020)
- fix(plugins): mixing async and callback style now returns an error by
[@&#8203;giuliowaitforitdavide](https://redirect.github.com/giuliowaitforitdavide)
in
[https://github.com/fastify/fastify/pull/5141](https://redirect.github.com/fastify/fastify/pull/5141)
- feat: align fastify.hasRoute to fmw.hasRoute by
[@&#8203;dancastillo](https://redirect.github.com/dancastillo) in
[https://github.com/fastify/fastify/pull/5102](https://redirect.github.com/fastify/fastify/pull/5102)
- feat: set useSemicolonDefault default option to false by
[@&#8203;dancastillo](https://redirect.github.com/dancastillo) in
[https://github.com/fastify/fastify/pull/5320](https://redirect.github.com/fastify/fastify/pull/5320)
- feat: make contentTypeParser's existingParser check more strict by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5329](https://redirect.github.com/fastify/fastify/pull/5329)
- feat: loosen content-type checking by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/4450](https://redirect.github.com/fastify/fastify/pull/4450)
- feat: rework contentTypeParser methods by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5372](https://redirect.github.com/fastify/fastify/pull/5372)
- perf: limit search space for contentType by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5400](https://redirect.github.com/fastify/fastify/pull/5400)
- perf: update method matching by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5419](https://redirect.github.com/fastify/fastify/pull/5419)
- chore: updated dependencies to latest versions by
[@&#8203;puskin94](https://redirect.github.com/puskin94) in
[https://github.com/fastify/fastify/pull/5422](https://redirect.github.com/fastify/fastify/pull/5422)
- chore: merge next into main for v5 release by
[@&#8203;jsumners](https://redirect.github.com/jsumners) in
[https://github.com/fastify/fastify/pull/5446](https://redirect.github.com/fastify/fastify/pull/5446)
- docs(ref/typescript): support Docusaurus v3 by
[@&#8203;james-kaguru](https://redirect.github.com/james-kaguru) in
[https://github.com/fastify/fastify/pull/5450](https://redirect.github.com/fastify/fastify/pull/5450)
- chore: remove unused dependency and fix ci by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5454](https://redirect.github.com/fastify/fastify/pull/5454)
- feat: (types) add shorthand types for MKCALENDAR and REPORT by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5455](https://redirect.github.com/fastify/fastify/pull/5455)
- fix: ci labeler by [@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5463](https://redirect.github.com/fastify/fastify/pull/5463)
- docs(guides/database): correct typo by
[@&#8203;monish001](https://redirect.github.com/monish001) in
[https://github.com/fastify/fastify/pull/5461](https://redirect.github.com/fastify/fastify/pull/5461)
- test: add tests for error handling by
[@&#8203;domdomegg](https://redirect.github.com/domdomegg) in
[https://github.com/fastify/fastify/pull/5451](https://redirect.github.com/fastify/fastify/pull/5451)
- docs(reference/routes): fix example on constraints by
[@&#8203;Cadienvan](https://redirect.github.com/Cadienvan) in
[https://github.com/fastify/fastify/pull/5468](https://redirect.github.com/fastify/fastify/pull/5468)
- perf: Optimize resolving X-Forwarded-For addresses by
[@&#8203;dmkng](https://redirect.github.com/dmkng) in
[https://github.com/fastify/fastify/pull/5458](https://redirect.github.com/fastify/fastify/pull/5458)
- fix: `config` type in RouteShorthandOptions by
[@&#8203;BrianValente](https://redirect.github.com/BrianValente) in
[https://github.com/fastify/fastify/pull/5355](https://redirect.github.com/fastify/fastify/pull/5355)
- feat: request and reply decorators can not be a reference type by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5462](https://redirect.github.com/fastify/fastify/pull/5462)
- docs: update indentation on type providers section by
[@&#8203;Tony133](https://redirect.github.com/Tony133) in
[https://github.com/fastify/fastify/pull/5474](https://redirect.github.com/fastify/fastify/pull/5474)
- feat: log all available addresses if listening host is 0.0.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5476](https://redirect.github.com/fastify/fastify/pull/5476)
- chore: remove node 18 from CI by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5481](https://redirect.github.com/fastify/fastify/pull/5481)
- feat: writeEarlyHints by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5480](https://redirect.github.com/fastify/fastify/pull/5480)
- docs: update indentation and code snippet in the routes section by
[@&#8203;Tony133](https://redirect.github.com/Tony133) in
[https://github.com/fastify/fastify/pull/5482](https://redirect.github.com/fastify/fastify/pull/5482)
- refactor: change `reply.redirect()` signature by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5483](https://redirect.github.com/fastify/fastify/pull/5483)
- docs: update indentation and code snippet in the type providers
section by [@&#8203;Tony133](https://redirect.github.com/Tony133) in
[https://github.com/fastify/fastify/pull/5485](https://redirect.github.com/fastify/fastify/pull/5485)
- feat: emit diagnostics_channel events upon routing request by
[@&#8203;tlhunter](https://redirect.github.com/tlhunter) in
[https://github.com/fastify/fastify/pull/5252](https://redirect.github.com/fastify/fastify/pull/5252)
- chore: Bump pnpm/action-setup from 3 to 4 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5492](https://redirect.github.com/fastify/fastify/pull/5492)
- chore: remove unnecessary eslint override by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5493](https://redirect.github.com/fastify/fastify/pull/5493)
- docs(ecosystem): Add fastify-kysely plugin by
[@&#8203;alenap93](https://redirect.github.com/alenap93) in
[https://github.com/fastify/fastify/pull/5475](https://redirect.github.com/fastify/fastify/pull/5475)
- chore: update tap@19 by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5471](https://redirect.github.com/fastify/fastify/pull/5471)
- chore: Remove `reply.getReponseTime()` in
[https://github.com/fastify/fastify/pull/5490](https://redirect.github.com/fastify/fastify/pull/5490)
- chore: remove unused test by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5496](https://redirect.github.com/fastify/fastify/pull/5496)
- chore: readyListener can be async on server.ready() by
[@&#8203;remidewitte](https://redirect.github.com/remidewitte) in
[https://github.com/fastify/fastify/pull/5501](https://redirect.github.com/fastify/fastify/pull/5501)
- chore: test deprecation cleanup by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5510](https://redirect.github.com/fastify/fastify/pull/5510)
- chore: Migrate to neostandard by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5509](https://redirect.github.com/fastify/fastify/pull/5509)
- fix: hasRoute method comparison with case insensitive by
[@&#8203;SMNBLMRR](https://redirect.github.com/SMNBLMRR) in
[https://github.com/fastify/fastify/pull/5508](https://redirect.github.com/fastify/fastify/pull/5508)
- feat(types): Introduce SafePromiseLike by
[@&#8203;rozzilla](https://redirect.github.com/rozzilla) in
[https://github.com/fastify/fastify/pull/5506](https://redirect.github.com/fastify/fastify/pull/5506)
- fix: Type inferrence with auxilliary hook handlers by
[@&#8203;aadito123](https://redirect.github.com/aadito123) in
[https://github.com/fastify/fastify/pull/5517](https://redirect.github.com/fastify/fastify/pull/5517)
- docs: addContentTypeParser with fastify.register by
[@&#8203;moradebianchetti81](https://redirect.github.com/moradebianchetti81)
in
[https://github.com/fastify/fastify/pull/5499](https://redirect.github.com/fastify/fastify/pull/5499)
- docs: remove navigation for empty content by
[@&#8203;liuhanqu](https://redirect.github.com/liuhanqu) in
[https://github.com/fastify/fastify/pull/5521](https://redirect.github.com/fastify/fastify/pull/5521)
- fix: server.listen listener is not cleanup properly by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5522](https://redirect.github.com/fastify/fastify/pull/5522)
- feat: type definitions and documentation for separated type provider.
by [@&#8203;Bram-dc](https://redirect.github.com/Bram-dc) in
[https://github.com/fastify/fastify/pull/5427](https://redirect.github.com/fastify/fastify/pull/5427)
- chore: support pre and alpha tags by
[@&#8203;jsumners](https://redirect.github.com/jsumners) in
[https://github.com/fastify/fastify/pull/5528](https://redirect.github.com/fastify/fastify/pull/5528)
- chore: Bump the dependencies-major group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5530](https://redirect.github.com/fastify/fastify/pull/5530)
- chore: Bump neostandard from 0.7.2 to 0.8.0 in the dev-dependencies
group by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5531](https://redirect.github.com/fastify/fastify/pull/5531)
- fix(v5): update .npmignore by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5537](https://redirect.github.com/fastify/fastify/pull/5537)
- test: fix test finished earlier than expected by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5540](https://redirect.github.com/fastify/fastify/pull/5540)
- chore: rm < node19 support from secondaryServer.close() by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5542](https://redirect.github.com/fastify/fastify/pull/5542)
- chore(sponsor): add valtown by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5543](https://redirect.github.com/fastify/fastify/pull/5543)
- chore: Bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5546](https://redirect.github.com/fastify/fastify/pull/5546)
- docs: use `http2` directive in nginx config by
[@&#8203;LiviaMedeiros](https://redirect.github.com/LiviaMedeiros) in
[https://github.com/fastify/fastify/pull/5548](https://redirect.github.com/fastify/fastify/pull/5548)
- chore: Bump neostandard from 0.10.0 to 0.11.0 in the dev-dependencies
group by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5554](https://redirect.github.com/fastify/fastify/pull/5554)
- chore: fix lint by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5558](https://redirect.github.com/fastify/fastify/pull/5558)
- ci: remove automerge from ci alternative runtimes by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5557](https://redirect.github.com/fastify/fastify/pull/5557)
- feat: support different body schema per content type by
[@&#8203;nflaig](https://redirect.github.com/nflaig) in
[https://github.com/fastify/fastify/pull/5545](https://redirect.github.com/fastify/fastify/pull/5545)
- chore: remove dc-polyfill by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5560](https://redirect.github.com/fastify/fastify/pull/5560)
- fix: res serializer not given reply
([#&#8203;5556](https://redirect.github.com/fastify/fastify/issues/5556))
by [@&#8203;mch-dsk](https://redirect.github.com/mch-dsk) in
[https://github.com/fastify/fastify/pull/5561](https://redirect.github.com/fastify/fastify/pull/5561)
- chore: Bump process-warning from 3.0.0 to 4.0.0 in the
dependencies-major group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5568](https://redirect.github.com/fastify/fastify/pull/5568)
- chore: Bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5569](https://redirect.github.com/fastify/fastify/pull/5569)
- chore: allow ! in PR title by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5571](https://redirect.github.com/fastify/fastify/pull/5571)
- docs: add
[@&#8203;pybot/fastify-autoload](https://redirect.github.com/pybot/fastify-autoload)
to comm plugins by
[@&#8203;kunal097](https://redirect.github.com/kunal097) in
[https://github.com/fastify/fastify/pull/5579](https://redirect.github.com/fastify/fastify/pull/5579)
- feat: customize http methods by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5567](https://redirect.github.com/fastify/fastify/pull/5567)
- refactor(typescript): re-order FastifyReply generic parameters by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5570](https://redirect.github.com/fastify/fastify/pull/5570)
- docs: Adding `crudify-mongo` plugin to community list by
[@&#8203;aaroncadillac](https://redirect.github.com/aaroncadillac) in
[https://github.com/fastify/fastify/pull/5581](https://redirect.github.com/fastify/fastify/pull/5581)
- docs(reference/typescript): remove type provider from typebox example
by [@&#8203;jscheffner](https://redirect.github.com/jscheffner) in
[https://github.com/fastify/fastify/pull/5576](https://redirect.github.com/fastify/fastify/pull/5576)
- refactor!: remove json shorthand by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5586](https://redirect.github.com/fastify/fastify/pull/5586)
- chore: remove deprecation 005 by
[@&#8203;jsumners](https://redirect.github.com/jsumners) in
[https://github.com/fastify/fastify/pull/5589](https://redirect.github.com/fastify/fastify/pull/5589)
- fix: nullish host by
[@&#8203;sourcecodeit](https://redirect.github.com/sourcecodeit) in
[https://github.com/fastify/fastify/pull/5590](https://redirect.github.com/fastify/fastify/pull/5590)
- chore(sponsor): add handsontable by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5592](https://redirect.github.com/fastify/fastify/pull/5592)
- fix: removed warning listener from tests by
[@&#8203;sourcecodeit](https://redirect.github.com/sourcecodeit) in
[https://github.com/fastify/fastify/pull/5598](https://redirect.github.com/fastify/fastify/pull/5598)
- fix: test suite import.js emitting errors by
[@&#8203;dancastillo](https://redirect.github.com/dancastillo) in
[https://github.com/fastify/fastify/pull/5599](https://redirect.github.com/fastify/fastify/pull/5599)
- chore: Bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
20.14.13 to 22.0.0 in the dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5600](https://redirect.github.com/fastify/fastify/pull/5600)
- docs(reply): standardize import style in examples by
[@&#8203;Tony133](https://redirect.github.com/Tony133) in
[https://github.com/fastify/fastify/pull/5580](https://redirect.github.com/fastify/fastify/pull/5580)
- docs(typescript): update example fastify version by
[@&#8203;Fdawgs](https://redirect.github.com/Fdawgs) in
[https://github.com/fastify/fastify/pull/5602](https://redirect.github.com/fastify/fastify/pull/5602)
- refactor: remove FSTDEP007 by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5604](https://redirect.github.com/fastify/fastify/pull/5604)
- refactor: remove `FSTDEP008` and `FSTDEP009` by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5609](https://redirect.github.com/fastify/fastify/pull/5609)
- refactor: remove `FSTDEP010` by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5611](https://redirect.github.com/fastify/fastify/pull/5611)
- refactor: remove `FSTDEP021` by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5613](https://redirect.github.com/fastify/fastify/pull/5613)
- refactor: use `Object.hasOwn` by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5614](https://redirect.github.com/fastify/fastify/pull/5614)
- refactor: remove `FSTDEP012`, `FSTDEP015`, `FSTDEP016`, `FSTDEP017`,
`FSTDEP018`, `FSTDEP019` by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5616](https://redirect.github.com/fastify/fastify/pull/5616)
- refactor: remove `FSTDEP013` by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5618](https://redirect.github.com/fastify/fastify/pull/5618)
- fix: throwing "FST_ERR_DUPLICATED_ROUTE" error instead of raw error by
[@&#8203;Rantoledo](https://redirect.github.com/Rantoledo) in
[https://github.com/fastify/fastify/pull/5621](https://redirect.github.com/fastify/fastify/pull/5621)
- chore: Bump
[@&#8203;sinclair/typebox](https://redirect.github.com/sinclair/typebox)
from 0.32.35 to 0.33.4 in the dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5625](https://redirect.github.com/fastify/fastify/pull/5625)
- fix: reorder handling of `Response` replies by
[@&#8203;barbieri](https://redirect.github.com/barbieri) in
[https://github.com/fastify/fastify/pull/5612](https://redirect.github.com/fastify/fastify/pull/5612)
- ci(.github): use latest node lts version by
[@&#8203;Fdawgs](https://redirect.github.com/Fdawgs) in
[https://github.com/fastify/fastify/pull/5577](https://redirect.github.com/fastify/fastify/pull/5577)
- docs: add default value for maxParamLength by
[@&#8203;busybox11](https://redirect.github.com/busybox11) in
[https://github.com/fastify/fastify/pull/5630](https://redirect.github.com/fastify/fastify/pull/5630)
- chore: simplify `neostandard` setup by
[@&#8203;voxpelli](https://redirect.github.com/voxpelli) in
[https://github.com/fastify/fastify/pull/5635](https://redirect.github.com/fastify/fastify/pull/5635)
- chore: fix sponsor link by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5640](https://redirect.github.com/fastify/fastify/pull/5640)
- docs: move RafaelGSS to past collaborators by
[@&#8203;RafaelGSS](https://redirect.github.com/RafaelGSS) in
[https://github.com/fastify/fastify/pull/5645](https://redirect.github.com/fastify/fastify/pull/5645)
- docs(type-providers): fix typos by
[@&#8203;mikesamm](https://redirect.github.com/mikesamm) in
[https://github.com/fastify/fastify/pull/5651](https://redirect.github.com/fastify/fastify/pull/5651)
- feat: add fastify v4 codemods by
[@&#8203;arshcodemod](https://redirect.github.com/arshcodemod) in
[https://github.com/fastify/fastify/pull/5642](https://redirect.github.com/fastify/fastify/pull/5642)
- chore: bump find-my-way to v9 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5652](https://redirect.github.com/fastify/fastify/pull/5652)
- chore: bump ajv-compiler to v4.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5653](https://redirect.github.com/fastify/fastify/pull/5653)
- chore: Bumped light-my-request to v6.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5655](https://redirect.github.com/fastify/fastify/pull/5655)
- chore: Bumped avvio to v9.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5656](https://redirect.github.com/fastify/fastify/pull/5656)
- chore: bump fast-json-stringify-compiler to v5.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5660](https://redirect.github.com/fastify/fastify/pull/5660)
- docs: add dancastillo to Fastify Plugins team by
[@&#8203;dancastillo](https://redirect.github.com/dancastillo) in
[https://github.com/fastify/fastify/pull/5668](https://redirect.github.com/fastify/fastify/pull/5668)
- docs: join plugin team by
[@&#8203;jean-michelet](https://redirect.github.com/jean-michelet) in
[https://github.com/fastify/fastify/pull/5677](https://redirect.github.com/fastify/fastify/pull/5677)
- chore: list the next deprecation code by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5673](https://redirect.github.com/fastify/fastify/pull/5673)
- types: remove nonexistant done parameter from onRegister by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5678](https://redirect.github.com/fastify/fastify/pull/5678)
- docs: add v5 guide by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5674](https://redirect.github.com/fastify/fastify/pull/5674)
- feat: bind `this` to instance in onclose by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5670](https://redirect.github.com/fastify/fastify/pull/5670)
- docs: update v4 codemods by
[@&#8203;mohab-sameh](https://redirect.github.com/mohab-sameh) in
[https://github.com/fastify/fastify/pull/5666](https://redirect.github.com/fastify/fastify/pull/5666)
- docs: Add required .js extension to relative ESM imports by
[@&#8203;masto](https://redirect.github.com/masto) in
[https://github.com/fastify/fastify/pull/5685](https://redirect.github.com/fastify/fastify/pull/5685)

#### New Contributors

- [@&#8203;beyazit](https://redirect.github.com/beyazit) made their
first contribution in
[https://github.com/fastify/fastify/pull/4962](https://redirect.github.com/fastify/fastify/pull/4962)
- [@&#8203;puskin94](https://redirect.github.com/puskin94) made their
first contribution in
[https://github.com/fastify/fastify/pull/5422](https://redirect.github.com/fastify/fastify/pull/5422)
- [@&#8203;james-kaguru](https://redirect.github.com/james-kaguru) made
their first contribution in
[https://github.com/fastify/fastify/pull/5450](https://redirect.github.com/fastify/fastify/pull/5450)
- [@&#8203;monish001](https://redirect.github.com/monish001) made their
first contribution in
[https://github.com/fastify/fastify/pull/5461](https://redirect.github.com/fastify/fastify/pull/5461)
- [@&#8203;dmkng](https://redirect.github.com/dmkng) made their first
contribution in
[https://github.com/fastify/fastify/pull/5458](https://redirect.github.com/fastify/fastify/pull/5458)
- [@&#8203;BrianValente](https://redirect.github.com/BrianValente) made
their first contribution in
[https://github.com/fastify/fastify/pull/5355](https://redirect.github.com/fastify/fastify/pull/5355)
- [@&#8203;Cangit](https://redirect.github.com/Cangit) made their first
contribution in
[https://github.com/fastify/fastify/pull/5493](https://redirect.github.com/fastify/fastify/pull/5493)
- [@&#8203;alenap93](https://redirect.github.com/alenap93) made their
first contribution in
[https://github.com/fastify/fastify/pull/5475](https://redirect.github.com/fastify/fastify/pull/5475)
-
[@&#8203;moradebianchetti81](https://redirect.github.com/moradebianchetti81)
made their first contribution in
[https://github.com/fastify/fastify/pull/5499](https://redirect.github.com/fastify/fastify/pull/5499)
- [@&#8203;Bram-dc](https://redirect.github.com/Bram-dc) made their
first contribution in
[https://github.com/fastify/fastify/pull/5427](https://redirect.github.com/fastify/fastify/pull/5427)
- [@&#8203;LiviaMedeiros](https://redirect.github.com/LiviaMedeiros)
made their first contribution in
[https://github.com/fastify/fastify/pull/5548](https://redirect.github.com/fastify/fastify/pull/5548)
- [@&#8203;mch-dsk](https://redirect.github.com/mch-dsk) made their
first contribution in
[https://github.com/fastify/fastify/pull/5561](https://redirect.github.com/fastify/fastify/pull/5561)
- [@&#8203;kunal097](https://redirect.github.com/kunal097) made their
first contribution in
[https://github.com/fastify/fastify/pull/5579](https://redirect.github.com/fastify/fastify/pull/5579)
- [@&#8203;aaroncadillac](https://redirect.github.com/aaroncadillac)
made their first contribution in
[https://github.com/fastify/fastify/pull/5581](https://redirect.github.com/fastify/fastify/pull/5581)
- [@&#8203;jscheffner](https://redirect.github.com/jscheffner) made
their first contribution in
[https://github.com/fastify/fastify/pull/5576](https://redirect.github.com/fastify/fastify/pull/5576)
- [@&#8203;sourcecodeit](https://redirect.github.com/sourcecodeit) made
their first contribution in
[https://github.com/fastify/fastify/pull/5590](https://redirect.github.com/fastify/fastify/pull/5590)
- [@&#8203;Rantoledo](https://redirect.github.com/Rantoledo) made their
first contribution in
[https://github.com/fastify/fastify/pull/5621](https://redirect.github.com/fastify/fastify/pull/5621)
- [@&#8203;barbieri](https://redirect.github.com/barbieri) made their
first contribution in
[https://github.com/fastify/fastify/pull/5612](https://redirect.github.com/fastify/fastify/pull/5612)
- [@&#8203;busybox11](https://redirect.github.com/busybox11) made their
first contribution in
[https://github.com/fastify/fastify/pull/5630](https://redirect.github.com/fastify/fastify/pull/5630)
- [@&#8203;mikesamm](https://redirect.github.com/mikesamm) made their
first contribution in
[https://github.com/fastify/fastify/pull/5651](https://redirect.github.com/fastify/fastify/pull/5651)
- [@&#8203;arshcodemod](https://redirect.github.com/arshcodemod) made
their first contribution in
[https://github.com/fastify/fastify/pull/5642](https://redirect.github.com/fastify/fastify/pull/5642)
- [@&#8203;jean-michelet](https://redirect.github.com/jean-michelet)
made their first contribution in
[https://github.com/fastify/fastify/pull/5677](https://redirect.github.com/fastify/fastify/pull/5677)
- [@&#8203;mohab-sameh](https://redirect.github.com/mohab-sameh) made
their first contribution in
[https://github.com/fastify/fastify/pull/5666](https://redirect.github.com/fastify/fastify/pull/5666)
- [@&#8203;masto](https://redirect.github.com/masto) made their first
contribution in
[https://github.com/fastify/fastify/pull/5685](https://redirect.github.com/fastify/fastify/pull/5685)

**Full Changelog**:
fastify/fastify@v4.27.0...v5.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/rustymotors/server).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6ImRldiIsImxhYmVscyI6W119-->
renovate bot referenced this pull request in tomacheese/telcheck Sep 17, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [fastify](https://fastify.dev/)
([source](https://redirect.github.com/fastify/fastify)) | [`4.28.1` ->
`5.0.0`](https://renovatebot.com/diffs/npm/fastify/4.28.1/5.0.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/fastify/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fastify/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fastify/4.28.1/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fastify/4.28.1/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>fastify/fastify (fastify)</summary>

###
[`v5.0.0`](https://redirect.github.com/fastify/fastify/releases/tag/v5.0.0)

[Compare
Source](https://redirect.github.com/fastify/fastify/compare/v4.28.1...v5.0.0)

#### What's Changed

- add missing route shorthands by
[@&#8203;Uzlopak](https://redirect.github.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4409](https://redirect.github.com/fastify/fastify/pull/4409)
- lib: drop setDefaultRoute and getDefaultRoute methods by
[@&#8203;RafaelGSS](https://redirect.github.com/RafaelGSS) in
[https://github.com/fastify/fastify/pull/4485](https://redirect.github.com/fastify/fastify/pull/4485)
- Sync next-branch by
[@&#8203;github-actions](https://redirect.github.com/github-actions) in
[https://github.com/fastify/fastify/pull/4815](https://redirect.github.com/fastify/fastify/pull/4815)
- Next: Disallow `decorate('name', null)` in the types by
[@&#8203;voxpelli](https://redirect.github.com/voxpelli) in
[https://github.com/fastify/fastify/pull/4878](https://redirect.github.com/fastify/fastify/pull/4878)
- feat!: Add req.hostname and req.port by
[@&#8203;aarontravass](https://redirect.github.com/aarontravass) in
[https://github.com/fastify/fastify/pull/4766](https://redirect.github.com/fastify/fastify/pull/4766)
- Change request id header default value to false by
[@&#8203;philippviereck](https://redirect.github.com/philippviereck) in
[https://github.com/fastify/fastify/pull/4194](https://redirect.github.com/fastify/fastify/pull/4194)
- Remove deprecated variadic listen by
[@&#8203;jsumners](https://redirect.github.com/jsumners) in
[https://github.com/fastify/fastify/pull/4900](https://redirect.github.com/fastify/fastify/pull/4900)
- Sync next-branch by
[@&#8203;github-actions](https://redirect.github.com/github-actions) in
[https://github.com/fastify/fastify/pull/4894](https://redirect.github.com/fastify/fastify/pull/4894)
- fix: requestIdHeader docs by
[@&#8203;philippviereck](https://redirect.github.com/philippviereck) in
[https://github.com/fastify/fastify/pull/4916](https://redirect.github.com/fastify/fastify/pull/4916)
- Sync next-branch by
[@&#8203;github-actions](https://redirect.github.com/github-actions) in
[https://github.com/fastify/fastify/pull/4930](https://redirect.github.com/fastify/fastify/pull/4930)
- Sync next-branch by
[@&#8203;github-actions](https://redirect.github.com/github-actions) in
[https://github.com/fastify/fastify/pull/4941](https://redirect.github.com/fastify/fastify/pull/4941)
- types: Remove variadic listen types by
[@&#8203;Uzlopak](https://redirect.github.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4966](https://redirect.github.com/fastify/fastify/pull/4966)
- fix: remove http version check by
[@&#8203;beyazit](https://redirect.github.com/beyazit) in
[https://github.com/fastify/fastify/pull/4962](https://redirect.github.com/fastify/fastify/pull/4962)
- feat: new logger api by
[@&#8203;aarontravass](https://redirect.github.com/aarontravass) in
[https://github.com/fastify/fastify/pull/5020](https://redirect.github.com/fastify/fastify/pull/5020)
- fix(plugins): mixing async and callback style now returns an error by
[@&#8203;giuliowaitforitdavide](https://redirect.github.com/giuliowaitforitdavide)
in
[https://github.com/fastify/fastify/pull/5141](https://redirect.github.com/fastify/fastify/pull/5141)
- feat: align fastify.hasRoute to fmw.hasRoute by
[@&#8203;dancastillo](https://redirect.github.com/dancastillo) in
[https://github.com/fastify/fastify/pull/5102](https://redirect.github.com/fastify/fastify/pull/5102)
- feat: set useSemicolonDefault default option to false by
[@&#8203;dancastillo](https://redirect.github.com/dancastillo) in
[https://github.com/fastify/fastify/pull/5320](https://redirect.github.com/fastify/fastify/pull/5320)
- feat: make contentTypeParser's existingParser check more strict by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5329](https://redirect.github.com/fastify/fastify/pull/5329)
- feat: loosen content-type checking by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/4450](https://redirect.github.com/fastify/fastify/pull/4450)
- feat: rework contentTypeParser methods by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5372](https://redirect.github.com/fastify/fastify/pull/5372)
- perf: limit search space for contentType by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5400](https://redirect.github.com/fastify/fastify/pull/5400)
- perf: update method matching by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5419](https://redirect.github.com/fastify/fastify/pull/5419)
- chore: updated dependencies to latest versions by
[@&#8203;puskin94](https://redirect.github.com/puskin94) in
[https://github.com/fastify/fastify/pull/5422](https://redirect.github.com/fastify/fastify/pull/5422)
- chore: merge next into main for v5 release by
[@&#8203;jsumners](https://redirect.github.com/jsumners) in
[https://github.com/fastify/fastify/pull/5446](https://redirect.github.com/fastify/fastify/pull/5446)
- docs(ref/typescript): support Docusaurus v3 by
[@&#8203;james-kaguru](https://redirect.github.com/james-kaguru) in
[https://github.com/fastify/fastify/pull/5450](https://redirect.github.com/fastify/fastify/pull/5450)
- chore: remove unused dependency and fix ci by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5454](https://redirect.github.com/fastify/fastify/pull/5454)
- feat: (types) add shorthand types for MKCALENDAR and REPORT by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5455](https://redirect.github.com/fastify/fastify/pull/5455)
- fix: ci labeler by [@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5463](https://redirect.github.com/fastify/fastify/pull/5463)
- docs(guides/database): correct typo by
[@&#8203;monish001](https://redirect.github.com/monish001) in
[https://github.com/fastify/fastify/pull/5461](https://redirect.github.com/fastify/fastify/pull/5461)
- test: add tests for error handling by
[@&#8203;domdomegg](https://redirect.github.com/domdomegg) in
[https://github.com/fastify/fastify/pull/5451](https://redirect.github.com/fastify/fastify/pull/5451)
- docs(reference/routes): fix example on constraints by
[@&#8203;Cadienvan](https://redirect.github.com/Cadienvan) in
[https://github.com/fastify/fastify/pull/5468](https://redirect.github.com/fastify/fastify/pull/5468)
- perf: Optimize resolving X-Forwarded-For addresses by
[@&#8203;dmkng](https://redirect.github.com/dmkng) in
[https://github.com/fastify/fastify/pull/5458](https://redirect.github.com/fastify/fastify/pull/5458)
- fix: `config` type in RouteShorthandOptions by
[@&#8203;BrianValente](https://redirect.github.com/BrianValente) in
[https://github.com/fastify/fastify/pull/5355](https://redirect.github.com/fastify/fastify/pull/5355)
- feat: request and reply decorators can not be a reference type by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5462](https://redirect.github.com/fastify/fastify/pull/5462)
- docs: update indentation on type providers section by
[@&#8203;Tony133](https://redirect.github.com/Tony133) in
[https://github.com/fastify/fastify/pull/5474](https://redirect.github.com/fastify/fastify/pull/5474)
- feat: log all available addresses if listening host is 0.0.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5476](https://redirect.github.com/fastify/fastify/pull/5476)
- chore: remove node 18 from CI by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5481](https://redirect.github.com/fastify/fastify/pull/5481)
- feat: writeEarlyHints by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5480](https://redirect.github.com/fastify/fastify/pull/5480)
- docs: update indentation and code snippet in the routes section by
[@&#8203;Tony133](https://redirect.github.com/Tony133) in
[https://github.com/fastify/fastify/pull/5482](https://redirect.github.com/fastify/fastify/pull/5482)
- refactor: change `reply.redirect()` signature by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5483](https://redirect.github.com/fastify/fastify/pull/5483)
- docs: update indentation and code snippet in the type providers
section by [@&#8203;Tony133](https://redirect.github.com/Tony133) in
[https://github.com/fastify/fastify/pull/5485](https://redirect.github.com/fastify/fastify/pull/5485)
- feat: emit diagnostics_channel events upon routing request by
[@&#8203;tlhunter](https://redirect.github.com/tlhunter) in
[https://github.com/fastify/fastify/pull/5252](https://redirect.github.com/fastify/fastify/pull/5252)
- chore: Bump pnpm/action-setup from 3 to 4 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5492](https://redirect.github.com/fastify/fastify/pull/5492)
- chore: remove unnecessary eslint override by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5493](https://redirect.github.com/fastify/fastify/pull/5493)
- docs(ecosystem): Add fastify-kysely plugin by
[@&#8203;alenap93](https://redirect.github.com/alenap93) in
[https://github.com/fastify/fastify/pull/5475](https://redirect.github.com/fastify/fastify/pull/5475)
- chore: update tap@19 by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5471](https://redirect.github.com/fastify/fastify/pull/5471)
- chore: Remove `reply.getReponseTime()` in
[https://github.com/fastify/fastify/pull/5490](https://redirect.github.com/fastify/fastify/pull/5490)
- chore: remove unused test by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5496](https://redirect.github.com/fastify/fastify/pull/5496)
- chore: readyListener can be async on server.ready() by
[@&#8203;remidewitte](https://redirect.github.com/remidewitte) in
[https://github.com/fastify/fastify/pull/5501](https://redirect.github.com/fastify/fastify/pull/5501)
- chore: test deprecation cleanup by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5510](https://redirect.github.com/fastify/fastify/pull/5510)
- chore: Migrate to neostandard by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5509](https://redirect.github.com/fastify/fastify/pull/5509)
- fix: hasRoute method comparison with case insensitive by
[@&#8203;SMNBLMRR](https://redirect.github.com/SMNBLMRR) in
[https://github.com/fastify/fastify/pull/5508](https://redirect.github.com/fastify/fastify/pull/5508)
- feat(types): Introduce SafePromiseLike by
[@&#8203;rozzilla](https://redirect.github.com/rozzilla) in
[https://github.com/fastify/fastify/pull/5506](https://redirect.github.com/fastify/fastify/pull/5506)
- fix: Type inferrence with auxilliary hook handlers by
[@&#8203;aadito123](https://redirect.github.com/aadito123) in
[https://github.com/fastify/fastify/pull/5517](https://redirect.github.com/fastify/fastify/pull/5517)
- docs: addContentTypeParser with fastify.register by
[@&#8203;moradebianchetti81](https://redirect.github.com/moradebianchetti81)
in
[https://github.com/fastify/fastify/pull/5499](https://redirect.github.com/fastify/fastify/pull/5499)
- docs: remove navigation for empty content by
[@&#8203;liuhanqu](https://redirect.github.com/liuhanqu) in
[https://github.com/fastify/fastify/pull/5521](https://redirect.github.com/fastify/fastify/pull/5521)
- fix: server.listen listener is not cleanup properly by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5522](https://redirect.github.com/fastify/fastify/pull/5522)
- feat: type definitions and documentation for separated type provider.
by [@&#8203;Bram-dc](https://redirect.github.com/Bram-dc) in
[https://github.com/fastify/fastify/pull/5427](https://redirect.github.com/fastify/fastify/pull/5427)
- chore: support pre and alpha tags by
[@&#8203;jsumners](https://redirect.github.com/jsumners) in
[https://github.com/fastify/fastify/pull/5528](https://redirect.github.com/fastify/fastify/pull/5528)
- chore: Bump the dependencies-major group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5530](https://redirect.github.com/fastify/fastify/pull/5530)
- chore: Bump neostandard from 0.7.2 to 0.8.0 in the dev-dependencies
group by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5531](https://redirect.github.com/fastify/fastify/pull/5531)
- fix(v5): update .npmignore by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5537](https://redirect.github.com/fastify/fastify/pull/5537)
- test: fix test finished earlier than expected by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5540](https://redirect.github.com/fastify/fastify/pull/5540)
- chore: rm < node19 support from secondaryServer.close() by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5542](https://redirect.github.com/fastify/fastify/pull/5542)
- chore(sponsor): add valtown by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5543](https://redirect.github.com/fastify/fastify/pull/5543)
- chore: Bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5546](https://redirect.github.com/fastify/fastify/pull/5546)
- docs: use `http2` directive in nginx config by
[@&#8203;LiviaMedeiros](https://redirect.github.com/LiviaMedeiros) in
[https://github.com/fastify/fastify/pull/5548](https://redirect.github.com/fastify/fastify/pull/5548)
- chore: Bump neostandard from 0.10.0 to 0.11.0 in the dev-dependencies
group by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5554](https://redirect.github.com/fastify/fastify/pull/5554)
- chore: fix lint by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5558](https://redirect.github.com/fastify/fastify/pull/5558)
- ci: remove automerge from ci alternative runtimes by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5557](https://redirect.github.com/fastify/fastify/pull/5557)
- feat: support different body schema per content type by
[@&#8203;nflaig](https://redirect.github.com/nflaig) in
[https://github.com/fastify/fastify/pull/5545](https://redirect.github.com/fastify/fastify/pull/5545)
- chore: remove dc-polyfill by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5560](https://redirect.github.com/fastify/fastify/pull/5560)
- fix: res serializer not given reply
([#&#8203;5556](https://redirect.github.com/fastify/fastify/issues/5556))
by [@&#8203;mch-dsk](https://redirect.github.com/mch-dsk) in
[https://github.com/fastify/fastify/pull/5561](https://redirect.github.com/fastify/fastify/pull/5561)
- chore: Bump process-warning from 3.0.0 to 4.0.0 in the
dependencies-major group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5568](https://redirect.github.com/fastify/fastify/pull/5568)
- chore: Bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5569](https://redirect.github.com/fastify/fastify/pull/5569)
- chore: allow ! in PR title by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5571](https://redirect.github.com/fastify/fastify/pull/5571)
- docs: add
[@&#8203;pybot/fastify-autoload](https://redirect.github.com/pybot/fastify-autoload)
to comm plugins by
[@&#8203;kunal097](https://redirect.github.com/kunal097) in
[https://github.com/fastify/fastify/pull/5579](https://redirect.github.com/fastify/fastify/pull/5579)
- feat: customize http methods by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5567](https://redirect.github.com/fastify/fastify/pull/5567)
- refactor(typescript): re-order FastifyReply generic parameters by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5570](https://redirect.github.com/fastify/fastify/pull/5570)
- docs: Adding `crudify-mongo` plugin to community list by
[@&#8203;aaroncadillac](https://redirect.github.com/aaroncadillac) in
[https://github.com/fastify/fastify/pull/5581](https://redirect.github.com/fastify/fastify/pull/5581)
- docs(reference/typescript): remove type provider from typebox example
by [@&#8203;jscheffner](https://redirect.github.com/jscheffner) in
[https://github.com/fastify/fastify/pull/5576](https://redirect.github.com/fastify/fastify/pull/5576)
- refactor!: remove json shorthand by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5586](https://redirect.github.com/fastify/fastify/pull/5586)
- chore: remove deprecation 005 by
[@&#8203;jsumners](https://redirect.github.com/jsumners) in
[https://github.com/fastify/fastify/pull/5589](https://redirect.github.com/fastify/fastify/pull/5589)
- fix: nullish host by
[@&#8203;sourcecodeit](https://redirect.github.com/sourcecodeit) in
[https://github.com/fastify/fastify/pull/5590](https://redirect.github.com/fastify/fastify/pull/5590)
- chore(sponsor): add handsontable by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5592](https://redirect.github.com/fastify/fastify/pull/5592)
- fix: removed warning listener from tests by
[@&#8203;sourcecodeit](https://redirect.github.com/sourcecodeit) in
[https://github.com/fastify/fastify/pull/5598](https://redirect.github.com/fastify/fastify/pull/5598)
- fix: test suite import.js emitting errors by
[@&#8203;dancastillo](https://redirect.github.com/dancastillo) in
[https://github.com/fastify/fastify/pull/5599](https://redirect.github.com/fastify/fastify/pull/5599)
- chore: Bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
20.14.13 to 22.0.0 in the dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5600](https://redirect.github.com/fastify/fastify/pull/5600)
- docs(reply): standardize import style in examples by
[@&#8203;Tony133](https://redirect.github.com/Tony133) in
[https://github.com/fastify/fastify/pull/5580](https://redirect.github.com/fastify/fastify/pull/5580)
- docs(typescript): update example fastify version by
[@&#8203;Fdawgs](https://redirect.github.com/Fdawgs) in
[https://github.com/fastify/fastify/pull/5602](https://redirect.github.com/fastify/fastify/pull/5602)
- refactor: remove FSTDEP007 by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5604](https://redirect.github.com/fastify/fastify/pull/5604)
- refactor: remove `FSTDEP008` and `FSTDEP009` by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5609](https://redirect.github.com/fastify/fastify/pull/5609)
- refactor: remove `FSTDEP010` by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5611](https://redirect.github.com/fastify/fastify/pull/5611)
- refactor: remove `FSTDEP021` by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5613](https://redirect.github.com/fastify/fastify/pull/5613)
- refactor: use `Object.hasOwn` by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5614](https://redirect.github.com/fastify/fastify/pull/5614)
- refactor: remove `FSTDEP012`, `FSTDEP015`, `FSTDEP016`, `FSTDEP017`,
`FSTDEP018`, `FSTDEP019` by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5616](https://redirect.github.com/fastify/fastify/pull/5616)
- refactor: remove `FSTDEP013` by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5618](https://redirect.github.com/fastify/fastify/pull/5618)
- fix: throwing "FST_ERR_DUPLICATED_ROUTE" error instead of raw error by
[@&#8203;Rantoledo](https://redirect.github.com/Rantoledo) in
[https://github.com/fastify/fastify/pull/5621](https://redirect.github.com/fastify/fastify/pull/5621)
- chore: Bump
[@&#8203;sinclair/typebox](https://redirect.github.com/sinclair/typebox)
from 0.32.35 to 0.33.4 in the dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5625](https://redirect.github.com/fastify/fastify/pull/5625)
- fix: reorder handling of `Response` replies by
[@&#8203;barbieri](https://redirect.github.com/barbieri) in
[https://github.com/fastify/fastify/pull/5612](https://redirect.github.com/fastify/fastify/pull/5612)
- ci(.github): use latest node lts version by
[@&#8203;Fdawgs](https://redirect.github.com/Fdawgs) in
[https://github.com/fastify/fastify/pull/5577](https://redirect.github.com/fastify/fastify/pull/5577)
- docs: add default value for maxParamLength by
[@&#8203;busybox11](https://redirect.github.com/busybox11) in
[https://github.com/fastify/fastify/pull/5630](https://redirect.github.com/fastify/fastify/pull/5630)
- chore: simplify `neostandard` setup by
[@&#8203;voxpelli](https://redirect.github.com/voxpelli) in
[https://github.com/fastify/fastify/pull/5635](https://redirect.github.com/fastify/fastify/pull/5635)
- chore: fix sponsor link by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5640](https://redirect.github.com/fastify/fastify/pull/5640)
- docs: move RafaelGSS to past collaborators by
[@&#8203;RafaelGSS](https://redirect.github.com/RafaelGSS) in
[https://github.com/fastify/fastify/pull/5645](https://redirect.github.com/fastify/fastify/pull/5645)
- docs(type-providers): fix typos by
[@&#8203;mikesamm](https://redirect.github.com/mikesamm) in
[https://github.com/fastify/fastify/pull/5651](https://redirect.github.com/fastify/fastify/pull/5651)
- feat: add fastify v4 codemods by
[@&#8203;arshcodemod](https://redirect.github.com/arshcodemod) in
[https://github.com/fastify/fastify/pull/5642](https://redirect.github.com/fastify/fastify/pull/5642)
- chore: bump find-my-way to v9 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5652](https://redirect.github.com/fastify/fastify/pull/5652)
- chore: bump ajv-compiler to v4.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5653](https://redirect.github.com/fastify/fastify/pull/5653)
- chore: Bumped light-my-request to v6.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5655](https://redirect.github.com/fastify/fastify/pull/5655)
- chore: Bumped avvio to v9.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5656](https://redirect.github.com/fastify/fastify/pull/5656)
- chore: bump fast-json-stringify-compiler to v5.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5660](https://redirect.github.com/fastify/fastify/pull/5660)
- docs: add dancastillo to Fastify Plugins team by
[@&#8203;dancastillo](https://redirect.github.com/dancastillo) in
[https://github.com/fastify/fastify/pull/5668](https://redirect.github.com/fastify/fastify/pull/5668)
- docs: join plugin team by
[@&#8203;jean-michelet](https://redirect.github.com/jean-michelet) in
[https://github.com/fastify/fastify/pull/5677](https://redirect.github.com/fastify/fastify/pull/5677)
- chore: list the next deprecation code by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5673](https://redirect.github.com/fastify/fastify/pull/5673)
- types: remove nonexistant done parameter from onRegister by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5678](https://redirect.github.com/fastify/fastify/pull/5678)
- docs: add v5 guide by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5674](https://redirect.github.com/fastify/fastify/pull/5674)
- feat: bind `this` to instance in onclose by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5670](https://redirect.github.com/fastify/fastify/pull/5670)
- docs: update v4 codemods by
[@&#8203;mohab-sameh](https://redirect.github.com/mohab-sameh) in
[https://github.com/fastify/fastify/pull/5666](https://redirect.github.com/fastify/fastify/pull/5666)
- docs: Add required .js extension to relative ESM imports by
[@&#8203;masto](https://redirect.github.com/masto) in
[https://github.com/fastify/fastify/pull/5685](https://redirect.github.com/fastify/fastify/pull/5685)

#### New Contributors

- [@&#8203;beyazit](https://redirect.github.com/beyazit) made their
first contribution in
[https://github.com/fastify/fastify/pull/4962](https://redirect.github.com/fastify/fastify/pull/4962)
- [@&#8203;puskin94](https://redirect.github.com/puskin94) made their
first contribution in
[https://github.com/fastify/fastify/pull/5422](https://redirect.github.com/fastify/fastify/pull/5422)
- [@&#8203;james-kaguru](https://redirect.github.com/james-kaguru) made
their first contribution in
[https://github.com/fastify/fastify/pull/5450](https://redirect.github.com/fastify/fastify/pull/5450)
- [@&#8203;monish001](https://redirect.github.com/monish001) made their
first contribution in
[https://github.com/fastify/fastify/pull/5461](https://redirect.github.com/fastify/fastify/pull/5461)
- [@&#8203;dmkng](https://redirect.github.com/dmkng) made their first
contribution in
[https://github.com/fastify/fastify/pull/5458](https://redirect.github.com/fastify/fastify/pull/5458)
- [@&#8203;BrianValente](https://redirect.github.com/BrianValente) made
their first contribution in
[https://github.com/fastify/fastify/pull/5355](https://redirect.github.com/fastify/fastify/pull/5355)
- [@&#8203;Cangit](https://redirect.github.com/Cangit) made their first
contribution in
[https://github.com/fastify/fastify/pull/5493](https://redirect.github.com/fastify/fastify/pull/5493)
- [@&#8203;alenap93](https://redirect.github.com/alenap93) made their
first contribution in
[https://github.com/fastify/fastify/pull/5475](https://redirect.github.com/fastify/fastify/pull/5475)
-
[@&#8203;moradebianchetti81](https://redirect.github.com/moradebianchetti81)
made their first contribution in
[https://github.com/fastify/fastify/pull/5499](https://redirect.github.com/fastify/fastify/pull/5499)
- [@&#8203;Bram-dc](https://redirect.github.com/Bram-dc) made their
first contribution in
[https://github.com/fastify/fastify/pull/5427](https://redirect.github.com/fastify/fastify/pull/5427)
- [@&#8203;LiviaMedeiros](https://redirect.github.com/LiviaMedeiros)
made their first contribution in
[https://github.com/fastify/fastify/pull/5548](https://redirect.github.com/fastify/fastify/pull/5548)
- [@&#8203;mch-dsk](https://redirect.github.com/mch-dsk) made their
first contribution in
[https://github.com/fastify/fastify/pull/5561](https://redirect.github.com/fastify/fastify/pull/5561)
- [@&#8203;kunal097](https://redirect.github.com/kunal097) made their
first contribution in
[https://github.com/fastify/fastify/pull/5579](https://redirect.github.com/fastify/fastify/pull/5579)
- [@&#8203;aaroncadillac](https://redirect.github.com/aaroncadillac)
made their first contribution in
[https://github.com/fastify/fastify/pull/5581](https://redirect.github.com/fastify/fastify/pull/5581)
- [@&#8203;jscheffner](https://redirect.github.com/jscheffner) made
their first contribution in
[https://github.com/fastify/fastify/pull/5576](https://redirect.github.com/fastify/fastify/pull/5576)
- [@&#8203;sourcecodeit](https://redirect.github.com/sourcecodeit) made
their first contribution in
[https://github.com/fastify/fastify/pull/5590](https://redirect.github.com/fastify/fastify/pull/5590)
- [@&#8203;Rantoledo](https://redirect.github.com/Rantoledo) made their
first contribution in
[https://github.com/fastify/fastify/pull/5621](https://redirect.github.com/fastify/fastify/pull/5621)
- [@&#8203;barbieri](https://redirect.github.com/barbieri) made their
first contribution in
[https://github.com/fastify/fastify/pull/5612](https://redirect.github.com/fastify/fastify/pull/5612)
- [@&#8203;busybox11](https://redirect.github.com/busybox11) made their
first contribution in
[https://github.com/fastify/fastify/pull/5630](https://redirect.github.com/fastify/fastify/pull/5630)
- [@&#8203;mikesamm](https://redirect.github.com/mikesamm) made their
first contribution in
[https://github.com/fastify/fastify/pull/5651](https://redirect.github.com/fastify/fastify/pull/5651)
- [@&#8203;arshcodemod](https://redirect.github.com/arshcodemod) made
their first contribution in
[https://github.com/fastify/fastify/pull/5642](https://redirect.github.com/fastify/fastify/pull/5642)
- [@&#8203;jean-michelet](https://redirect.github.com/jean-michelet)
made their first contribution in
[https://github.com/fastify/fastify/pull/5677](https://redirect.github.com/fastify/fastify/pull/5677)
- [@&#8203;mohab-sameh](https://redirect.github.com/mohab-sameh) made
their first contribution in
[https://github.com/fastify/fastify/pull/5666](https://redirect.github.com/fastify/fastify/pull/5666)
- [@&#8203;masto](https://redirect.github.com/masto) made their first
contribution in
[https://github.com/fastify/fastify/pull/5685](https://redirect.github.com/fastify/fastify/pull/5685)

**Full Changelog**:
fastify/fastify@v4.27.0...v5.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tomacheese/telcheck).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
garrappachc referenced this pull request in tf2pickup-org/tf2pickup Sep 27, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [fastify](https://fastify.dev/)
([source](https://redirect.github.com/fastify/fastify)) | [`4.28.1` ->
`5.0.0`](https://renovatebot.com/diffs/npm/fastify/4.28.1/5.0.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/fastify/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fastify/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fastify/4.28.1/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fastify/4.28.1/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>fastify/fastify (fastify)</summary>

###
[`v5.0.0`](https://redirect.github.com/fastify/fastify/releases/tag/v5.0.0)

[Compare
Source](https://redirect.github.com/fastify/fastify/compare/v4.28.1...v5.0.0)

#### What's Changed

- add missing route shorthands by
[@&#8203;Uzlopak](https://redirect.github.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4409](https://redirect.github.com/fastify/fastify/pull/4409)
- lib: drop setDefaultRoute and getDefaultRoute methods by
[@&#8203;RafaelGSS](https://redirect.github.com/RafaelGSS) in
[https://github.com/fastify/fastify/pull/4485](https://redirect.github.com/fastify/fastify/pull/4485)
- Sync next-branch by
[@&#8203;github-actions](https://redirect.github.com/github-actions) in
[https://github.com/fastify/fastify/pull/4815](https://redirect.github.com/fastify/fastify/pull/4815)
- Next: Disallow `decorate('name', null)` in the types by
[@&#8203;voxpelli](https://redirect.github.com/voxpelli) in
[https://github.com/fastify/fastify/pull/4878](https://redirect.github.com/fastify/fastify/pull/4878)
- feat!: Add req.hostname and req.port by
[@&#8203;aarontravass](https://redirect.github.com/aarontravass) in
[https://github.com/fastify/fastify/pull/4766](https://redirect.github.com/fastify/fastify/pull/4766)
- Change request id header default value to false by
[@&#8203;philippviereck](https://redirect.github.com/philippviereck) in
[https://github.com/fastify/fastify/pull/4194](https://redirect.github.com/fastify/fastify/pull/4194)
- Remove deprecated variadic listen by
[@&#8203;jsumners](https://redirect.github.com/jsumners) in
[https://github.com/fastify/fastify/pull/4900](https://redirect.github.com/fastify/fastify/pull/4900)
- Sync next-branch by
[@&#8203;github-actions](https://redirect.github.com/github-actions) in
[https://github.com/fastify/fastify/pull/4894](https://redirect.github.com/fastify/fastify/pull/4894)
- fix: requestIdHeader docs by
[@&#8203;philippviereck](https://redirect.github.com/philippviereck) in
[https://github.com/fastify/fastify/pull/4916](https://redirect.github.com/fastify/fastify/pull/4916)
- Sync next-branch by
[@&#8203;github-actions](https://redirect.github.com/github-actions) in
[https://github.com/fastify/fastify/pull/4930](https://redirect.github.com/fastify/fastify/pull/4930)
- Sync next-branch by
[@&#8203;github-actions](https://redirect.github.com/github-actions) in
[https://github.com/fastify/fastify/pull/4941](https://redirect.github.com/fastify/fastify/pull/4941)
- types: Remove variadic listen types by
[@&#8203;Uzlopak](https://redirect.github.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4966](https://redirect.github.com/fastify/fastify/pull/4966)
- fix: remove http version check by
[@&#8203;beyazit](https://redirect.github.com/beyazit) in
[https://github.com/fastify/fastify/pull/4962](https://redirect.github.com/fastify/fastify/pull/4962)
- feat: new logger api by
[@&#8203;aarontravass](https://redirect.github.com/aarontravass) in
[https://github.com/fastify/fastify/pull/5020](https://redirect.github.com/fastify/fastify/pull/5020)
- fix(plugins): mixing async and callback style now returns an error by
[@&#8203;giuliowaitforitdavide](https://redirect.github.com/giuliowaitforitdavide)
in
[https://github.com/fastify/fastify/pull/5141](https://redirect.github.com/fastify/fastify/pull/5141)
- feat: align fastify.hasRoute to fmw.hasRoute by
[@&#8203;dancastillo](https://redirect.github.com/dancastillo) in
[https://github.com/fastify/fastify/pull/5102](https://redirect.github.com/fastify/fastify/pull/5102)
- feat: set useSemicolonDefault default option to false by
[@&#8203;dancastillo](https://redirect.github.com/dancastillo) in
[https://github.com/fastify/fastify/pull/5320](https://redirect.github.com/fastify/fastify/pull/5320)
- feat: make contentTypeParser's existingParser check more strict by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5329](https://redirect.github.com/fastify/fastify/pull/5329)
- feat: loosen content-type checking by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/4450](https://redirect.github.com/fastify/fastify/pull/4450)
- feat: rework contentTypeParser methods by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5372](https://redirect.github.com/fastify/fastify/pull/5372)
- perf: limit search space for contentType by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5400](https://redirect.github.com/fastify/fastify/pull/5400)
- perf: update method matching by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5419](https://redirect.github.com/fastify/fastify/pull/5419)
- chore: updated dependencies to latest versions by
[@&#8203;puskin94](https://redirect.github.com/puskin94) in
[https://github.com/fastify/fastify/pull/5422](https://redirect.github.com/fastify/fastify/pull/5422)
- chore: merge next into main for v5 release by
[@&#8203;jsumners](https://redirect.github.com/jsumners) in
[https://github.com/fastify/fastify/pull/5446](https://redirect.github.com/fastify/fastify/pull/5446)
- docs(ref/typescript): support Docusaurus v3 by
[@&#8203;james-kaguru](https://redirect.github.com/james-kaguru) in
[https://github.com/fastify/fastify/pull/5450](https://redirect.github.com/fastify/fastify/pull/5450)
- chore: remove unused dependency and fix ci by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5454](https://redirect.github.com/fastify/fastify/pull/5454)
- feat: (types) add shorthand types for MKCALENDAR and REPORT by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5455](https://redirect.github.com/fastify/fastify/pull/5455)
- fix: ci labeler by [@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5463](https://redirect.github.com/fastify/fastify/pull/5463)
- docs(guides/database): correct typo by
[@&#8203;monish001](https://redirect.github.com/monish001) in
[https://github.com/fastify/fastify/pull/5461](https://redirect.github.com/fastify/fastify/pull/5461)
- test: add tests for error handling by
[@&#8203;domdomegg](https://redirect.github.com/domdomegg) in
[https://github.com/fastify/fastify/pull/5451](https://redirect.github.com/fastify/fastify/pull/5451)
- docs(reference/routes): fix example on constraints by
[@&#8203;Cadienvan](https://redirect.github.com/Cadienvan) in
[https://github.com/fastify/fastify/pull/5468](https://redirect.github.com/fastify/fastify/pull/5468)
- perf: Optimize resolving X-Forwarded-For addresses by
[@&#8203;dmkng](https://redirect.github.com/dmkng) in
[https://github.com/fastify/fastify/pull/5458](https://redirect.github.com/fastify/fastify/pull/5458)
- fix: `config` type in RouteShorthandOptions by
[@&#8203;BrianValente](https://redirect.github.com/BrianValente) in
[https://github.com/fastify/fastify/pull/5355](https://redirect.github.com/fastify/fastify/pull/5355)
- feat: request and reply decorators can not be a reference type by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5462](https://redirect.github.com/fastify/fastify/pull/5462)
- docs: update indentation on type providers section by
[@&#8203;Tony133](https://redirect.github.com/Tony133) in
[https://github.com/fastify/fastify/pull/5474](https://redirect.github.com/fastify/fastify/pull/5474)
- feat: log all available addresses if listening host is 0.0.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5476](https://redirect.github.com/fastify/fastify/pull/5476)
- chore: remove node 18 from CI by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5481](https://redirect.github.com/fastify/fastify/pull/5481)
- feat: writeEarlyHints by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5480](https://redirect.github.com/fastify/fastify/pull/5480)
- docs: update indentation and code snippet in the routes section by
[@&#8203;Tony133](https://redirect.github.com/Tony133) in
[https://github.com/fastify/fastify/pull/5482](https://redirect.github.com/fastify/fastify/pull/5482)
- refactor: change `reply.redirect()` signature by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5483](https://redirect.github.com/fastify/fastify/pull/5483)
- docs: update indentation and code snippet in the type providers
section by [@&#8203;Tony133](https://redirect.github.com/Tony133) in
[https://github.com/fastify/fastify/pull/5485](https://redirect.github.com/fastify/fastify/pull/5485)
- feat: emit diagnostics_channel events upon routing request by
[@&#8203;tlhunter](https://redirect.github.com/tlhunter) in
[https://github.com/fastify/fastify/pull/5252](https://redirect.github.com/fastify/fastify/pull/5252)
- chore: Bump pnpm/action-setup from 3 to 4 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5492](https://redirect.github.com/fastify/fastify/pull/5492)
- chore: remove unnecessary eslint override by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5493](https://redirect.github.com/fastify/fastify/pull/5493)
- docs(ecosystem): Add fastify-kysely plugin by
[@&#8203;alenap93](https://redirect.github.com/alenap93) in
[https://github.com/fastify/fastify/pull/5475](https://redirect.github.com/fastify/fastify/pull/5475)
- chore: update tap@19 by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5471](https://redirect.github.com/fastify/fastify/pull/5471)
- chore: Remove `reply.getReponseTime()` in
[https://github.com/fastify/fastify/pull/5490](https://redirect.github.com/fastify/fastify/pull/5490)
- chore: remove unused test by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5496](https://redirect.github.com/fastify/fastify/pull/5496)
- chore: readyListener can be async on server.ready() by
[@&#8203;remidewitte](https://redirect.github.com/remidewitte) in
[https://github.com/fastify/fastify/pull/5501](https://redirect.github.com/fastify/fastify/pull/5501)
- chore: test deprecation cleanup by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5510](https://redirect.github.com/fastify/fastify/pull/5510)
- chore: Migrate to neostandard by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5509](https://redirect.github.com/fastify/fastify/pull/5509)
- fix: hasRoute method comparison with case insensitive by
[@&#8203;SMNBLMRR](https://redirect.github.com/SMNBLMRR) in
[https://github.com/fastify/fastify/pull/5508](https://redirect.github.com/fastify/fastify/pull/5508)
- feat(types): Introduce SafePromiseLike by
[@&#8203;rozzilla](https://redirect.github.com/rozzilla) in
[https://github.com/fastify/fastify/pull/5506](https://redirect.github.com/fastify/fastify/pull/5506)
- fix: Type inferrence with auxilliary hook handlers by
[@&#8203;aadito123](https://redirect.github.com/aadito123) in
[https://github.com/fastify/fastify/pull/5517](https://redirect.github.com/fastify/fastify/pull/5517)
- docs: addContentTypeParser with fastify.register by
[@&#8203;moradebianchetti81](https://redirect.github.com/moradebianchetti81)
in
[https://github.com/fastify/fastify/pull/5499](https://redirect.github.com/fastify/fastify/pull/5499)
- docs: remove navigation for empty content by
[@&#8203;liuhanqu](https://redirect.github.com/liuhanqu) in
[https://github.com/fastify/fastify/pull/5521](https://redirect.github.com/fastify/fastify/pull/5521)
- fix: server.listen listener is not cleanup properly by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5522](https://redirect.github.com/fastify/fastify/pull/5522)
- feat: type definitions and documentation for separated type provider.
by [@&#8203;Bram-dc](https://redirect.github.com/Bram-dc) in
[https://github.com/fastify/fastify/pull/5427](https://redirect.github.com/fastify/fastify/pull/5427)
- chore: support pre and alpha tags by
[@&#8203;jsumners](https://redirect.github.com/jsumners) in
[https://github.com/fastify/fastify/pull/5528](https://redirect.github.com/fastify/fastify/pull/5528)
- chore: Bump the dependencies-major group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5530](https://redirect.github.com/fastify/fastify/pull/5530)
- chore: Bump neostandard from 0.7.2 to 0.8.0 in the dev-dependencies
group by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5531](https://redirect.github.com/fastify/fastify/pull/5531)
- fix(v5): update .npmignore by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5537](https://redirect.github.com/fastify/fastify/pull/5537)
- test: fix test finished earlier than expected by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5540](https://redirect.github.com/fastify/fastify/pull/5540)
- chore: rm < node19 support from secondaryServer.close() by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5542](https://redirect.github.com/fastify/fastify/pull/5542)
- chore(sponsor): add valtown by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5543](https://redirect.github.com/fastify/fastify/pull/5543)
- chore: Bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5546](https://redirect.github.com/fastify/fastify/pull/5546)
- docs: use `http2` directive in nginx config by
[@&#8203;LiviaMedeiros](https://redirect.github.com/LiviaMedeiros) in
[https://github.com/fastify/fastify/pull/5548](https://redirect.github.com/fastify/fastify/pull/5548)
- chore: Bump neostandard from 0.10.0 to 0.11.0 in the dev-dependencies
group by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5554](https://redirect.github.com/fastify/fastify/pull/5554)
- chore: fix lint by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5558](https://redirect.github.com/fastify/fastify/pull/5558)
- ci: remove automerge from ci alternative runtimes by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5557](https://redirect.github.com/fastify/fastify/pull/5557)
- feat: support different body schema per content type by
[@&#8203;nflaig](https://redirect.github.com/nflaig) in
[https://github.com/fastify/fastify/pull/5545](https://redirect.github.com/fastify/fastify/pull/5545)
- chore: remove dc-polyfill by
[@&#8203;Cangit](https://redirect.github.com/Cangit) in
[https://github.com/fastify/fastify/pull/5560](https://redirect.github.com/fastify/fastify/pull/5560)
- fix: res serializer not given reply
([#&#8203;5556](https://redirect.github.com/fastify/fastify/issues/5556))
by [@&#8203;mch-dsk](https://redirect.github.com/mch-dsk) in
[https://github.com/fastify/fastify/pull/5561](https://redirect.github.com/fastify/fastify/pull/5561)
- chore: Bump process-warning from 3.0.0 to 4.0.0 in the
dependencies-major group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5568](https://redirect.github.com/fastify/fastify/pull/5568)
- chore: Bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5569](https://redirect.github.com/fastify/fastify/pull/5569)
- chore: allow ! in PR title by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5571](https://redirect.github.com/fastify/fastify/pull/5571)
- docs: add
[@&#8203;pybot/fastify-autoload](https://redirect.github.com/pybot/fastify-autoload)
to comm plugins by
[@&#8203;kunal097](https://redirect.github.com/kunal097) in
[https://github.com/fastify/fastify/pull/5579](https://redirect.github.com/fastify/fastify/pull/5579)
- feat: customize http methods by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5567](https://redirect.github.com/fastify/fastify/pull/5567)
- refactor(typescript): re-order FastifyReply generic parameters by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5570](https://redirect.github.com/fastify/fastify/pull/5570)
- docs: Adding `crudify-mongo` plugin to community list by
[@&#8203;aaroncadillac](https://redirect.github.com/aaroncadillac) in
[https://github.com/fastify/fastify/pull/5581](https://redirect.github.com/fastify/fastify/pull/5581)
- docs(reference/typescript): remove type provider from typebox example
by [@&#8203;jscheffner](https://redirect.github.com/jscheffner) in
[https://github.com/fastify/fastify/pull/5576](https://redirect.github.com/fastify/fastify/pull/5576)
- refactor!: remove json shorthand by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5586](https://redirect.github.com/fastify/fastify/pull/5586)
- chore: remove deprecation 005 by
[@&#8203;jsumners](https://redirect.github.com/jsumners) in
[https://github.com/fastify/fastify/pull/5589](https://redirect.github.com/fastify/fastify/pull/5589)
- fix: nullish host by
[@&#8203;sourcecodeit](https://redirect.github.com/sourcecodeit) in
[https://github.com/fastify/fastify/pull/5590](https://redirect.github.com/fastify/fastify/pull/5590)
- chore(sponsor): add handsontable by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5592](https://redirect.github.com/fastify/fastify/pull/5592)
- fix: removed warning listener from tests by
[@&#8203;sourcecodeit](https://redirect.github.com/sourcecodeit) in
[https://github.com/fastify/fastify/pull/5598](https://redirect.github.com/fastify/fastify/pull/5598)
- fix: test suite import.js emitting errors by
[@&#8203;dancastillo](https://redirect.github.com/dancastillo) in
[https://github.com/fastify/fastify/pull/5599](https://redirect.github.com/fastify/fastify/pull/5599)
- chore: Bump
[@&#8203;types/node](https://redirect.github.com/types/node) from
20.14.13 to 22.0.0 in the dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5600](https://redirect.github.com/fastify/fastify/pull/5600)
- docs(reply): standardize import style in examples by
[@&#8203;Tony133](https://redirect.github.com/Tony133) in
[https://github.com/fastify/fastify/pull/5580](https://redirect.github.com/fastify/fastify/pull/5580)
- docs(typescript): update example fastify version by
[@&#8203;Fdawgs](https://redirect.github.com/Fdawgs) in
[https://github.com/fastify/fastify/pull/5602](https://redirect.github.com/fastify/fastify/pull/5602)
- refactor: remove FSTDEP007 by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5604](https://redirect.github.com/fastify/fastify/pull/5604)
- refactor: remove `FSTDEP008` and `FSTDEP009` by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5609](https://redirect.github.com/fastify/fastify/pull/5609)
- refactor: remove `FSTDEP010` by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5611](https://redirect.github.com/fastify/fastify/pull/5611)
- refactor: remove `FSTDEP021` by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5613](https://redirect.github.com/fastify/fastify/pull/5613)
- refactor: use `Object.hasOwn` by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5614](https://redirect.github.com/fastify/fastify/pull/5614)
- refactor: remove `FSTDEP012`, `FSTDEP015`, `FSTDEP016`, `FSTDEP017`,
`FSTDEP018`, `FSTDEP019` by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5616](https://redirect.github.com/fastify/fastify/pull/5616)
- refactor: remove `FSTDEP013` by
[@&#8203;climba03003](https://redirect.github.com/climba03003) in
[https://github.com/fastify/fastify/pull/5618](https://redirect.github.com/fastify/fastify/pull/5618)
- fix: throwing "FST_ERR_DUPLICATED_ROUTE" error instead of raw error by
[@&#8203;Rantoledo](https://redirect.github.com/Rantoledo) in
[https://github.com/fastify/fastify/pull/5621](https://redirect.github.com/fastify/fastify/pull/5621)
- chore: Bump
[@&#8203;sinclair/typebox](https://redirect.github.com/sinclair/typebox)
from 0.32.35 to 0.33.4 in the dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/fastify/fastify/pull/5625](https://redirect.github.com/fastify/fastify/pull/5625)
- fix: reorder handling of `Response` replies by
[@&#8203;barbieri](https://redirect.github.com/barbieri) in
[https://github.com/fastify/fastify/pull/5612](https://redirect.github.com/fastify/fastify/pull/5612)
- ci(.github): use latest node lts version by
[@&#8203;Fdawgs](https://redirect.github.com/Fdawgs) in
[https://github.com/fastify/fastify/pull/5577](https://redirect.github.com/fastify/fastify/pull/5577)
- docs: add default value for maxParamLength by
[@&#8203;busybox11](https://redirect.github.com/busybox11) in
[https://github.com/fastify/fastify/pull/5630](https://redirect.github.com/fastify/fastify/pull/5630)
- chore: simplify `neostandard` setup by
[@&#8203;voxpelli](https://redirect.github.com/voxpelli) in
[https://github.com/fastify/fastify/pull/5635](https://redirect.github.com/fastify/fastify/pull/5635)
- chore: fix sponsor link by
[@&#8203;Eomm](https://redirect.github.com/Eomm) in
[https://github.com/fastify/fastify/pull/5640](https://redirect.github.com/fastify/fastify/pull/5640)
- docs: move RafaelGSS to past collaborators by
[@&#8203;RafaelGSS](https://redirect.github.com/RafaelGSS) in
[https://github.com/fastify/fastify/pull/5645](https://redirect.github.com/fastify/fastify/pull/5645)
- docs(type-providers): fix typos by
[@&#8203;mikesamm](https://redirect.github.com/mikesamm) in
[https://github.com/fastify/fastify/pull/5651](https://redirect.github.com/fastify/fastify/pull/5651)
- feat: add fastify v4 codemods by
[@&#8203;arshcodemod](https://redirect.github.com/arshcodemod) in
[https://github.com/fastify/fastify/pull/5642](https://redirect.github.com/fastify/fastify/pull/5642)
- chore: bump find-my-way to v9 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5652](https://redirect.github.com/fastify/fastify/pull/5652)
- chore: bump ajv-compiler to v4.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5653](https://redirect.github.com/fastify/fastify/pull/5653)
- chore: Bumped light-my-request to v6.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5655](https://redirect.github.com/fastify/fastify/pull/5655)
- chore: Bumped avvio to v9.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5656](https://redirect.github.com/fastify/fastify/pull/5656)
- chore: bump fast-json-stringify-compiler to v5.0.0 by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5660](https://redirect.github.com/fastify/fastify/pull/5660)
- docs: add dancastillo to Fastify Plugins team by
[@&#8203;dancastillo](https://redirect.github.com/dancastillo) in
[https://github.com/fastify/fastify/pull/5668](https://redirect.github.com/fastify/fastify/pull/5668)
- docs: join plugin team by
[@&#8203;jean-michelet](https://redirect.github.com/jean-michelet) in
[https://github.com/fastify/fastify/pull/5677](https://redirect.github.com/fastify/fastify/pull/5677)
- chore: list the next deprecation code by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5673](https://redirect.github.com/fastify/fastify/pull/5673)
- types: remove nonexistant done parameter from onRegister by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5678](https://redirect.github.com/fastify/fastify/pull/5678)
- docs: add v5 guide by
[@&#8203;mcollina](https://redirect.github.com/mcollina) in
[https://github.com/fastify/fastify/pull/5674](https://redirect.github.com/fastify/fastify/pull/5674)
- feat: bind `this` to instance in onclose by
[@&#8203;gurgunday](https://redirect.github.com/gurgunday) in
[https://github.com/fastify/fastify/pull/5670](https://redirect.github.com/fastify/fastify/pull/5670)
- docs: update v4 codemods by
[@&#8203;mohab-sameh](https://redirect.github.com/mohab-sameh) in
[https://github.com/fastify/fastify/pull/5666](https://redirect.github.com/fastify/fastify/pull/5666)
- docs: Add required .js extension to relative ESM imports by
[@&#8203;masto](https://redirect.github.com/masto) in
[https://github.com/fastify/fastify/pull/5685](https://redirect.github.com/fastify/fastify/pull/5685)

#### New Contributors

- [@&#8203;beyazit](https://redirect.github.com/beyazit) made their
first contribution in
[https://github.com/fastify/fastify/pull/4962](https://redirect.github.com/fastify/fastify/pull/4962)
- [@&#8203;puskin94](https://redirect.github.com/puskin94) made their
first contribution in
[https://github.com/fastify/fastify/pull/5422](https://redirect.github.com/fastify/fastify/pull/5422)
- [@&#8203;james-kaguru](https://redirect.github.com/james-kaguru) made
their first contribution in
[https://github.com/fastify/fastify/pull/5450](https://redirect.github.com/fastify/fastify/pull/5450)
- [@&#8203;monish001](https://redirect.github.com/monish001) made their
first contribution in
[https://github.com/fastify/fastify/pull/5461](https://redirect.github.com/fastify/fastify/pull/5461)
- [@&#8203;dmkng](https://redirect.github.com/dmkng) made their first
contribution in
[https://github.com/fastify/fastify/pull/5458](https://redirect.github.com/fastify/fastify/pull/5458)
- [@&#8203;BrianValente](https://redirect.github.com/BrianValente) made
their first contribution in
[https://github.com/fastify/fastify/pull/5355](https://redirect.github.com/fastify/fastify/pull/5355)
- [@&#8203;Cangit](https://redirect.github.com/Cangit) made their first
contribution in
[https://github.com/fastify/fastify/pull/5493](https://redirect.github.com/fastify/fastify/pull/5493)
- [@&#8203;alenap93](https://redirect.github.com/alenap93) made their
first contribution in
[https://github.com/fastify/fastify/pull/5475](https://redirect.github.com/fastify/fastify/pull/5475)
-
[@&#8203;moradebianchetti81](https://redirect.github.com/moradebianchetti81)
made their first contribution in
[https://github.com/fastify/fastify/pull/5499](https://redirect.github.com/fastify/fastify/pull/5499)
- [@&#8203;Bram-dc](https://redirect.github.com/Bram-dc) made their
first contribution in
[https://github.com/fastify/fastify/pull/5427](https://redirect.github.com/fastify/fastify/pull/5427)
- [@&#8203;LiviaMedeiros](https://redirect.github.com/LiviaMedeiros)
made their first contribution in
[https://github.com/fastify/fastify/pull/5548](https://redirect.github.com/fastify/fastify/pull/5548)
- [@&#8203;mch-dsk](https://redirect.github.com/mch-dsk) made their
first contribution in
[https://github.com/fastify/fastify/pull/5561](https://redirect.github.com/fastify/fastify/pull/5561)
- [@&#8203;kunal097](https://redirect.github.com/kunal097) made their
first contribution in
[https://github.com/fastify/fastify/pull/5579](https://redirect.github.com/fastify/fastify/pull/5579)
- [@&#8203;aaroncadillac](https://redirect.github.com/aaroncadillac)
made their first contribution in
[https://github.com/fastify/fastify/pull/5581](https://redirect.github.com/fastify/fastify/pull/5581)
- [@&#8203;jscheffner](https://redirect.github.com/jscheffner) made
their first contribution in
[https://github.com/fastify/fastify/pull/5576](https://redirect.github.com/fastify/fastify/pull/5576)
- [@&#8203;sourcecodeit](https://redirect.github.com/sourcecodeit) made
their first contribution in
[https://github.com/fastify/fastify/pull/5590](https://redirect.github.com/fastify/fastify/pull/5590)
- [@&#8203;Rantoledo](https://redirect.github.com/Rantoledo) made their
first contribution in
[https://github.com/fastify/fastify/pull/5621](https://redirect.github.com/fastify/fastify/pull/5621)
- [@&#8203;barbieri](https://redirect.github.com/barbieri) made their
first contribution in
[https://github.com/fastify/fastify/pull/5612](https://redirect.github.com/fastify/fastify/pull/5612)
- [@&#8203;busybox11](https://redirect.github.com/busybox11) made their
first contribution in
[https://github.com/fastify/fastify/pull/5630](https://redirect.github.com/fastify/fastify/pull/5630)
- [@&#8203;mikesamm](https://redirect.github.com/mikesamm) made their
first contribution in
[https://github.com/fastify/fastify/pull/5651](https://redirect.github.com/fastify/fastify/pull/5651)
- [@&#8203;arshcodemod](https://redirect.github.com/arshcodemod) made
their first contribution in
[https://github.com/fastify/fastify/pull/5642](https://redirect.github.com/fastify/fastify/pull/5642)
- [@&#8203;jean-michelet](https://redirect.github.com/jean-michelet)
made their first contribution in
[https://github.com/fastify/fastify/pull/5677](https://redirect.github.com/fastify/fastify/pull/5677)
- [@&#8203;mohab-sameh](https://redirect.github.com/mohab-sameh) made
their first contribution in
[https://github.com/fastify/fastify/pull/5666](https://redirect.github.com/fastify/fastify/pull/5666)
- [@&#8203;masto](https://redirect.github.com/masto) made their first
contribution in
[https://github.com/fastify/fastify/pull/5685](https://redirect.github.com/fastify/fastify/pull/5685)

**Full Changelog**:
fastify/fastify@v4.27.0...v5.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/tf2pickup-org/tf2pickup).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@github-actions
Copy link

github-actions bot commented May 2, 2025

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 2, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

notable-change A change that should be explicitly outlined in release notes and migration guides v5.x Issue or pr related to Fastify v5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants