Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

testr: use an interface to make it work with *testing.B and *testing.F #143

Merged
merged 1 commit into from Jul 11, 2022

Conversation

jeandeaual
Copy link
Contributor

The testr logger currently only works with *testing.T and is not usable in benchmarks and fuzz tests.
By using an interface instead, it can be made to accept *testing.T, *testing.B and *testing.F.

This is similar to what's done in other libraries, for example:

This changes the return type of GetUnderlying though, so I'm not sure if that's OK.

Copy link
Contributor

@pohly pohly left a comment

Choose a reason for hiding this comment

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

This makes sense to me. It's the same approach that I took in https://github.com/kubernetes/klog/blob/a585df903e8653af246bcb8291cc856af2df9cfd/ktesting/testinglogger.go#L41-L65

It is an API break not just because of the Underlier change, but also because the function signature of the New function changes. One option to avoid this would be to have yet another constructor that takes TestingT plus options and have a second Underlier which is implemented by the struct returned by that (and only that) constructor.

Most of the common code can still be shared by the two structs, but the devil will be in the details. 🤷

testr/testr.go Outdated
type TestingT interface {
Helper()
Log(args ...interface{})
Logf(format string, args ...interface{})
Copy link
Contributor

Choose a reason for hiding this comment

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

Logf is not needed. Perhaps drop it to make it easier to satisfy the interface with something other than testing.T/B/F?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It is being used in the implementation, but you're right, it's not strictly required so I removed it.

@jeandeaual
Copy link
Contributor Author

It is an API break not just because of the Underlier change, but also because the function signature of the New function changes. One option to avoid this would be to have yet another constructor that takes TestingT plus options and have a second Underlier which is implemented by the struct returned by that (and only that) constructor.

Most of the common code can still be shared by the two structs, but the devil will be in the details. 🤷

That makes sense.

As you suggested, I created a new struct and created a new constructor that takes TestingT and left the existing implementation as-is. This seems to be working fine and doesn't change the API.

I'm not sure about the naming though. Do you have any suggestion?

testr/testr.go Outdated
// NewFromInterfaceWithOptions returns a logr.Logger that prints through a
// TestingT object.
// In contrast to the simpler New, output formatting can be configured.
func NewFromInterfaceWithOptions(t TestingT, opts Options) logr.Logger {
Copy link
Contributor

Choose a reason for hiding this comment

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

I think a single NewWithInterface may be okay. It matches the NewWithOptions pattern.

We only need a single variant of it. That we have New and NewWithOptions is because of historic reasons, we don't need to repeat that.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I see, thanks for the explanation.
I renamed the variant with the Options parameter NewWithInterface and removed the other constructor.

Copy link
Contributor

@pohly pohly left a comment

Choose a reason for hiding this comment

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

You can squash all commits into one already during the review, GitHub's force-push links work for me.

testr/testr.go Show resolved Hide resolved
Comment on lines 61 to 71
if underlier, ok := log.GetSink().(UnderlierInterface); ok {
if underlierT, ok := underlier.GetUnderlying().(*testing.T); ok {
if t != underlierT {
t.Error("invalid underlier")
}
} else {
t.Error("couldn't get underlying *testing.T")
}
} else {
t.Error("couldn't get underlier")
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: this works, but doesn't look like idiomatic Go. How about this:

Suggested change
if underlier, ok := log.GetSink().(UnderlierInterface); ok {
if underlierT, ok := underlier.GetUnderlying().(*testing.T); ok {
if t != underlierT {
t.Error("invalid underlier")
}
} else {
t.Error("couldn't get underlying *testing.T")
}
} else {
t.Error("couldn't get underlier")
}
underlier, ok := log.GetSink().(UnderlierInterface)
if !ok {
t.Fatal("couldn't get underlier")
}
underlierT, ok := underlier.GetUnderlying().(*testing.T)
if !ok {
t.Fatal("couldn't get underlying *testing.T")
}
if t != underlierT {
t.Error("invalid underlier")
}

The same applies above and below.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This does look better. I updated the tests to follow your suggestion.

Copy link
Contributor

@pohly pohly left a comment

Choose a reason for hiding this comment

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

This looks good to me now, but I'll give @thockin some time to also have another look because this touches code that he wrote initially.

testr/testr.go Outdated
GetUnderlying() TestingT
}

func logInfo(
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you please un-linewrap the args? This is inconsistent with anything else in the codebase

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sorry for that.

testr/testr.go Outdated
GetUnderlying() TestingT
}

func logInfo(
Copy link
Contributor

Choose a reason for hiding this comment

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

Also please add comments on these funcs to explain why they exist

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I added some comments to the new functions. They are here to prevent code duplication between testlogger and testloggerInterface.

}
}

func BenchmarkLogger(b *testing.B) {
Copy link
Contributor

Choose a reason for hiding this comment

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

do we really need this? What is it proving?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@thockin This is mostly to test that NewWithInterface can be called with a *testing.B in addition to *testing.T.
But it's true that it is not really useful to benchmark this library, so I can remove it if you'd prefer.

Copy link
Contributor

Choose a reason for hiding this comment

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

I see - I think it is important to have test-cases for B and F.

It's probably enough to have something like:

b := testing.B{}
log := NewWithInterface(b)

and same for F, just to prove it compiles.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I added test cases for *testing.B and *testing.F.
I put the one for *testing.F in a separate file since fuzzing is only available since Go 1.18 but the test cases are run on the CI pipeline with Go 1.16+.

@thockin thockin merged commit 2d5bc33 into go-logr:master Jul 11, 2022
@jeandeaual jeandeaual deleted the testr-interface branch July 12, 2022 00:27
@Zerpet Zerpet mentioned this pull request Nov 14, 2022
Racer159 added a commit to defenseunicorns/zarf that referenced this pull request Mar 31, 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 | Type |
Update |
|---|---|---|---|---|---|---|---|
| @​defense-unicorns/unicorn-ui | [`0.0.37` ->
`0.0.42`](https://renovatebot.com/diffs/npm/@defense-unicorns%2funicorn-ui/0.0.37/0.0.42)
|
[![age](https://badges.renovateapi.com/packages/npm/@defense-unicorns%2funicorn-ui/0.0.42/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@defense-unicorns%2funicorn-ui/0.0.42/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@defense-unicorns%2funicorn-ui/0.0.42/compatibility-slim/0.0.37)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@defense-unicorns%2funicorn-ui/0.0.42/confidence-slim/0.0.37)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [@docusaurus/core](https://togithub.com/facebook/docusaurus) |
[`2.3.1` ->
`2.4.0`](https://renovatebot.com/diffs/npm/@docusaurus%2fcore/2.3.1/2.4.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@docusaurus%2fcore/2.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@docusaurus%2fcore/2.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@docusaurus%2fcore/2.4.0/compatibility-slim/2.3.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@docusaurus%2fcore/2.4.0/confidence-slim/2.3.1)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
|
[@docusaurus/module-type-aliases](https://togithub.com/facebook/docusaurus)
| [`2.3.1` ->
`2.4.0`](https://renovatebot.com/diffs/npm/@docusaurus%2fmodule-type-aliases/2.3.1/2.4.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@docusaurus%2fmodule-type-aliases/2.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@docusaurus%2fmodule-type-aliases/2.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@docusaurus%2fmodule-type-aliases/2.4.0/compatibility-slim/2.3.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@docusaurus%2fmodule-type-aliases/2.4.0/confidence-slim/2.3.1)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [@docusaurus/preset-classic](https://togithub.com/facebook/docusaurus)
| [`2.3.1` ->
`2.4.0`](https://renovatebot.com/diffs/npm/@docusaurus%2fpreset-classic/2.3.1/2.4.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@docusaurus%2fpreset-classic/2.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@docusaurus%2fpreset-classic/2.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@docusaurus%2fpreset-classic/2.4.0/compatibility-slim/2.3.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@docusaurus%2fpreset-classic/2.4.0/confidence-slim/2.3.1)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [@docusaurus/theme-mermaid](https://togithub.com/facebook/docusaurus)
| [`2.3.1` ->
`2.4.0`](https://renovatebot.com/diffs/npm/@docusaurus%2ftheme-mermaid/2.3.1/2.4.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@docusaurus%2ftheme-mermaid/2.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@docusaurus%2ftheme-mermaid/2.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@docusaurus%2ftheme-mermaid/2.4.0/compatibility-slim/2.3.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@docusaurus%2ftheme-mermaid/2.4.0/confidence-slim/2.3.1)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/Microsoft/playwright)) | [`1.31.2` ->
`1.32.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.31.2/1.32.1)
|
[![age](https://badges.renovateapi.com/packages/npm/@playwright%2ftest/1.32.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@playwright%2ftest/1.32.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@playwright%2ftest/1.32.1/compatibility-slim/1.31.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@playwright%2ftest/1.32.1/confidence-slim/1.31.2)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [@sveltejs/kit](https://kit.svelte.dev)
([source](https://togithub.com/sveltejs/kit)) | [`1.12.0` ->
`1.15.0`](https://renovatebot.com/diffs/npm/@sveltejs%2fkit/1.12.0/1.15.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@sveltejs%2fkit/1.15.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@sveltejs%2fkit/1.15.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@sveltejs%2fkit/1.15.0/compatibility-slim/1.12.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@sveltejs%2fkit/1.15.0/confidence-slim/1.12.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint)
| [`5.55.0` ->
`5.57.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.55.0/5.57.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.57.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.57.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.57.0/compatibility-slim/5.55.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.57.0/confidence-slim/5.55.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint)
| [`5.55.0` ->
`5.57.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.55.0/5.57.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.57.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.57.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.57.0/compatibility-slim/5.55.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.57.0/confidence-slim/5.55.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [actions/checkout](https://togithub.com/actions/checkout) | `v3.4.0`
-> `v3.5.0` |
[![age](https://badges.renovateapi.com/packages/github-tags/actions%2fcheckout/v3.5.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/github-tags/actions%2fcheckout/v3.5.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/github-tags/actions%2fcheckout/v3.5.0/compatibility-slim/v3.4.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/github-tags/actions%2fcheckout/v3.5.0/confidence-slim/v3.4.0)](https://docs.renovatebot.com/merge-confidence/)
| action | minor |
| [anchore/sbom-action](https://togithub.com/anchore/sbom-action) |
`v0.13.3` -> `v0.13.4` |
[![age](https://badges.renovateapi.com/packages/github-tags/anchore%2fsbom-action/v0.13.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/github-tags/anchore%2fsbom-action/v0.13.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/github-tags/anchore%2fsbom-action/v0.13.4/compatibility-slim/v0.13.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/github-tags/anchore%2fsbom-action/v0.13.4/confidence-slim/v0.13.3)](https://docs.renovatebot.com/merge-confidence/)
| action | patch |
| [eslint](https://eslint.org)
([source](https://togithub.com/eslint/eslint)) | [`8.36.0` ->
`8.37.0`](https://renovatebot.com/diffs/npm/eslint/8.36.0/8.37.0) |
[![age](https://badges.renovateapi.com/packages/npm/eslint/8.37.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.37.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/eslint/8.37.0/compatibility-slim/8.36.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.37.0/confidence-slim/8.36.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[eslint-config-prettier](https://togithub.com/prettier/eslint-config-prettier)
| [`8.7.0` ->
`8.8.0`](https://renovatebot.com/diffs/npm/eslint-config-prettier/8.7.0/8.8.0)
|
[![age](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.8.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.8.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.8.0/compatibility-slim/8.7.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.8.0/confidence-slim/8.7.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[github.com/defenseunicorns/syft](https://togithub.com/defenseunicorns/syft)
| `v0.75.0-DU` -> `v0.75.0` |
[![age](https://badges.renovateapi.com/packages/go/github.com%2fdefenseunicorns%2fsyft/v0.75.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/go/github.com%2fdefenseunicorns%2fsyft/v0.75.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/go/github.com%2fdefenseunicorns%2fsyft/v0.75.0/compatibility-slim/v0.75.0-DU)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/go/github.com%2fdefenseunicorns%2fsyft/v0.75.0/confidence-slim/v0.75.0-DU)](https://docs.renovatebot.com/merge-confidence/)
| replace | patch |
| [github.com/docker/cli](https://togithub.com/docker/cli) |
`v23.0.1+incompatible` -> `v23.0.2+incompatible` |
[![age](https://badges.renovateapi.com/packages/go/github.com%2fdocker%2fcli/v23.0.2+incompatible/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/go/github.com%2fdocker%2fcli/v23.0.2+incompatible/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/go/github.com%2fdocker%2fcli/v23.0.2+incompatible/compatibility-slim/v23.0.1+incompatible)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/go/github.com%2fdocker%2fcli/v23.0.2+incompatible/confidence-slim/v23.0.1+incompatible)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
|
[github.com/fluxcd/helm-controller/api](https://togithub.com/fluxcd/helm-controller)
| `v0.31.1` -> `v0.31.2` |
[![age](https://badges.renovateapi.com/packages/go/github.com%2ffluxcd%2fhelm-controller%2fapi/v0.31.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/go/github.com%2ffluxcd%2fhelm-controller%2fapi/v0.31.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/go/github.com%2ffluxcd%2fhelm-controller%2fapi/v0.31.2/compatibility-slim/v0.31.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/go/github.com%2ffluxcd%2fhelm-controller%2fapi/v0.31.2/confidence-slim/v0.31.1)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
|
[github.com/fluxcd/source-controller/api](https://togithub.com/fluxcd/source-controller)
| `v0.36.0` -> `v0.36.1` |
[![age](https://badges.renovateapi.com/packages/go/github.com%2ffluxcd%2fsource-controller%2fapi/v0.36.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/go/github.com%2ffluxcd%2fsource-controller%2fapi/v0.36.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/go/github.com%2ffluxcd%2fsource-controller%2fapi/v0.36.1/compatibility-slim/v0.36.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/go/github.com%2ffluxcd%2fsource-controller%2fapi/v0.36.1/confidence-slim/v0.36.0)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [github.com/go-logr/logr](https://togithub.com/go-logr/logr) |
`v1.2.3` -> `v1.2.4` |
[![age](https://badges.renovateapi.com/packages/go/github.com%2fgo-logr%2flogr/v1.2.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/go/github.com%2fgo-logr%2flogr/v1.2.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/go/github.com%2fgo-logr%2flogr/v1.2.4/compatibility-slim/v1.2.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/go/github.com%2fgo-logr%2flogr/v1.2.4/confidence-slim/v1.2.3)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [github.com/goccy/go-yaml](https://togithub.com/goccy/go-yaml) |
`v1.10.0` -> `v1.10.1` |
[![age](https://badges.renovateapi.com/packages/go/github.com%2fgoccy%2fgo-yaml/v1.10.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/go/github.com%2fgoccy%2fgo-yaml/v1.10.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/go/github.com%2fgoccy%2fgo-yaml/v1.10.1/compatibility-slim/v1.10.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/go/github.com%2fgoccy%2fgo-yaml/v1.10.1/confidence-slim/v1.10.0)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [github.com/moby/moby](https://togithub.com/moby/moby) |
`v23.0.1+incompatible` -> `v23.0.2+incompatible` |
[![age](https://badges.renovateapi.com/packages/go/github.com%2fmoby%2fmoby/v23.0.2+incompatible/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/go/github.com%2fmoby%2fmoby/v23.0.2+incompatible/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/go/github.com%2fmoby%2fmoby/v23.0.2+incompatible/compatibility-slim/v23.0.1+incompatible)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/go/github.com%2fmoby%2fmoby/v23.0.2+incompatible/confidence-slim/v23.0.1+incompatible)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [github.com/pterm/pterm](https://togithub.com/pterm/pterm) |
`v0.12.56` -> `v0.12.57` |
[![age](https://badges.renovateapi.com/packages/go/github.com%2fpterm%2fpterm/v0.12.57/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/go/github.com%2fpterm%2fpterm/v0.12.57/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/go/github.com%2fpterm%2fpterm/v0.12.57/compatibility-slim/v0.12.56)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/go/github.com%2fpterm%2fpterm/v0.12.57/confidence-slim/v0.12.56)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [github/codeql-action](https://togithub.com/github/codeql-action) |
`v2.2.7` -> `v2.2.9` |
[![age](https://badges.renovateapi.com/packages/github-tags/github%2fcodeql-action/v2.2.9/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/github-tags/github%2fcodeql-action/v2.2.9/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/github-tags/github%2fcodeql-action/v2.2.9/compatibility-slim/v2.2.7)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/github-tags/github%2fcodeql-action/v2.2.9/confidence-slim/v2.2.7)](https://docs.renovatebot.com/merge-confidence/)
| action | patch |
| [material-symbols](https://marella.github.io/material-symbols/demo/)
([source](https://togithub.com/marella/material-symbols)) | [`0.5.0` ->
`0.5.3`](https://renovatebot.com/diffs/npm/material-symbols/0.5.0/0.5.3)
|
[![age](https://badges.renovateapi.com/packages/npm/material-symbols/0.5.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/material-symbols/0.5.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/material-symbols/0.5.3/compatibility-slim/0.5.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/material-symbols/0.5.3/confidence-slim/0.5.0)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [nodemon](https://nodemon.io)
([source](https://togithub.com/remy/nodemon)) | [`2.0.21` ->
`2.0.22`](https://renovatebot.com/diffs/npm/nodemon/2.0.21/2.0.22) |
[![age](https://badges.renovateapi.com/packages/npm/nodemon/2.0.22/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/nodemon/2.0.22/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/nodemon/2.0.22/compatibility-slim/2.0.21)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/nodemon/2.0.22/confidence-slim/2.0.21)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [ossf/scorecard-action](https://togithub.com/ossf/scorecard-action) |
`v2.1.2` -> `v2.1.3` |
[![age](https://badges.renovateapi.com/packages/github-tags/ossf%2fscorecard-action/v2.1.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/github-tags/ossf%2fscorecard-action/v2.1.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/github-tags/ossf%2fscorecard-action/v2.1.3/compatibility-slim/v2.1.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/github-tags/ossf%2fscorecard-action/v2.1.3/confidence-slim/v2.1.2)](https://docs.renovatebot.com/merge-confidence/)
| action | patch |
| [playwright](https://playwright.dev)
([source](https://togithub.com/Microsoft/playwright)) | [`1.31.2` ->
`1.32.1`](https://renovatebot.com/diffs/npm/playwright/1.31.2/1.32.1) |
[![age](https://badges.renovateapi.com/packages/npm/playwright/1.32.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/playwright/1.32.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/playwright/1.32.1/compatibility-slim/1.31.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/playwright/1.32.1/confidence-slim/1.31.2)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [prettier](https://prettier.io)
([source](https://togithub.com/prettier/prettier)) | [`2.8.5` ->
`2.8.7`](https://renovatebot.com/diffs/npm/prettier/2.8.5/2.8.7) |
[![age](https://badges.renovateapi.com/packages/npm/prettier/2.8.7/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/prettier/2.8.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/prettier/2.8.7/compatibility-slim/2.8.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/prettier/2.8.7/confidence-slim/2.8.5)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[prettier-plugin-svelte](https://togithub.com/sveltejs/prettier-plugin-svelte)
| [`2.9.0` ->
`2.10.0`](https://renovatebot.com/diffs/npm/prettier-plugin-svelte/2.9.0/2.10.0)
|
[![age](https://badges.renovateapi.com/packages/npm/prettier-plugin-svelte/2.10.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/prettier-plugin-svelte/2.10.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/prettier-plugin-svelte/2.10.0/compatibility-slim/2.9.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/prettier-plugin-svelte/2.10.0/confidence-slim/2.9.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [quicktype](https://togithub.com/quicktype/quicktype) | [`23.0.17` ->
`23.0.19`](https://renovatebot.com/diffs/npm/quicktype/23.0.17/23.0.19)
|
[![age](https://badges.renovateapi.com/packages/npm/quicktype/23.0.19/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/quicktype/23.0.19/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/quicktype/23.0.19/compatibility-slim/23.0.17)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/quicktype/23.0.19/confidence-slim/23.0.17)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [sass](https://togithub.com/sass/dart-sass) | [`1.59.3` ->
`1.60.0`](https://renovatebot.com/diffs/npm/sass/1.59.3/1.60.0) |
[![age](https://badges.renovateapi.com/packages/npm/sass/1.60.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/sass/1.60.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/sass/1.60.0/compatibility-slim/1.59.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/sass/1.60.0/confidence-slim/1.59.3)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [serde_json](https://togithub.com/serde-rs/json) | `1.0.94` ->
`1.0.95` |
[![age](https://badges.renovateapi.com/packages/crate/serde_json/1.0.95/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/crate/serde_json/1.0.95/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/crate/serde_json/1.0.95/compatibility-slim/1.0.94)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/crate/serde_json/1.0.95/confidence-slim/1.0.94)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
|
[sigs.k8s.io/kustomize/api](https://togithub.com/kubernetes-sigs/kustomize)
| `v0.12.1` -> `v0.13.2` |
[![age](https://badges.renovateapi.com/packages/go/sigs.k8s.io%2fkustomize%2fapi/v0.13.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/go/sigs.k8s.io%2fkustomize%2fapi/v0.13.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/go/sigs.k8s.io%2fkustomize%2fapi/v0.13.2/compatibility-slim/v0.12.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/go/sigs.k8s.io%2fkustomize%2fapi/v0.13.2/confidence-slim/v0.12.1)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [svelte](https://svelte.dev)
([source](https://togithub.com/sveltejs/svelte)) | [`3.57.0` ->
`3.58.0`](https://renovatebot.com/diffs/npm/svelte/3.57.0/3.58.0) |
[![age](https://badges.renovateapi.com/packages/npm/svelte/3.58.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/svelte/3.58.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/svelte/3.58.0/compatibility-slim/3.57.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/svelte/3.58.0/confidence-slim/3.57.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [typescript](https://www.typescriptlang.org/)
([source](https://togithub.com/Microsoft/TypeScript)) | [`5.0.2` ->
`5.0.3`](https://renovatebot.com/diffs/npm/typescript/5.0.2/5.0.3) |
[![age](https://badges.renovateapi.com/packages/npm/typescript/5.0.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/typescript/5.0.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/typescript/5.0.3/compatibility-slim/5.0.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/typescript/5.0.3/confidence-slim/5.0.2)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |

---

### Release Notes

<details>
<summary>facebook/docusaurus</summary>

###
[`v2.4.0`](https://togithub.com/facebook/docusaurus/blob/HEAD/CHANGELOG.md#&#8203;240-2023-03-23)

[Compare
Source](https://togithub.com/facebook/docusaurus/compare/v2.3.1...v2.4.0)

##### :rocket: New Feature

-   `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`
- [#&#8203;8236](https://togithub.com/facebook/docusaurus/pull/8236)
feat(content-docs): add support for sidebar item category/link
descriptions in generated index page
([@&#8203;ZarakiKanzaki](https://togithub.com/ZarakiKanzaki))
-   `docusaurus-theme-classic`
- [#&#8203;8708](https://togithub.com/facebook/docusaurus/pull/8708)
feat(theme): allow to load a Docusaurus page with theme from
query-string: ?docusaurus-theme=dark
([@&#8203;slorber](https://togithub.com/slorber))
- [#&#8203;8616](https://togithub.com/facebook/docusaurus/pull/8616)
feat(theme): add ability to translate navbar+footer logo alt text
([@&#8203;Mysterious-Dev](https://togithub.com/Mysterious-Dev))
-   `docusaurus-remark-plugin-npm2yarn`
- [#&#8203;8690](https://togithub.com/facebook/docusaurus/pull/8690)
feat(npm-to-yarn): add support for PnPm and custom converters
([@&#8203;armano2](https://togithub.com/armano2))
-   `docusaurus`
- [#&#8203;8677](https://togithub.com/facebook/docusaurus/pull/8677)
feat(core): add script env variables: NODE_ENV + BABEL_ENV +
DOCUSAURUS_CURRENT_LOCALE (temporary i18n workaround)
([@&#8203;slorber](https://togithub.com/slorber))
-   `docusaurus-theme-classic`, `docusaurus-theme-common`
- [#&#8203;8674](https://togithub.com/facebook/docusaurus/pull/8674)
feat(theme-classic): respect `prefers-reduced-motion: reduce`
mediaquery, bump Infima to alpha.43
([@&#8203;slorber](https://togithub.com/slorber))
-   `docusaurus-theme-translations`
- [#&#8203;8668](https://togithub.com/facebook/docusaurus/pull/8668)
feat(theme-translations): add Hungarian theme translations
([@&#8203;trueqap](https://togithub.com/trueqap))
- [#&#8203;8631](https://togithub.com/facebook/docusaurus/pull/8631)
feat(theme-translations): add Norwegian (Bokmål) theme translation
([@&#8203;dr0nn1](https://togithub.com/dr0nn1))
-   `docusaurus-theme-common`
- [#&#8203;8656](https://togithub.com/facebook/docusaurus/pull/8656)
feat(theme-common): allow passing a string for details summary
([@&#8203;pReya](https://togithub.com/pReya))
-   `docusaurus-plugin-google-gtag`
- [#&#8203;8620](https://togithub.com/facebook/docusaurus/pull/8620)
feat(gtag-plugin): gtag should support multiple tracking ids, notably
for the UA => GA4 transition
([@&#8203;slorber](https://togithub.com/slorber))

##### :bug: Bug Fix

-   `docusaurus-theme-classic`
- [#&#8203;8803](https://togithub.com/facebook/docusaurus/pull/8803)
fix(theme): codeblock buttons should be kept on the right when using RTL
locale ([@&#8203;Vishruta-Patil](https://togithub.com/Vishruta-Patil))
- [#&#8203;8615](https://togithub.com/facebook/docusaurus/pull/8615)
fix(theme): improve color toggle when using dark navbar
([@&#8203;dewanshDT](https://togithub.com/dewanshDT))
- [#&#8203;8699](https://togithub.com/facebook/docusaurus/pull/8699)
fix(theme-classic): fix tab focus bug in dropdown
([#&#8203;8697](https://togithub.com/facebook/docusaurus/issues/8697))
([@&#8203;kagankan](https://togithub.com/kagankan))
-   `docusaurus-theme-classic`, `docusaurus-theme-common`
- [#&#8203;8801](https://togithub.com/facebook/docusaurus/pull/8801)
fix(theme): allow tabs children to be falsy
([@&#8203;Josh-Cena](https://togithub.com/Josh-Cena))
-   `docusaurus-theme-common`, `docusaurus-theme-search-algolia`
- [#&#8203;8757](https://togithub.com/facebook/docusaurus/pull/8757)
fix(search): search page should react to querystring changes +
cleanup/refactor ([@&#8203;slorber](https://togithub.com/slorber))
-   `docusaurus`
- [#&#8203;8746](https://togithub.com/facebook/docusaurus/pull/8746)
fix(core): baseUrl error banner link anchor case
([@&#8203;slorber](https://togithub.com/slorber))
-   `docusaurus-theme-translations`
- [#&#8203;8744](https://togithub.com/facebook/docusaurus/pull/8744)
fix(theme-translations): fix wrong arabic words (tip/next)
([@&#8203;Anasqx](https://togithub.com/Anasqx))

##### :nail_care: Polish

-   `create-docusaurus`
- [#&#8203;8712](https://togithub.com/facebook/docusaurus/pull/8712)
polish(create-docusaurus): the starter template should use a navbar item
"docSidebar" instead of "doc" (less fragile on updates)
([@&#8203;biplavmz](https://togithub.com/biplavmz))
- `docusaurus-theme-classic`, `docusaurus-theme-common`,
`docusaurus-utils-common`, `docusaurus`
- [#&#8203;8735](https://togithub.com/facebook/docusaurus/pull/8735)
polish(theme): better error messages on navbar item rendering failures +
ErrorCauseBoundary API
([@&#8203;tannerdolby](https://togithub.com/tannerdolby))
-   `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus`
- [#&#8203;8736](https://togithub.com/facebook/docusaurus/pull/8736)
polish(core): better styling for error screens
([@&#8203;tannerdolby](https://togithub.com/tannerdolby))

##### Committers: 14

-   Anas ([@&#8203;Anasqx](https://togithub.com/Anasqx))
-   Armano ([@&#8203;armano2](https://togithub.com/armano2))
- Davide Donadio
([@&#8203;ZarakiKanzaki](https://togithub.com/ZarakiKanzaki))
-   Dewansh Thakur ([@&#8203;dewanshDT](https://togithub.com/dewanshDT))
-   Joshua Chen ([@&#8203;Josh-Cena](https://togithub.com/Josh-Cena))
-   Kagan ([@&#8203;kagankan](https://togithub.com/kagankan))
-   Moritz Stückler ([@&#8203;pReya](https://togithub.com/pReya))
- Mysterious_Dev
([@&#8203;Mysterious-Dev](https://togithub.com/Mysterious-Dev))
-   Petter Drønnen ([@&#8203;dr0nn1](https://togithub.com/dr0nn1))
-   Sébastien Lorber ([@&#8203;slorber](https://togithub.com/slorber))
- Tanner Dolby ([@&#8203;tannerdolby](https://togithub.com/tannerdolby))
-   TrueQAP ([@&#8203;trueqap](https://togithub.com/trueqap))
- Vishruta Patil
([@&#8203;Vishruta-Patil](https://togithub.com/Vishruta-Patil))
-   [@&#8203;biplavmz](https://togithub.com/biplavmz)

</details>

<details>
<summary>Microsoft/playwright</summary>

###
[`v1.32.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.32.1)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.32.0...v1.32.1)

#### Highlights


[https://github.com/microsoft/playwright/issues/21832](https://togithub.com/microsoft/playwright/issues/21832)
- \[BUG] Trace is not opening on specific broken
locator[https://github.com/microsoft/playwright/issues/21897](https://togithub.com/microsoft/playwright/issues/21897)7
- \[BUG] --ui fails to open with error reading mainFrame from an
undefined
this.\_pa[https://github.com/microsoft/playwright/issues/21918](https://togithub.com/microsoft/playwright/issues/21918)918
- \[BUG]: UI mode, skipped tests not being
fo[https://github.com/microsoft/playwright/issues/21941](https://togithub.com/microsoft/playwright/issues/21941)1941
- \[BUG] UI mode does not show webServer startup
er[https://github.com/microsoft/playwright/issues/21953](https://togithub.com/microsoft/playwright/issues/21953)21953
- \[BUG] Parameterized tests are not displayed in the UI mode

#### Browser Versions

-   Chromium 112.0.5615.29
-   Mozilla Firefox 111.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 111
-   Microsoft Edge 111

###
[`v1.32.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.32.0)

[Compare
Source](https://togithub.com/Microsoft/playwright/compare/v1.31.2...v1.32.0)

#### 📣 Introducing UI Mode (preview)

<a href="https://www.youtube.com/watch?v=jF0yA-JLQW0"><img
src="https://user-images.githubusercontent.com/746130/227044467-b4db82dc-c7fa-40d7-a0c8-8f702581c3b9.png"
width=340></a>

<a href="https://www.youtube.com/watch?v=jF0yA-JLQW0">Playwright v1.32
updates</a>

New UI Mode lets you explore, run and debug tests. Comes with a built-in
watch mode.

![Playwright UI
Mode](https://user-images.githubusercontent.com/746130/227004851-3901a691-4f8e-43d6-8d6b-cbfeafaeb999.png)

Engage with a new flag `--ui`:

```sh
npx playwright test --ui
```

#### New APIs

- New options `option: updateMode` and `option: updateContent` in
[`page.routeFromHAR()`](https://playwright.dev/docs/api/class-page#page-route-from-har)
and
[`browserContext.routeFromHAR()`](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har).
- Chaining existing locator objects, see [locator
docs](https://playwright.dev/docs/locators#chaining-locators) for
details.
- New property
[`TestInfo.testId`](https://playwright.dev/docs/api/class-testinfo#test-info-test-id).
- New option `name` in method
[`Tracing.startChunk()`](https://playwright.dev/docs/api/class-tracing#tracing-start-chunk).

#### ⚠️ Breaking change in component tests

Note: **component tests only**, does not affect end-to-end tests.

-   `@playwright/experimental-ct-react` now supports **React 18 only**.
- If you're running component tests with React 16 or 17, please replace
`@playwright/experimental-ct-react` with
`@playwright/experimental-ct-react17`.

#### Browser Versions

-   Chromium 112.0.5615.29
-   Mozilla Firefox 111.0
-   WebKit 16.4

This version was also tested against the following stable channels:

-   Google Chrome 111
-   Microsoft Edge 111

</details>

<details>
<summary>sveltejs/kit</summary>

###
[`v1.15.0`](https://togithub.com/sveltejs/kit/blob/HEAD/packages/kit/CHANGELOG.md#&#8203;1150)

[Compare
Source](https://togithub.com/sveltejs/kit/compare/@sveltejs/kit@1.14.0...@sveltejs/kit@1.15.0)

##### Minor Changes

- feat: expose stronger typed `SubmitFunction` through `./$types`
([#&#8203;9201](https://togithub.com/sveltejs/kit/pull/9201))

##### Patch Changes

- fix: throw error when file can't be found in Vite manifest
([#&#8203;9558](https://togithub.com/sveltejs/kit/pull/9558))

- fix: make `error.message` enumerable when sending `ssrLoadModule`
error to client
([#&#8203;9440](https://togithub.com/sveltejs/kit/pull/9440))

- fix: pass `publicDir` Vite config in SSR
([#&#8203;9565](https://togithub.com/sveltejs/kit/pull/9565))

- fix: balance parentheses in error about wrong content type for action
([#&#8203;9513](https://togithub.com/sveltejs/kit/pull/9513))

###
[`v1.14.0`](https://togithub.com/sveltejs/kit/blob/HEAD/packages/kit/CHANGELOG.md#&#8203;1140)

[Compare
Source](https://togithub.com/sveltejs/kit/compare/@sveltejs/kit@1.13.0...@sveltejs/kit@1.14.0)

##### Minor Changes

- feat: add HMR to fallback error pages during dev
([#&#8203;9497](https://togithub.com/sveltejs/kit/pull/9497))

##### Patch Changes

- fix: add `submitter` type to `SumbitFunction`
([#&#8203;9484](https://togithub.com/sveltejs/kit/pull/9484))

###
[`v1.13.0`](https://togithub.com/sveltejs/kit/blob/HEAD/packages/kit/CHANGELOG.md#&#8203;1130)

[Compare
Source](https://togithub.com/sveltejs/kit/compare/@sveltejs/kit@1.12.0...@sveltejs/kit@1.13.0)

##### Minor Changes

- feat: add dark mode styles to default error page
([#&#8203;9460](https://togithub.com/sveltejs/kit/pull/9460))

##### Patch Changes

- fix: recover from errors during dev by reloading
([#&#8203;9441](https://togithub.com/sveltejs/kit/pull/9441))

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/eslint-plugin)</summary>

###
[`v5.57.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5570-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5560v5570-2023-03-27)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.56.0...v5.57.0)

##### Bug Fixes

- **eslint-plugin:** \[no-unnecessary-boolean-literal-compare] simplify
fixer and add support for double negation
([#&#8203;6620](https://togithub.com/typescript-eslint/typescript-eslint/issues/6620))
([81c8519](https://togithub.com/typescript-eslint/typescript-eslint/commit/81c85193d27d2e7f6d12bc259088b9b73dbe1e8b))
- **eslint-plugin:** correct crashes with getTypeArguments for ts < 3.7
([#&#8203;6767](https://togithub.com/typescript-eslint/typescript-eslint/issues/6767))
([59eab58](https://togithub.com/typescript-eslint/typescript-eslint/commit/59eab587890a915387444d00c4a9387aed602718))

##### Features

- **eslint-plugin:** \[consistent-type-assertions] add suggestions for
objectLiteralTypeAssertions
([#&#8203;6642](https://togithub.com/typescript-eslint/typescript-eslint/issues/6642))
([720e811](https://togithub.com/typescript-eslint/typescript-eslint/commit/720e81138b66c94c60c4a4471b86b7d8567b6df0))
- **eslint-plugin:** \[consistent-type-assertions] autofix angle bracket
assertions to as
([#&#8203;6641](https://togithub.com/typescript-eslint/typescript-eslint/issues/6641))
([ad8ea64](https://togithub.com/typescript-eslint/typescript-eslint/commit/ad8ea64dbdf06c92ff72b48022f041693a8d7076))
- **eslint-plugin:** add `no-duplicate-type-constituents` rule
([#&#8203;5728](https://togithub.com/typescript-eslint/typescript-eslint/issues/5728))
([bc31078](https://togithub.com/typescript-eslint/typescript-eslint/commit/bc31078cf86d69eee881e4a7daeffa347c1d82a7))

###
[`v5.56.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5560-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5550v5560-2023-03-20)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.55.0...v5.56.0)

##### Bug Fixes

- **eslint-plugin:** \[member-ordering] check order when
optionalityOrder is present with no optional members
([#&#8203;6619](https://togithub.com/typescript-eslint/typescript-eslint/issues/6619))
([6aff431](https://togithub.com/typescript-eslint/typescript-eslint/commit/6aff431668eb0d25aa74b527cbe458f9dcd0d92a))
- **eslint-plugin:** \[no-misused-promises] avoid unnecessary calls to
getContextualType
([#&#8203;6193](https://togithub.com/typescript-eslint/typescript-eslint/issues/6193))
([745cfe4](https://togithub.com/typescript-eslint/typescript-eslint/commit/745cfe4a35319416b3c307ee9fd57c63bf1660cd))
- **eslint-plugin:** \[no-misused-promises] fix incorrect detection of
void functions in JSX attributes
([#&#8203;6638](https://togithub.com/typescript-eslint/typescript-eslint/issues/6638))
([9e41cee](https://togithub.com/typescript-eslint/typescript-eslint/commit/9e41ceeaea3bf266e5114cfb1855e70a1a13284b))
- **eslint-plugin:** \[strict-boolean-expression] support falsy and
truthy literals simultaneously
([#&#8203;6672](https://togithub.com/typescript-eslint/typescript-eslint/issues/6672))
([62ef487](https://togithub.com/typescript-eslint/typescript-eslint/commit/62ef487a99010827e99a792db5e565ad7c1d6220))
- **eslint-plugin:** \[strict-boolean-expressions] handle truthy enums
([#&#8203;6618](https://togithub.com/typescript-eslint/typescript-eslint/issues/6618))
([0d0639f](https://togithub.com/typescript-eslint/typescript-eslint/commit/0d0639fb25e5ac8d7b5e4ceac4273e17e8ee0249))
- **eslint-plugin:** add TSPropertySignature with TSFunctionType
annotation to typeMethod selector
([#&#8203;6645](https://togithub.com/typescript-eslint/typescript-eslint/issues/6645))
([3fc5c63](https://togithub.com/typescript-eslint/typescript-eslint/commit/3fc5c63f87bfd9d95f7e51fddc7ef16a6c3c5662))

##### Features

- **eslint-plugin:** add allowNever support to
restrict-template-expressions
([#&#8203;6554](https://togithub.com/typescript-eslint/typescript-eslint/issues/6554))
([423f164](https://togithub.com/typescript-eslint/typescript-eslint/commit/423f1642424293488fa03a52777c0df73a40e5fd))

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/parser)</summary>

###
[`v5.57.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5570-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5560v5570-2023-03-27)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.56.0...v5.57.0)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

###
[`v5.56.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5560-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5550v5560-2023-03-20)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.55.0...v5.56.0)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

</details>

<details>
<summary>actions/checkout</summary>

###
[`v3.5.0`](https://togithub.com/actions/checkout/releases/tag/v3.5.0)

[Compare
Source](https://togithub.com/actions/checkout/compare/v3.4.0...v3.5.0)

##### What's Changed

- Add new public key for known_hosts by
[@&#8203;cdb](https://togithub.com/cdb) in
[https://github.com/actions/checkout/pull/1237](https://togithub.com/actions/checkout/pull/1237)

##### New Contributors

- [@&#8203;cdb](https://togithub.com/cdb) made their first contribution
in
[https://github.com/actions/checkout/pull/1237](https://togithub.com/actions/checkout/pull/1237)

**Full Changelog**:
https://github.com/actions/checkout/compare/v3.4.0...v3.5.0

</details>

<details>
<summary>anchore/sbom-action</summary>

###
[`v0.13.4`](https://togithub.com/anchore/sbom-action/releases/tag/v0.13.4):
v0.14.0

[Compare
Source](https://togithub.com/anchore/sbom-action/compare/v0.13.3...v0.13.4)

#### Changes in v0.13.4

- Added support of workflow artifact's retention policy
([#&#8203;398](https://togithub.com/anchore/sbom-action/issues/398))
\[[ViacheslavKudinov](https://togithub.com/ViacheslavKudinov)]
- Use the correct SHA for dependency snapshots from pull requests
([#&#8203;401](https://togithub.com/anchore/sbom-action/issues/401))
\[[juxtin](https://togithub.com/juxtin)]
- Update Syft to v0.75.0
([#&#8203;394](https://togithub.com/anchore/sbom-action/issues/394))
\[[anchore-actions-token-generator](https://togithub.com/anchore-actions-token-generator)]

</details>

<details>
<summary>eslint/eslint</summary>

### [`v8.37.0`](https://togithub.com/eslint/eslint/releases/tag/v8.37.0)

[Compare
Source](https://togithub.com/eslint/eslint/compare/v8.36.0...v8.37.0)

#### Features

-
[`b6ab8b2`](https://togithub.com/eslint/eslint/commit/b6ab8b2a2ca8807baca121407f5bfb0a0a839427)
feat: `require-unicode-regexp` add suggestions
([#&#8203;17007](https://togithub.com/eslint/eslint/issues/17007)) (Josh
Goldberg)
-
[`10022b1`](https://togithub.com/eslint/eslint/commit/10022b1f4bda1ad89193512ecf18c2ee61db8202)
feat: Copy getScope() to SourceCode
([#&#8203;17004](https://togithub.com/eslint/eslint/issues/17004))
(Nicholas C. Zakas)
-
[`1665c02`](https://togithub.com/eslint/eslint/commit/1665c029acb92bf8812267f1647ad1a7054cbcb4)
feat: Use plugin metadata for flat config serialization
([#&#8203;16992](https://togithub.com/eslint/eslint/issues/16992))
(Nicholas C. Zakas)
-
[`b3634f6`](https://togithub.com/eslint/eslint/commit/b3634f695ddab6a82c0a9b1d8695e62b60d23366)
feat: docs license
([#&#8203;17010](https://togithub.com/eslint/eslint/issues/17010))
(Samuel Roldan)
-
[`892e6e5`](https://togithub.com/eslint/eslint/commit/892e6e58c5a07a549d3104de3b6b5879797dc97f)
feat: languageOptions.parser must be an object.
([#&#8203;16985](https://togithub.com/eslint/eslint/issues/16985))
(Nicholas C. Zakas)

#### Bug Fixes

-
[`619f3fd`](https://togithub.com/eslint/eslint/commit/619f3fd17324c7b71bf17e02047d0c6dc7e5109e)
fix: correctly handle `null` default config in `RuleTester`
([#&#8203;17023](https://togithub.com/eslint/eslint/issues/17023)) (Brad
Zacher)
-
[`1fbf118`](https://togithub.com/eslint/eslint/commit/1fbf1184fed57df02640aad4659afb54dc26a2e9)
fix: `getFirstToken`/`getLastToken` on comment-only node
([#&#8203;16889](https://togithub.com/eslint/eslint/issues/16889))
(Francesco Trotta)
-
[`129e252`](https://togithub.com/eslint/eslint/commit/129e252132c7c476d7de17f40b54a333ddb2e6bb)
fix: Fix typo in `logical-assignment-operators` rule description
([#&#8203;17000](https://togithub.com/eslint/eslint/issues/17000))
(Francesco Trotta)

#### Documentation

-
[`75339df`](https://togithub.com/eslint/eslint/commit/75339df99418df4d7e05a77e42ed7e22eabcc9e0)
docs: fix typos and missing info in id-match docs
([#&#8203;17029](https://togithub.com/eslint/eslint/issues/17029)) (Ed
Lucas)
-
[`ec2d830`](https://togithub.com/eslint/eslint/commit/ec2d8307850dd039e118c001416606e1e0342bc8)
docs: Fix typos in the `semi` rule docs
([#&#8203;17012](https://togithub.com/eslint/eslint/issues/17012))
(Andrii Lundiak)
-
[`e39f28d`](https://togithub.com/eslint/eslint/commit/e39f28d8578a00f4da8d4ddad559547950128a0d)
docs: add back to top button
([#&#8203;16979](https://togithub.com/eslint/eslint/issues/16979))
(Tanuj Kanti)
-
[`721c717`](https://togithub.com/eslint/eslint/commit/721c71782a7c11025689a1500e7690fb3794fcce)
docs: Custom Processors cleanup and expansion
([#&#8203;16838](https://togithub.com/eslint/eslint/issues/16838)) (Ben
Perlmutter)
-
[`d049f97`](https://togithub.com/eslint/eslint/commit/d049f974103e530ef76ede25af701635caf1f405)
docs: 'How ESLint is Maintained' page
([#&#8203;16961](https://togithub.com/eslint/eslint/issues/16961)) (Ben
Perlmutter)
-
[`5251a92`](https://togithub.com/eslint/eslint/commit/5251a921866e8d3b380dfe8db8a6e6ab97773d5e)
docs: Describe guard options for guard-for-in
([#&#8203;16986](https://togithub.com/eslint/eslint/issues/16986))
(alope107)
-
[`6157d81`](https://togithub.com/eslint/eslint/commit/6157d813e19b80481a46f8cbdf9eae18a55e5619)
docs: Add example to guard-for-in docs.
([#&#8203;16983](https://togithub.com/eslint/eslint/issues/16983))
(alope107)
-
[`fd47998`](https://togithub.com/eslint/eslint/commit/fd47998af6efadcdf5ba93e0bd1f4c02d97d22b3)
docs: update `Array.prototype.toSorted` specification link
([#&#8203;16982](https://togithub.com/eslint/eslint/issues/16982))
(Milos Djermanovic)
-
[`3e1cf6b`](https://togithub.com/eslint/eslint/commit/3e1cf6bfc5ebc29314ddbe462d6cb580e9ab085c)
docs: Copy edits on Maintain ESLint docs
([#&#8203;16939](https://togithub.com/eslint/eslint/issues/16939)) (Ben
Perlmutter)

#### Chores

-
[`c67f299`](https://togithub.com/eslint/eslint/commit/c67f2992a743de4765bb6f11c12622e3651324b9)
chore: upgrade
[@&#8203;eslint/js](https://togithub.com/eslint/js)[@&#8203;8](https://togithub.com/8).37.0
([#&#8203;17033](https://togithub.com/eslint/eslint/issues/17033))
(Milos Djermanovic)
-
[`ee9ddbd`](https://togithub.com/eslint/eslint/commit/ee9ddbd63e262aed0052853760866c7a054af561)
chore: package.json update for
[@&#8203;eslint/js](https://togithub.com/eslint/js) release (ESLint
Jenkins)
-
[`dddb475`](https://togithub.com/eslint/eslint/commit/dddb47528816cd7e2e737bfde108ed4d62e6a219)
chore: upgrade
[@&#8203;eslint/eslintrc](https://togithub.com/eslint/eslintrc)[@&#8203;2](https://togithub.com/2).0.2
([#&#8203;17032](https://togithub.com/eslint/eslint/issues/17032))
(Milos Djermanovic)
-
[`522431e`](https://togithub.com/eslint/eslint/commit/522431e5206bac2fcb41c0d6dc98a84929203bee)
chore: upgrade espree@9.5.1
([#&#8203;17031](https://togithub.com/eslint/eslint/issues/17031))
(Milos Djermanovic)
-
[`f5f9a88`](https://togithub.com/eslint/eslint/commit/f5f9a88c79b32222c0331a9bac1c02571d953b69)
chore: upgrade eslint-visitor-keys@3.4.0
([#&#8203;17030](https://togithub.com/eslint/eslint/issues/17030))
(Milos Djermanovic)
-
[`4dd8d52`](https://togithub.com/eslint/eslint/commit/4dd8d524e0fc9e8e2019df13f8b968021600e85c)
ci: bump actions/stale from 7 to 8
([#&#8203;17026](https://togithub.com/eslint/eslint/issues/17026))
(dependabot\[bot])
-
[`ad9dd6a`](https://togithub.com/eslint/eslint/commit/ad9dd6a933fd098a0d99c6a9aa059850535c23ee)
chore: remove duplicate scss,
([#&#8203;17005](https://togithub.com/eslint/eslint/issues/17005))
(Strek)
-
[`ada6a3e`](https://togithub.com/eslint/eslint/commit/ada6a3e6e3607523958f35e1260537630ec0e976)
ci: unpin Node 19
([#&#8203;16993](https://togithub.com/eslint/eslint/issues/16993))
(Milos Djermanovic)
-
[`c3da975`](https://togithub.com/eslint/eslint/commit/c3da975e69fde46f35338ce48528841a8dc1ffd2)
chore: Remove triage label from template
([#&#8203;16990](https://togithub.com/eslint/eslint/issues/16990))
(Nicholas C. Zakas)
-
[`69bc0e2`](https://togithub.com/eslint/eslint/commit/69bc0e2f4412998f9384600a100d7882ea4dd3f3)
ci: pin Node 19 to 19.7.0
([#&#8203;16987](https://togithub.com/eslint/eslint/issues/16987))
(Milos Djermanovic)

</details>

<details>
<summary>prettier/eslint-config-prettier</summary>

###
[`v8.8.0`](https://togithub.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#Version-880-2023-03-20)

[Compare
Source](https://togithub.com/prettier/eslint-config-prettier/compare/v8.7.0...v8.8.0)

- Added:
\[[@&#8203;typescript-eslint/lines-around-comment](https://togithub.com/typescript-eslint/lines-around-comment)].
Thanks to [@&#8203;ttionya](https://togithub.com/ttionya)!

</details>

<details>
<summary>defenseunicorns/syft</summary>

###
[`v0.75.0`](https://togithub.com/defenseunicorns/syft/compare/v0.75.0-DU...v0.75.0)

[Compare
Source](https://togithub.com/defenseunicorns/syft/compare/v0.75.0-DU...v0.75.0)

</details>

<details>
<summary>docker/cli</summary>

###
[`v23.0.2+incompatible`](https://togithub.com/docker/cli/compare/v23.0.1...v23.0.2)

[Compare
Source](https://togithub.com/docker/cli/compare/v23.0.1...v23.0.2)

</details>

<details>
<summary>fluxcd/helm-controller</summary>

###
[`v0.31.2`](https://togithub.com/fluxcd/helm-controller/releases/tag/v0.31.2)

[Compare
Source](https://togithub.com/fluxcd/helm-controller/compare/v0.31.1...v0.31.2)


[CHANGELOG](https://togithub.com/fluxcd/helm-controller/blob/main/CHANGELOG.md)

</details>

<details>
<summary>fluxcd/source-controller</summary>

###
[`v0.36.1`](https://togithub.com/fluxcd/source-controller/releases/tag/v0.36.1)

[Compare
Source](https://togithub.com/fluxcd/source-controller/compare/v0.36.0...v0.36.1)


[CHANGELOG](https://togithub.com/fluxcd/source-controller/blob/main/CHANGELOG.md)

</details>

<details>
<summary>go-logr/logr</summary>

### [`v1.2.4`](https://togithub.com/go-logr/logr/releases/tag/v1.2.4)

[Compare
Source](https://togithub.com/go-logr/logr/compare/v1.2.3...v1.2.4)

This is a collection of small bugfixes and documentation updates.

#### What's Changed

- Fix syntax in documentation by
[@&#8203;balki](https://togithub.com/balki) in
[https://github.com/go-logr/logr/pull/144](https://togithub.com/go-logr/logr/pull/144)
- testr: use an interface to make it work with \*testing.B and
\*testing.F by [@&#8203;jeandeaual](https://togithub.com/jeandeaual) in
[https://github.com/go-logr/logr/pull/143](https://togithub.com/go-logr/logr/pull/143)
- If logging as JSON and the type is json.RawMessage log it "as-is" by
[@&#8203;sfc-gh-jchacon](https://togithub.com/sfc-gh-jchacon) in
[https://github.com/go-logr/logr/pull/147](https://togithub.com/go-logr/logr/pull/147)
- Make zero value useful & add .IsZero() by
[@&#8203;wojas](https://togithub.com/wojas) in
[https://github.com/go-logr/logr/pull/153](https://togithub.com/go-logr/logr/pull/153)
- testr: merge testLogger and testLoggerInterface by
[@&#8203;thockin](https://togithub.com/thockin) in
[https://github.com/go-logr/logr/pull/160](https://togithub.com/go-logr/logr/pull/160)
- funcr: JSON invalid output with 1st field omitted by
[@&#8203;thockin](https://togithub.com/thockin) in
[https://github.com/go-logr/logr/pull/159](https://togithub.com/go-logr/logr/pull/159)
- Make github assign PRs and issues by
[@&#8203;thockin](https://togithub.com/thockin) in
[https://github.com/go-logr/logr/pull/162](https://togithub.com/go-logr/logr/pull/162)
- Fix comments on optional sink interfaces by
[@&#8203;thockin](https://togithub.com/thockin) in
[https://github.com/go-logr/logr/pull/161](https://togithub.com/go-logr/logr/pull/161)
- Add examples for Logger methods by
[@&#8203;thockin](https://togithub.com/thockin) in
[https://github.com/go-logr/logr/pull/163](https://togithub.com/go-logr/logr/pull/163)
- funcr: optimize WithValues/WithName/WithCallDepth by
[@&#8203;pohly](https://togithub.com/pohly) in
[https://github.com/go-logr/logr/pull/165](https://togithub.com/go-logr/logr/pull/165)
- make Discard logger equal to null logger by
[@&#8203;pohly](https://togithub.com/pohly) in
[https://github.com/go-logr/logr/pull/166](https://togithub.com/go-logr/logr/pull/166)

#### New Contributors

- [@&#8203;balki](https://togithub.com/balki) made their first
contribution in
[https://github.com/go-logr/logr/pull/144](https://togithub.com/go-logr/logr/pull/144)
- [@&#8203;jeandeaual](https://togithub.com/jeandeaual) made their first
contribution in
[https://github.com/go-logr/logr/pull/143](https://togithub.com/go-logr/logr/pull/143)
- [@&#8203;sfc-gh-jchacon](https://togithub.com/sfc-gh-jchacon) made
their first contribution in
[https://github.com/go-logr/logr/pull/147](https://togithub.com/go-logr/logr/pull/147)

**Full Changelog**:
https://github.com/go-logr/logr/compare/v1.2.3...v1.2.4

</details>

<details>
<summary>goccy/go-yaml</summary>

###
[`v1.10.1`](https://togithub.com/goccy/go-yaml/releases/tag/v1.10.1):
1.10.1

[Compare
Source](https://togithub.com/goccy/go-yaml/compare/v1.10.0...v1.10.1)

#### What's Changed

- Quote YAML 1.1 bools at encoding time for compatibility with other
legacy parsers by [@&#8203;mumoshu](https://togithub.com/mumoshu) in
[https://github.com/goccy/go-yaml/pull/354](https://togithub.com/goccy/go-yaml/pull/354)
- Update CI by [@&#8203;goccy](https://togithub.com/goccy) in
[https://github.com/goccy/go-yaml/pull/364](https://togithub.com/goccy/go-yaml/pull/364)
- Update Go Version by [@&#8203;goccy](https://togithub.com/goccy) in
[https://github.com/goccy/go-yaml/pull/365](https://togithub.com/goccy/go-yaml/pull/365)
- Don't trim all space characters in SequenceNode.blockStyleString by
[@&#8203;martin-sucha](https://togithub.com/martin-sucha) in
[https://github.com/goccy/go-yaml/pull/361](https://togithub.com/goccy/go-yaml/pull/361)
- Add support of 32-bit architecture by
[@&#8203;ozraru](https://togithub.com/ozraru) in
[https://github.com/goccy/go-yaml/pull/350](https://togithub.com/goccy/go-yaml/pull/350)
- Support strings starting with @&#8203; by
[@&#8203;10io](https://togithub.com/10io) in
[https://github.com/goccy/go-yaml/pull/339](https://togithub.com/goccy/go-yaml/pull/339)

#### New Contributors

- [@&#8203;mumoshu](https://togithub.com/mumoshu) made their first
contribution in
[https://github.com/goccy/go-yaml/pull/354](https://togithub.com/goccy/go-yaml/pull/354)
- [@&#8203;ozraru](https://togithub.com/ozraru) made their first
contribution in
[https://github.com/goccy/go-yaml/pull/350](https://togithub.com/goccy/go-yaml/pull/350)
- [@&#8203;10io](https://togithub.com/10io) made their first
contribution in
[https://github.com/goccy/go-yaml/pull/339](https://togithub.com/goccy/go-yaml/pull/339)

**Full Changelog**:
https://github.com/goccy/go-yaml/compare/v1.10.0...v1.10.1

</details>

<details>
<summary>moby/moby</summary>

###
[`v23.0.2+incompatible`](https://togithub.com/moby/moby/compare/v23.0.1...v23.0.2)

[Compare
Source](https://togithub.com/moby/moby/compare/v23.0.1...v23.0.2)

</details>

<details>
<summary>pterm/pterm</summary>

###
[`v0.12.57`](https://togithub.com/pterm/pterm/blob/HEAD/CHANGELOG.md#v01257---2023-03-28)

[Compare
Source](https://togithub.com/pterm/pterm/compare/v0.12.56...v0.12.57)

##### Code Refactoring

-   use `pterm.Print` instead of `fmt.Print` functions

</details>

<details>
<sum

</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 becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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://app.renovatebot.com/dashboard#github/defenseunicorns/zarf).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNy4xIiwidXBkYXRlZEluVmVyIjoiMzUuMjMuMyJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Wayne Starr <me@racer159.com>
kodiakhq bot pushed a commit to cloudquery/cloudquery that referenced this pull request Apr 1, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/go-logr/logr](https://togithub.com/go-logr/logr) | indirect | patch | `v1.2.3` -> `v1.2.4` |

---

### ⚠ Dependency Lookup Warnings ⚠

Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.

---

### Release Notes

<details>
<summary>go-logr/logr</summary>

### [`v1.2.4`](https://togithub.com/go-logr/logr/releases/tag/v1.2.4)

[Compare Source](https://togithub.com/go-logr/logr/compare/v1.2.3...v1.2.4)

This is a collection of small bugfixes and documentation updates.

#### What's Changed

-   Fix syntax in documentation by [@&#8203;balki](https://togithub.com/balki) in [go-logr/logr#144
-   testr: use an interface to make it work with \*testing.B and \*testing.F by [@&#8203;jeandeaual](https://togithub.com/jeandeaual) in [go-logr/logr#143
-   If logging as JSON and the type is json.RawMessage log it "as-is" by [@&#8203;sfc-gh-jchacon](https://togithub.com/sfc-gh-jchacon) in [go-logr/logr#147
-   Make zero value useful & add .IsZero() by [@&#8203;wojas](https://togithub.com/wojas) in [go-logr/logr#153
-   testr: merge testLogger and testLoggerInterface by [@&#8203;thockin](https://togithub.com/thockin) in [go-logr/logr#160
-   funcr: JSON invalid output with 1st field omitted by [@&#8203;thockin](https://togithub.com/thockin) in [go-logr/logr#159
-   Make github assign PRs and issues by [@&#8203;thockin](https://togithub.com/thockin) in [go-logr/logr#162
-   Fix comments on optional sink interfaces by [@&#8203;thockin](https://togithub.com/thockin) in [go-logr/logr#161
-   Add examples for Logger methods by [@&#8203;thockin](https://togithub.com/thockin) in [go-logr/logr#163
-   funcr: optimize WithValues/WithName/WithCallDepth by [@&#8203;pohly](https://togithub.com/pohly) in [go-logr/logr#165
-   make Discard logger equal to null logger by [@&#8203;pohly](https://togithub.com/pohly) in [go-logr/logr#166

#### New Contributors

-   [@&#8203;balki](https://togithub.com/balki) made their first contribution in [go-logr/logr#144
-   [@&#8203;jeandeaual](https://togithub.com/jeandeaual) made their first contribution in [go-logr/logr#143
-   [@&#8203;sfc-gh-jchacon](https://togithub.com/sfc-gh-jchacon) made their first contribution in [go-logr/logr#147

**Full Changelog**: go-logr/logr@v1.2.3...v1.2.4

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 3am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

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

♻ **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 [Renovate Bot](https://togithub.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjM0LjE1OS4yIn0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants