Skip to content

chore: tests for genReqIdFactory and minor changes#4783

Merged
Uzlopak merged 9 commits intomainfrom
perf-req-id
Jul 8, 2023
Merged

chore: tests for genReqIdFactory and minor changes#4783
Uzlopak merged 9 commits intomainfrom
perf-req-id

Conversation

@Uzlopak
Copy link
Contributor

@Uzlopak Uzlopak commented Jun 3, 2023

Checklist

@Uzlopak Uzlopak added the benchmark Label to run benchmark against PR and main branch label Jun 3, 2023
@github-actions
Copy link

github-actions bot commented Jun 3, 2023

Node: 14
PR: [1] 872k requests in 30.08s, 164 MB read
MAIN: [1] 814k requests in 30.09s, 153 MB read


Node: 16
PR: [1] 1682k requests in 30.07s, 316 MB read
MAIN: [1] 1665k requests in 30.05s, 313 MB read


Node: 18
PR: [1] 790k requests in 30.07s, 148 MB read
MAIN: [1] 771k requests in 30.06s, 145 MB read

@github-actions github-actions bot removed the benchmark Label to run benchmark against PR and main branch label Jun 3, 2023
@Uzlopak Uzlopak added the benchmark Label to run benchmark against PR and main branch label Jun 3, 2023
@github-actions
Copy link

github-actions bot commented Jun 3, 2023

Node: 14
PR: [1] 1758k requests in 30.05s, 330 MB read
MAIN: [1] 1752k requests in 30.05s, 329 MB read


Node: 16
PR: [1] 1862k requests in 30.09s, 350 MB read
MAIN: [1] 1842k requests in 30.04s, 346 MB read


Node: 18
PR: [1] 1383k requests in 30.05s, 260 MB read
MAIN: [1] 1354k requests in 30.05s, 254 MB read

@github-actions github-actions bot removed the benchmark Label to run benchmark against PR and main branch label Jun 3, 2023
Copy link
Member

@climba03003 climba03003 left a comment

Choose a reason for hiding this comment

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

Can we have a memory benchmark on the initial consumption?
From the current benchmark, the ram usage is increased around 3 - 6 MB.
We have no indication does it worth for the such gain.

The only problem is when the user provide a custom generation function, the memory consumption still there.

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.

Going naive from my side, I might think that the increase in memory overhead is caused by the (double)array allocation.

As @climba03003 pointed out, is there a way we can lazy-allocate them so if user provide a custom factory, we do not incur in the overhead?

@Uzlopak
Copy link
Contributor Author

Uzlopak commented Jun 3, 2023

@climba03003

How do you benchmark for memory?

I modified it, and assume that it will use now less memory and only if we use our request id generator.

This is my benchmark:

'use strict'
const Benchmark = require('benchmark')
const reqId = require('./lib/reqIdGenFactory')()

const suite = new Benchmark.Suite;

suite.add('reqId', function() {
    reqId()
})
// add listeners
.on('cycle', function(event) {
  console.log(String(event.target));
})
.on('complete', function() {
  console.log('Fastest is ' + this.filter('fastest').map('name'));
})
// run async
.run();

the original:

node bench.js 
reqId x 6,586,817 ops/sec ±0.60% (87 runs sampled)
Fastest is reqId

this PR:

aras@aras-Lenovo-Legion-5-17ARH05H:~/workspace/fastify$ node bench.js 
reqId x 202,195,836 ops/sec ±1.00% (94 runs sampled)
Fastest is reqId

So I kind of doubt, that SMI optimization is even relevant. If I add SMI optimization to this PR, then the performance drops to 56 Mio. Ops/s. But if I "provoke" the SMI deoptimization by setting reqMajorCounter to 2147483647 then I still get 202 Mio. Ops/s. So it seems that the bottleneck is more the req-${(++reqMajorCounter).toString(36)}

I guess, we could improve the perf more by pregenerating the last three digits, but for that imho the memory overhead is not worth.

So from 6 Mio. Ops to 200 Mio. Ops is imho a good perf gain.

@Uzlopak Uzlopak added the benchmark Label to run benchmark against PR and main branch label Jun 3, 2023
@github-actions
Copy link

github-actions bot commented Jun 3, 2023

Node: 14
PR: [1] 793k requests in 30.08s, 149 MB read
MAIN: [1] 807k requests in 30.07s, 152 MB read


Node: 16
PR: [1] 1729k requests in 30.07s, 325 MB read
MAIN: [1] 1736k requests in 30.06s, 326 MB read


Node: 18
PR: [1] 1630k requests in 30.05s, 306 MB read
MAIN: [1] 1665k requests in 30.05s, 313 MB read

@github-actions github-actions bot removed the benchmark Label to run benchmark against PR and main branch label Jun 3, 2023
@Uzlopak
Copy link
Contributor Author

Uzlopak commented Jun 3, 2023

Strange. Now the benchmarks are slower? :(

Imho the benchmarks are maybe depending on how busy the github runner is. It does not make sense, as generating the request ids should give perf optimizations.

@Uzlopak Uzlopak added the benchmark Label to run benchmark against PR and main branch label Jun 3, 2023
@github-actions
Copy link

github-actions bot commented Jun 3, 2023

Node: 14
PR: [1] 1776k requests in 30.06s, 334 MB read
MAIN: [1] 1726k requests in 30.06s, 324 MB read


Node: 16
PR: [1] 852k requests in 30.09s, 160 MB read
MAIN: [1] 836k requests in 30.09s, 157 MB read


Node: 18
PR: [1] 1542k requests in 30.05s, 290 MB read
MAIN: [1] 1547k requests in 30.06s, 291 MB read

@github-actions github-actions bot removed the benchmark Label to run benchmark against PR and main branch label Jun 3, 2023
@Uzlopak
Copy link
Contributor Author

Uzlopak commented Jun 4, 2023

Any feedback?

@RafaelGSS
Copy link
Member

@Uzlopak Try using https://github.com/fasterthanlime/mevi to measure memory consumption.

@RafaelGSS
Copy link
Member

RafaelGSS commented Jun 4, 2023

Any feedback?

The results seem consistent. I've run it in my machine quickly, and it's indeed slower than the main. Also note the benchmarks run in a Linux host, on macOS it can be surprisingly different

UPDATE: I don't know why you expect the new patch to be fast than the current version. IMO It's clearly performing more computations.

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.

Such a big array always breaks people and adds quite a bit to the minimum amount of memory necessary to use Fastify.

@Uzlopak
Copy link
Contributor Author

Uzlopak commented Jun 5, 2023

I will reinvestigate.

@Uzlopak Uzlopak added the benchmark Label to run benchmark against PR and main branch label Jun 5, 2023
@github-actions
Copy link

github-actions bot commented Jun 5, 2023

Node: 14
PR: [1] 1749k requests in 30.06s, 329 MB read
MAIN: [1] 1781k requests in 30.05s, 335 MB read


Node: 16
PR: [1] 1408k requests in 30.08s, 265 MB read
MAIN: [1] 1458k requests in 30.07s, 274 MB read


Node: 18
PR: [1] 1326k requests in 30.06s, 249 MB read
MAIN: [1] 1217k requests in 30.08s, 229 MB read

@github-actions github-actions bot removed the benchmark Label to run benchmark against PR and main branch label Jun 5, 2023
@Uzlopak Uzlopak changed the title perf: improve performance of request id generation chore: tests for genReqIdFactory and minor changes Jul 8, 2023
@Uzlopak
Copy link
Contributor Author

Uzlopak commented Jul 8, 2023

As we can not agree on perf improvements, this is basically about adding more fine grained unit tests.

@Uzlopak Uzlopak requested a review from mcollina July 8, 2023 07:54
@Uzlopak
Copy link
Contributor Author

Uzlopak commented Jul 8, 2023

@mcollina

Can you approve please?

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

@Uzlopak Uzlopak merged commit 2401461 into main Jul 8, 2023
@Uzlopak Uzlopak deleted the perf-req-id branch July 8, 2023 16:18
renovate bot referenced this pull request in tomacheese/telcheck Jul 17, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

###
[`v4.20.0`](https://togithub.com/fastify/fastify/releases/tag/v4.20.0)

[Compare
Source](https://togithub.com/fastify/fastify/compare/v4.19.2...v4.20.0)

#### What's Changed

- build(deps-dev): Bump
[@&#8203;sinclair/typebox](https://togithub.com/sinclair/typebox) from
0.28.20 to 0.29.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/fastify/fastify/pull/4877](https://togithub.com/fastify/fastify/pull/4877)
- Update Prototype-Poisoning.md by
[@&#8203;ed-henrique](https://togithub.com/ed-henrique) in
[https://github.com/fastify/fastify/pull/4879](https://togithub.com/fastify/fastify/pull/4879)
- docs: adjust line for linter by
[@&#8203;metcoder95](https://togithub.com/metcoder95) in
[https://github.com/fastify/fastify/pull/4882](https://togithub.com/fastify/fastify/pull/4882)
- Fixed type inference on .code().send() by
[@&#8203;aadito123](https://togithub.com/aadito123) in
[https://github.com/fastify/fastify/pull/4880](https://togithub.com/fastify/fastify/pull/4880)
- chore: refactor Error-typings and tests by
[@&#8203;svrnwnsch](https://togithub.com/svrnwnsch) in
[https://github.com/fastify/fastify/pull/4824](https://togithub.com/fastify/fastify/pull/4824)
- test: add missing assertion for a test by
[@&#8203;kibertoad](https://togithub.com/kibertoad) in
[https://github.com/fastify/fastify/pull/4701](https://togithub.com/fastify/fastify/pull/4701)
- chore: tests for genReqIdFactory and minor changes by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4783](https://togithub.com/fastify/fastify/pull/4783)
- Added type definition for allowUnsafeRegex by
[@&#8203;xijdk](https://togithub.com/xijdk) in
[https://github.com/fastify/fastify/pull/4792](https://togithub.com/fastify/fastify/pull/4792)
- docs(security): update policy on ci/cd reports by
[@&#8203;jsumners](https://togithub.com/jsumners) in
[https://github.com/fastify/fastify/pull/4890](https://togithub.com/fastify/fastify/pull/4890)
- improve hooks.validate by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4804](https://togithub.com/fastify/fastify/pull/4804)
- ci: enable caching; split jobs by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4889](https://togithub.com/fastify/fastify/pull/4889)
- docs(plugins): note side-effect when using `await` in
`fastify.register()` by
[@&#8203;hateablestream](https://togithub.com/hateablestream) in
[https://github.com/fastify/fastify/pull/4846](https://togithub.com/fastify/fastify/pull/4846)
- \[hooks] Refine hook runners by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4805](https://togithub.com/fastify/fastify/pull/4805)
- docs: fix wrong header size for FST_ERR_ASYNC_CONSTRAINT in Errors.md
by [@&#8203;graphiteisaac](https://togithub.com/graphiteisaac) in
[https://github.com/fastify/fastify/pull/4893](https://togithub.com/fastify/fastify/pull/4893)
- fix: rework FastifyErrors, ensure documentation completeness by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4892](https://togithub.com/fastify/fastify/pull/4892)
- feat: add childLoggerFactory config by
[@&#8203;brettwillis](https://togithub.com/brettwillis) in
[https://github.com/fastify/fastify/pull/4760](https://togithub.com/fastify/fastify/pull/4760)
- Fix setNotFoundHandler handler type by
[@&#8203;Ethan-Arrowood](https://togithub.com/Ethan-Arrowood) in
[https://github.com/fastify/fastify/pull/4897](https://togithub.com/fastify/fastify/pull/4897)
- restore code coverage by
[@&#8203;mcollina](https://togithub.com/mcollina) in
[https://github.com/fastify/fastify/pull/4841](https://togithub.com/fastify/fastify/pull/4841)
- fix: handle abort signal before server is ready by
[@&#8203;shayff](https://togithub.com/shayff) in
[https://github.com/fastify/fastify/pull/4886](https://togithub.com/fastify/fastify/pull/4886)
- docs(client-aborted): remove deprecated function by
[@&#8203;JekRock](https://togithub.com/JekRock) in
[https://github.com/fastify/fastify/pull/4898](https://togithub.com/fastify/fastify/pull/4898)
- Revert "docs(client-aborted): remove deprecated function
([#&#8203;4898](https://togithub.com/fastify/fastify/issues/4898))" by
[@&#8203;climba03003](https://togithub.com/climba03003) in
[https://github.com/fastify/fastify/pull/4901](https://togithub.com/fastify/fastify/pull/4901)
- docs(logging): fix typo by
[@&#8203;yamanidev](https://togithub.com/yamanidev) in
[https://github.com/fastify/fastify/pull/4905](https://togithub.com/fastify/fastify/pull/4905)
- Support IPv6 ::1 in listeningOrigin by
[@&#8203;mcollina](https://togithub.com/mcollina) in
[https://github.com/fastify/fastify/pull/4902](https://togithub.com/fastify/fastify/pull/4902)
- fix: extend isCustomValidatorCompiler from parent controller by
[@&#8203;tinchoz49](https://togithub.com/tinchoz49) in
[https://github.com/fastify/fastify/pull/4903](https://togithub.com/fastify/fastify/pull/4903)
- fix: allow uppercase requestdHeader by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4906](https://togithub.com/fastify/fastify/pull/4906)

#### New Contributors

- [@&#8203;ed-henrique](https://togithub.com/ed-henrique) made their
first contribution in
[https://github.com/fastify/fastify/pull/4879](https://togithub.com/fastify/fastify/pull/4879)
- [@&#8203;svrnwnsch](https://togithub.com/svrnwnsch) made their first
contribution in
[https://github.com/fastify/fastify/pull/4824](https://togithub.com/fastify/fastify/pull/4824)
- [@&#8203;xijdk](https://togithub.com/xijdk) made their first
contribution in
[https://github.com/fastify/fastify/pull/4792](https://togithub.com/fastify/fastify/pull/4792)
- [@&#8203;hateablestream](https://togithub.com/hateablestream) made
their first contribution in
[https://github.com/fastify/fastify/pull/4846](https://togithub.com/fastify/fastify/pull/4846)
- [@&#8203;graphiteisaac](https://togithub.com/graphiteisaac) made their
first contribution in
[https://github.com/fastify/fastify/pull/4893](https://togithub.com/fastify/fastify/pull/4893)
- [@&#8203;shayff](https://togithub.com/shayff) made their first
contribution in
[https://github.com/fastify/fastify/pull/4886](https://togithub.com/fastify/fastify/pull/4886)
- [@&#8203;JekRock](https://togithub.com/JekRock) made their first
contribution in
[https://github.com/fastify/fastify/pull/4898](https://togithub.com/fastify/fastify/pull/4898)
- [@&#8203;yamanidev](https://togithub.com/yamanidev) made their first
contribution in
[https://github.com/fastify/fastify/pull/4905](https://togithub.com/fastify/fastify/pull/4905)
- [@&#8203;tinchoz49](https://togithub.com/tinchoz49) made their first
contribution in
[https://github.com/fastify/fastify/pull/4903](https://togithub.com/fastify/fastify/pull/4903)

**Full Changelog**:
fastify/fastify@v4.19.2...v4.20.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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/tomacheese/telcheck).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44LjExIiwidXBkYXRlZEluVmVyIjoiMzYuOC4xMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in redwoodjs/graphql Jul 18, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

###
[`v4.20.0`](https://togithub.com/fastify/fastify/releases/tag/v4.20.0)

[Compare
Source](https://togithub.com/fastify/fastify/compare/v4.19.2...v4.20.0)

#### What's Changed

- build(deps-dev): Bump
[@&#8203;sinclair/typebox](https://togithub.com/sinclair/typebox) from
0.28.20 to 0.29.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/fastify/fastify/pull/4877](https://togithub.com/fastify/fastify/pull/4877)
- Update Prototype-Poisoning.md by
[@&#8203;ed-henrique](https://togithub.com/ed-henrique) in
[https://github.com/fastify/fastify/pull/4879](https://togithub.com/fastify/fastify/pull/4879)
- docs: adjust line for linter by
[@&#8203;metcoder95](https://togithub.com/metcoder95) in
[https://github.com/fastify/fastify/pull/4882](https://togithub.com/fastify/fastify/pull/4882)
- Fixed type inference on .code().send() by
[@&#8203;aadito123](https://togithub.com/aadito123) in
[https://github.com/fastify/fastify/pull/4880](https://togithub.com/fastify/fastify/pull/4880)
- chore: refactor Error-typings and tests by
[@&#8203;svrnwnsch](https://togithub.com/svrnwnsch) in
[https://github.com/fastify/fastify/pull/4824](https://togithub.com/fastify/fastify/pull/4824)
- test: add missing assertion for a test by
[@&#8203;kibertoad](https://togithub.com/kibertoad) in
[https://github.com/fastify/fastify/pull/4701](https://togithub.com/fastify/fastify/pull/4701)
- chore: tests for genReqIdFactory and minor changes by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4783](https://togithub.com/fastify/fastify/pull/4783)
- Added type definition for allowUnsafeRegex by
[@&#8203;xijdk](https://togithub.com/xijdk) in
[https://github.com/fastify/fastify/pull/4792](https://togithub.com/fastify/fastify/pull/4792)
- docs(security): update policy on ci/cd reports by
[@&#8203;jsumners](https://togithub.com/jsumners) in
[https://github.com/fastify/fastify/pull/4890](https://togithub.com/fastify/fastify/pull/4890)
- improve hooks.validate by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4804](https://togithub.com/fastify/fastify/pull/4804)
- ci: enable caching; split jobs by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4889](https://togithub.com/fastify/fastify/pull/4889)
- docs(plugins): note side-effect when using `await` in
`fastify.register()` by
[@&#8203;hateablestream](https://togithub.com/hateablestream) in
[https://github.com/fastify/fastify/pull/4846](https://togithub.com/fastify/fastify/pull/4846)
- \[hooks] Refine hook runners by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4805](https://togithub.com/fastify/fastify/pull/4805)
- docs: fix wrong header size for FST_ERR_ASYNC_CONSTRAINT in Errors.md
by [@&#8203;graphiteisaac](https://togithub.com/graphiteisaac) in
[https://github.com/fastify/fastify/pull/4893](https://togithub.com/fastify/fastify/pull/4893)
- fix: rework FastifyErrors, ensure documentation completeness by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4892](https://togithub.com/fastify/fastify/pull/4892)
- feat: add childLoggerFactory config by
[@&#8203;brettwillis](https://togithub.com/brettwillis) in
[https://github.com/fastify/fastify/pull/4760](https://togithub.com/fastify/fastify/pull/4760)
- Fix setNotFoundHandler handler type by
[@&#8203;Ethan-Arrowood](https://togithub.com/Ethan-Arrowood) in
[https://github.com/fastify/fastify/pull/4897](https://togithub.com/fastify/fastify/pull/4897)
- restore code coverage by
[@&#8203;mcollina](https://togithub.com/mcollina) in
[https://github.com/fastify/fastify/pull/4841](https://togithub.com/fastify/fastify/pull/4841)
- fix: handle abort signal before server is ready by
[@&#8203;shayff](https://togithub.com/shayff) in
[https://github.com/fastify/fastify/pull/4886](https://togithub.com/fastify/fastify/pull/4886)
- docs(client-aborted): remove deprecated function by
[@&#8203;JekRock](https://togithub.com/JekRock) in
[https://github.com/fastify/fastify/pull/4898](https://togithub.com/fastify/fastify/pull/4898)
- Revert "docs(client-aborted): remove deprecated function
([#&#8203;4898](https://togithub.com/fastify/fastify/issues/4898))" by
[@&#8203;climba03003](https://togithub.com/climba03003) in
[https://github.com/fastify/fastify/pull/4901](https://togithub.com/fastify/fastify/pull/4901)
- docs(logging): fix typo by
[@&#8203;yamanidev](https://togithub.com/yamanidev) in
[https://github.com/fastify/fastify/pull/4905](https://togithub.com/fastify/fastify/pull/4905)
- Support IPv6 ::1 in listeningOrigin by
[@&#8203;mcollina](https://togithub.com/mcollina) in
[https://github.com/fastify/fastify/pull/4902](https://togithub.com/fastify/fastify/pull/4902)
- fix: extend isCustomValidatorCompiler from parent controller by
[@&#8203;tinchoz49](https://togithub.com/tinchoz49) in
[https://github.com/fastify/fastify/pull/4903](https://togithub.com/fastify/fastify/pull/4903)
- fix: allow uppercase requestdHeader by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4906](https://togithub.com/fastify/fastify/pull/4906)

#### New Contributors

- [@&#8203;ed-henrique](https://togithub.com/ed-henrique) made their
first contribution in
[https://github.com/fastify/fastify/pull/4879](https://togithub.com/fastify/fastify/pull/4879)
- [@&#8203;svrnwnsch](https://togithub.com/svrnwnsch) made their first
contribution in
[https://github.com/fastify/fastify/pull/4824](https://togithub.com/fastify/fastify/pull/4824)
- [@&#8203;xijdk](https://togithub.com/xijdk) made their first
contribution in
[https://github.com/fastify/fastify/pull/4792](https://togithub.com/fastify/fastify/pull/4792)
- [@&#8203;hateablestream](https://togithub.com/hateablestream) made
their first contribution in
[https://github.com/fastify/fastify/pull/4846](https://togithub.com/fastify/fastify/pull/4846)
- [@&#8203;graphiteisaac](https://togithub.com/graphiteisaac) made their
first contribution in
[https://github.com/fastify/fastify/pull/4893](https://togithub.com/fastify/fastify/pull/4893)
- [@&#8203;shayff](https://togithub.com/shayff) made their first
contribution in
[https://github.com/fastify/fastify/pull/4886](https://togithub.com/fastify/fastify/pull/4886)
- [@&#8203;JekRock](https://togithub.com/JekRock) made their first
contribution in
[https://github.com/fastify/fastify/pull/4898](https://togithub.com/fastify/fastify/pull/4898)
- [@&#8203;yamanidev](https://togithub.com/yamanidev) made their first
contribution in
[https://github.com/fastify/fastify/pull/4905](https://togithub.com/fastify/fastify/pull/4905)
- [@&#8203;tinchoz49](https://togithub.com/tinchoz49) made their first
contribution in
[https://github.com/fastify/fastify/pull/4903](https://togithub.com/fastify/fastify/pull/4903)

**Full Changelog**:
fastify/fastify@v4.19.2...v4.20.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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
jtoar referenced this pull request in redwoodjs/graphql Jul 19, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

###
[`v4.20.0`](https://togithub.com/fastify/fastify/releases/tag/v4.20.0)

[Compare
Source](https://togithub.com/fastify/fastify/compare/v4.19.2...v4.20.0)

#### What's Changed

- build(deps-dev): Bump
[@&#8203;sinclair/typebox](https://togithub.com/sinclair/typebox) from
0.28.20 to 0.29.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/fastify/fastify/pull/4877](https://togithub.com/fastify/fastify/pull/4877)
- Update Prototype-Poisoning.md by
[@&#8203;ed-henrique](https://togithub.com/ed-henrique) in
[https://github.com/fastify/fastify/pull/4879](https://togithub.com/fastify/fastify/pull/4879)
- docs: adjust line for linter by
[@&#8203;metcoder95](https://togithub.com/metcoder95) in
[https://github.com/fastify/fastify/pull/4882](https://togithub.com/fastify/fastify/pull/4882)
- Fixed type inference on .code().send() by
[@&#8203;aadito123](https://togithub.com/aadito123) in
[https://github.com/fastify/fastify/pull/4880](https://togithub.com/fastify/fastify/pull/4880)
- chore: refactor Error-typings and tests by
[@&#8203;svrnwnsch](https://togithub.com/svrnwnsch) in
[https://github.com/fastify/fastify/pull/4824](https://togithub.com/fastify/fastify/pull/4824)
- test: add missing assertion for a test by
[@&#8203;kibertoad](https://togithub.com/kibertoad) in
[https://github.com/fastify/fastify/pull/4701](https://togithub.com/fastify/fastify/pull/4701)
- chore: tests for genReqIdFactory and minor changes by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4783](https://togithub.com/fastify/fastify/pull/4783)
- Added type definition for allowUnsafeRegex by
[@&#8203;xijdk](https://togithub.com/xijdk) in
[https://github.com/fastify/fastify/pull/4792](https://togithub.com/fastify/fastify/pull/4792)
- docs(security): update policy on ci/cd reports by
[@&#8203;jsumners](https://togithub.com/jsumners) in
[https://github.com/fastify/fastify/pull/4890](https://togithub.com/fastify/fastify/pull/4890)
- improve hooks.validate by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4804](https://togithub.com/fastify/fastify/pull/4804)
- ci: enable caching; split jobs by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4889](https://togithub.com/fastify/fastify/pull/4889)
- docs(plugins): note side-effect when using `await` in
`fastify.register()` by
[@&#8203;hateablestream](https://togithub.com/hateablestream) in
[https://github.com/fastify/fastify/pull/4846](https://togithub.com/fastify/fastify/pull/4846)
- \[hooks] Refine hook runners by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4805](https://togithub.com/fastify/fastify/pull/4805)
- docs: fix wrong header size for FST_ERR_ASYNC_CONSTRAINT in Errors.md
by [@&#8203;graphiteisaac](https://togithub.com/graphiteisaac) in
[https://github.com/fastify/fastify/pull/4893](https://togithub.com/fastify/fastify/pull/4893)
- fix: rework FastifyErrors, ensure documentation completeness by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4892](https://togithub.com/fastify/fastify/pull/4892)
- feat: add childLoggerFactory config by
[@&#8203;brettwillis](https://togithub.com/brettwillis) in
[https://github.com/fastify/fastify/pull/4760](https://togithub.com/fastify/fastify/pull/4760)
- Fix setNotFoundHandler handler type by
[@&#8203;Ethan-Arrowood](https://togithub.com/Ethan-Arrowood) in
[https://github.com/fastify/fastify/pull/4897](https://togithub.com/fastify/fastify/pull/4897)
- restore code coverage by
[@&#8203;mcollina](https://togithub.com/mcollina) in
[https://github.com/fastify/fastify/pull/4841](https://togithub.com/fastify/fastify/pull/4841)
- fix: handle abort signal before server is ready by
[@&#8203;shayff](https://togithub.com/shayff) in
[https://github.com/fastify/fastify/pull/4886](https://togithub.com/fastify/fastify/pull/4886)
- docs(client-aborted): remove deprecated function by
[@&#8203;JekRock](https://togithub.com/JekRock) in
[https://github.com/fastify/fastify/pull/4898](https://togithub.com/fastify/fastify/pull/4898)
- Revert "docs(client-aborted): remove deprecated function
([#&#8203;4898](https://togithub.com/fastify/fastify/issues/4898))" by
[@&#8203;climba03003](https://togithub.com/climba03003) in
[https://github.com/fastify/fastify/pull/4901](https://togithub.com/fastify/fastify/pull/4901)
- docs(logging): fix typo by
[@&#8203;yamanidev](https://togithub.com/yamanidev) in
[https://github.com/fastify/fastify/pull/4905](https://togithub.com/fastify/fastify/pull/4905)
- Support IPv6 ::1 in listeningOrigin by
[@&#8203;mcollina](https://togithub.com/mcollina) in
[https://github.com/fastify/fastify/pull/4902](https://togithub.com/fastify/fastify/pull/4902)
- fix: extend isCustomValidatorCompiler from parent controller by
[@&#8203;tinchoz49](https://togithub.com/tinchoz49) in
[https://github.com/fastify/fastify/pull/4903](https://togithub.com/fastify/fastify/pull/4903)
- fix: allow uppercase requestdHeader by
[@&#8203;Uzlopak](https://togithub.com/Uzlopak) in
[https://github.com/fastify/fastify/pull/4906](https://togithub.com/fastify/fastify/pull/4906)

#### New Contributors

- [@&#8203;ed-henrique](https://togithub.com/ed-henrique) made their
first contribution in
[https://github.com/fastify/fastify/pull/4879](https://togithub.com/fastify/fastify/pull/4879)
- [@&#8203;svrnwnsch](https://togithub.com/svrnwnsch) made their first
contribution in
[https://github.com/fastify/fastify/pull/4824](https://togithub.com/fastify/fastify/pull/4824)
- [@&#8203;xijdk](https://togithub.com/xijdk) made their first
contribution in
[https://github.com/fastify/fastify/pull/4792](https://togithub.com/fastify/fastify/pull/4792)
- [@&#8203;hateablestream](https://togithub.com/hateablestream) made
their first contribution in
[https://github.com/fastify/fastify/pull/4846](https://togithub.com/fastify/fastify/pull/4846)
- [@&#8203;graphiteisaac](https://togithub.com/graphiteisaac) made their
first contribution in
[https://github.com/fastify/fastify/pull/4893](https://togithub.com/fastify/fastify/pull/4893)
- [@&#8203;shayff](https://togithub.com/shayff) made their first
contribution in
[https://github.com/fastify/fastify/pull/4886](https://togithub.com/fastify/fastify/pull/4886)
- [@&#8203;JekRock](https://togithub.com/JekRock) made their first
contribution in
[https://github.com/fastify/fastify/pull/4898](https://togithub.com/fastify/fastify/pull/4898)
- [@&#8203;yamanidev](https://togithub.com/yamanidev) made their first
contribution in
[https://github.com/fastify/fastify/pull/4905](https://togithub.com/fastify/fastify/pull/4905)
- [@&#8203;tinchoz49](https://togithub.com/tinchoz49) made their first
contribution in
[https://github.com/fastify/fastify/pull/4903](https://togithub.com/fastify/fastify/pull/4903)

**Full Changelog**:
fastify/fastify@v4.19.2...v4.20.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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).

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

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

github-actions bot commented Jul 8, 2024

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 Jul 8, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants