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

Add Redshift support #488

Merged
merged 9 commits into from
Jan 9, 2024

Conversation

aterekhov-plr
Copy link
Contributor

This small fix checks that the database is Redshift and make client-side quoting instead of server quoting.

@dossy
Copy link
Collaborator

dossy commented Nov 15, 2023

I don't have a Redshift cluster handy to test this PR against, so I'm labeling this PR as help wanted in case someone else who has access to a Redshift cluster would like to test this. Looking at the PR, it's unclear why this change is even necessary, as the server-side quoting should work for ordinary Postgres as well as Redshift.

@aterekhov-plr what is the error you get when trying to use dbmate with Redshift, that this PR fixes? In other words: how can someone else verify that there's a problem that is fixed by this PR?

@gregwebs
Copy link

@dossy the error was shown here: #361

@aterekhov-plr
Copy link
Contributor Author

@dossy If you have time to test this PR and help with the release, I could try to provide access to a temporary Redshift cluster for you.

@dossy
Copy link
Collaborator

dossy commented Dec 7, 2023

@aterekhov-plr That would be helpful, if you could provide temporary access. I can find the time next week to work on this. My email is listed on my GitHub profile, and so are my PGP/GPG keys.

@amacneil
Copy link
Owner

Looking at how other software handles redshift (e.g. golang-migrate, goose, official redshift go package), I think it might make more sense to add an entirely new redshift:// driver (even if it mostly inherits from the postgres driver). That way we can allow the user to be explicit rather than implicit auto-detection.

pkg/dbmate/version.go Outdated Show resolved Hide resolved
@aterekhov-plr
Copy link
Contributor Author

Looking at how other software handles redshift (e.g. golang-migrate, goose, official redshift go package), I think it might make more sense to add an entirely new redshift:// driver (even if it mostly inherits from the postgres driver). That way we can allow the user to be explicit rather than implicit auto-detection.

I agree that creating a new driver is the best approach to implement Redshift support. I began working on it but later realized that the difference between the Redshift driver and the PostgreSQL driver would only be a few lines of code. I might revisit it later, but I currently need some assistance with tests. There have been issues with ports (5432/5439) if use pg, and it's unclear what to use in the docker-compose setup.

@dossy
Copy link
Collaborator

dossy commented Dec 27, 2023

@aterekhov-plr, @amacneil -- I started down the path of trying to create an entire separate redshift driver package, but as golang doesn't have OO where I could "subclass" the postgres driver, it resulted in mostly a duplicated copy of the code. I opted to register redshift as a driver prefix, instead.

I created a variant of one of the PG tests that I could run against the Redshift instance that @aterekhov-plr provided (thanks!) so that I could demonstrate that the original driver implementation "failed" and introducing Andrei's fix makes the test pass, so I'm happy with this.

In order to run the Redshift test, set the REDSHIFT_TEST_URL environment variable with a redshift:// connection string to a Redshift cluster, before running the tests.

Let me know what you both think, but I think this is good to go, unless either of you feel otherwise?

@dossy dossy requested a review from amacneil December 27, 2023 21:06
@aterekhov-plr
Copy link
Contributor Author

@aterekhov-plr, @amacneil -- I started down the path of trying to create an entire separate redshift driver package, but as golang doesn't have OO where I could "subclass" the postgres driver, it resulted in mostly a duplicated copy of the code. I opted to register redshift as a driver prefix, instead.

I created a variant of one of the PG tests that I could run against the Redshift instance that @aterekhov-plr provided (thanks!) so that I could demonstrate that the original driver implementation "failed" and introducing Andrei's fix makes the test pass, so I'm happy with this.

In order to run the Redshift test, set the REDSHIFT_TEST_URL environment variable with a redshift:// connection string to a Redshift cluster, before running the tests.

Let me know what you both think, but I think this is good to go, unless either of you feel otherwise?

I'm totally agree with this approach. Additional driver prefix seems good for me and there are no excessive logic.
Thank you!

@pavel-popov-playrix
Copy link

@dossy @amacneil do you need a temporary redshift cluster for testing or can we terminate it? Cos right now we're spending extra money for it, so if you no longer need the cluster we will terminate it.

@dossy
Copy link
Collaborator

dossy commented Dec 29, 2023

@pavel-popov-playrix I was able to complete my testing using it, so I'm okay with terminating it. Thank you so much for your generosity.

@dossy dossy enabled auto-merge (squash) December 29, 2023 16:05
Copy link
Owner

@amacneil amacneil left a comment

Choose a reason for hiding this comment

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

Looking good, I added a few comments/questions

pkg/driver/postgres/postgres.go Outdated Show resolved Hide resolved
pkg/driver/postgres/postgres.go Show resolved Hide resolved
.gitignore Show resolved Hide resolved
Copy link
Owner

@amacneil amacneil left a comment

Choose a reason for hiding this comment

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

Thank you!

@dossy dossy merged commit c415157 into amacneil:main Jan 9, 2024
9 checks passed
alecthomas added a commit to TBD54566975/ftl that referenced this pull request Jan 29, 2024
[![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 |
|---|---|---|---|---|---|---|---|
| [@bufbuild/protoc-gen-es](https://togithub.com/bufbuild/protobuf-es)
([source](https://togithub.com/bufbuild/protobuf-es/tree/HEAD/packages/protoc-gen-es))
| [`1.6.0` ->
`1.7.0`](https://renovatebot.com/diffs/npm/@bufbuild%2fprotoc-gen-es/1.6.0/1.7.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@bufbuild%2fprotoc-gen-es/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@bufbuild%2fprotoc-gen-es/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@bufbuild%2fprotoc-gen-es/1.6.0/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@bufbuild%2fprotoc-gen-es/1.6.0/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [@swc/core](https://swc.rs)
([source](https://togithub.com/swc-project/swc)) | [`1.3.102` ->
`1.3.107`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.3.102/1.3.107)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.3.107?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.3.107?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.3.102/1.3.107?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.3.102/1.3.107?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [@swc/jest](https://togithub.com/swc-project/jest) | [`0.2.29` ->
`0.2.31`](https://renovatebot.com/diffs/npm/@swc%2fjest/0.2.29/0.2.31) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fjest/0.2.31?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fjest/0.2.31?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fjest/0.2.29/0.2.31?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fjest/0.2.29/0.2.31?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@testing-library/jest-dom](https://togithub.com/testing-library/jest-dom)
| [`6.2.0` ->
`6.3.0`](https://renovatebot.com/diffs/npm/@testing-library%2fjest-dom/6.2.0/6.3.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@testing-library%2fjest-dom/6.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@testing-library%2fjest-dom/6.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@testing-library%2fjest-dom/6.2.0/6.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@testing-library%2fjest-dom/6.2.0/6.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@types/react](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react))
| [`18.2.47` ->
`18.2.48`](https://renovatebot.com/diffs/npm/@types%2freact/18.2.47/18.2.48)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.2.48?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.2.48?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.2.47/18.2.48?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.2.47/18.2.48?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint)
([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin))
| [`6.18.1` ->
`6.19.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.18.1/6.19.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/6.18.1/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/6.18.1/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint)
([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`6.18.1` ->
`6.19.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.18.1/6.19.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/6.18.1/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/6.18.1/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@typescript-eslint/typescript-estree](https://togithub.com/typescript-eslint/typescript-eslint)
([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree))
| [`6.18.1` ->
`6.19.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2ftypescript-estree/6.18.1/6.19.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2ftypescript-estree/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2ftypescript-estree/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2ftypescript-estree/6.18.1/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2ftypescript-estree/6.18.1/6.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [autoprefixer](https://togithub.com/postcss/autoprefixer) | [`10.4.16`
->
`10.4.17`](https://renovatebot.com/diffs/npm/autoprefixer/10.4.16/10.4.17)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/autoprefixer/10.4.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/autoprefixer/10.4.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/autoprefixer/10.4.16/10.4.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/autoprefixer/10.4.16/10.4.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [buf](https://togithub.com/bufbuild/buf) | `1.28.1` -> `1.29.0` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/buf/1.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/buf/1.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/buf/1.28.1/1.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/buf/1.28.1/1.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| | minor |
| [github.com/amacneil/dbmate/v2](https://togithub.com/amacneil/dbmate)
| `v2.10.0` -> `v2.11.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2famacneil%2fdbmate%2fv2/v2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2famacneil%2fdbmate%2fv2/v2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2famacneil%2fdbmate%2fv2/v2.10.0/v2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2famacneil%2fdbmate%2fv2/v2.10.0/v2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [github.com/google/uuid](https://togithub.com/google/uuid) | `v1.5.0`
-> `v1.6.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fuuid/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgoogle%2fuuid/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgoogle%2fuuid/v1.5.0/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fuuid/v1.5.0/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.21.0` -> `v1.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel/v1.21.0/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel/v1.21.0/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://togithub.com/open-telemetry/opentelemetry-go)
| `v0.44.0` -> `v0.45.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetricgrpc/v0.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetricgrpc/v0.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetricgrpc/v0.44.0/v0.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlpmetric%2fotlpmetricgrpc/v0.44.0/v0.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.21.0` -> `v1.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracegrpc/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracegrpc/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracegrpc/v1.21.0/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fexporters%2fotlp%2fotlptrace%2fotlptracegrpc/v1.21.0/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/metric](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.21.0` -> `v1.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fmetric/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fmetric/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fmetric/v1.21.0/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fmetric/v1.21.0/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/sdk](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.21.0` -> `v1.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fsdk/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fsdk/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fsdk/v1.21.0/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fsdk/v1.21.0/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/sdk/metric](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.21.0` -> `v1.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.21.0/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.21.0/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/otel/trace](https://togithub.com/open-telemetry/opentelemetry-go)
| `v1.21.0` -> `v1.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2ftrace/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fotel%2ftrace/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fotel%2ftrace/v1.21.0/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2ftrace/v1.21.0/v1.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
|
[go.opentelemetry.io/proto/otlp](https://togithub.com/open-telemetry/opentelemetry-proto-go)
| `v1.0.0` -> `v1.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fproto%2fotlp/v1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fproto%2fotlp/v1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fproto%2fotlp/v1.0.0/v1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fproto%2fotlp/v1.0.0/v1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [helm](https://togithub.com/helm/helm) | `3.13.3` -> `3.14.0` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/helm/3.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/helm/3.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/helm/3.13.3/3.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/helm/3.13.3/3.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| | minor |
| [node](https://togithub.com/nodejs/node) | `21.5.0` -> `21.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/node/21.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/node/21.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/node/21.5.0/21.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/node/21.5.0/21.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| | minor |
| [prettier](https://prettier.io)
([source](https://togithub.com/prettier/prettier)) | [`3.2.2` ->
`3.2.4`](https://renovatebot.com/diffs/npm/prettier/3.2.2/3.2.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.2.2/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.2.2/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [react-router-dom](https://togithub.com/remix-run/react-router)
([source](https://togithub.com/remix-run/react-router/tree/HEAD/packages/react-router-dom))
| [`6.21.2` ->
`6.21.3`](https://renovatebot.com/diffs/npm/react-router-dom/6.21.2/6.21.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-router-dom/6.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-router-dom/6.21.2/6.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router-dom/6.21.2/6.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [reactflow](https://togithub.com/xyflow/xyflow)
([source](https://togithub.com/xyflow/xyflow/tree/HEAD/packages/reactflow))
| [`11.10.1` ->
`11.10.3`](https://renovatebot.com/diffs/npm/reactflow/11.10.1/11.10.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/reactflow/11.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/reactflow/11.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/reactflow/11.10.1/11.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/reactflow/11.10.1/11.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [sqlc](https://togithub.com/sqlc-dev/sqlc) | `1.24.0` -> `1.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/sqlc/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/sqlc/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/sqlc/1.24.0/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/sqlc/1.24.0/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| | minor |
| [typed-css-modules](https://togithub.com/Quramy/typed-css-modules) |
[`0.8.1` ->
`0.9.0`](https://renovatebot.com/diffs/npm/typed-css-modules/0.8.1/0.9.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/typed-css-modules/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typed-css-modules/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typed-css-modules/0.8.1/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typed-css-modules/0.8.1/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [vite](https://vitejs.dev)
([source](https://togithub.com/vitejs/vite/tree/HEAD/packages/vite)) |
[`4.5.1` -> `4.5.2`](https://renovatebot.com/diffs/npm/vite/4.5.1/4.5.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/4.5.1/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/4.5.1/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
|
[org.assertj:assertj-core](https://assertj.github.io/doc/#assertj-core)
([source](https://togithub.com/assertj/assertj)) | `3.25.1` -> `3.25.2`
|
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.assertj:assertj-core/3.25.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.assertj:assertj-core/3.25.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.assertj:assertj-core/3.25.1/3.25.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.assertj:assertj-core/3.25.1/3.25.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| test | patch |
| [com.squareup.wire:wire-compiler](https://togithub.com/square/wire) |
`4.9.3` -> `4.9.5` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.wire:wire-compiler/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.wire:wire-compiler/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.wire:wire-compiler/4.9.3/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.wire:wire-compiler/4.9.3/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| | patch |
|
[com.squareup.wire:wire-grpc-client-jvm](https://togithub.com/square/wire)
| `4.9.3` -> `4.9.5` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.wire:wire-grpc-client-jvm/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.wire:wire-grpc-client-jvm/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.wire:wire-grpc-client-jvm/4.9.3/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.wire:wire-grpc-client-jvm/4.9.3/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| compile | patch |
| [com.squareup.wire:wire-grpc-server](https://togithub.com/square/wire)
| `4.9.3` -> `4.9.5` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.wire:wire-grpc-server/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.wire:wire-grpc-server/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.wire:wire-grpc-server/4.9.3/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.wire:wire-grpc-server/4.9.3/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| compile | patch |
| [com.squareup.wire:wire-runtime-jvm](https://togithub.com/square/wire)
| `4.9.3` -> `4.9.5` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.wire:wire-runtime-jvm/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.wire:wire-runtime-jvm/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.wire:wire-runtime-jvm/4.9.3/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.wire:wire-runtime-jvm/4.9.3/4.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| compile | patch |
| [com.squareup:kotlinpoet-jvm](https://togithub.com/square/kotlinpoet)
| `1.15.3` -> `1.16.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup:kotlinpoet-jvm/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup:kotlinpoet-jvm/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup:kotlinpoet-jvm/1.15.3/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup:kotlinpoet-jvm/1.15.3/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| compile | minor |

---

### Release Notes

<details>
<summary>bufbuild/protobuf-es (@&#8203;bufbuild/protoc-gen-es)</summary>

###
[`v1.7.0`](https://togithub.com/bufbuild/protobuf-es/releases/tag/v1.7.0)

[Compare
Source](https://togithub.com/bufbuild/protobuf-es/compare/v1.6.0...v1.7.0)

#### What's Changed

This release adds support for extensions, a Protobuf language feature
that allows to extend a message with an additional field.

For example:

```proto
syntax = "proto2";

message User {
  extensions 100 to 200;
}

extend User {
  optional uint32 age = 100;
}
```

For the extension `age`, we generate a new export `const age:
Extension<User, number>`. You can set the extension field with the
function `setExtension`:

```ts
import { setExtension } from "@&#8203;bufbuild/protobuf";
import { User, age } from "./example_pb.js";

const user = new User();
setExtension(user, age, 77);
```

To learn more about the details, see the [API
documentation](https://togithub.com/bufbuild/protobuf-es/blob/main/docs/runtime_api.md#extensions).

For plugin authors: Since extensions provide a better way to access
custom options in a plugin, we are deprecating the `findCustom*Option`
functions from `@bufbuild/protoplugin/ecmascript`. We recommend to
switch to extensions for better type safety and flexibility, see [the PR
for details](https://togithub.com/bufbuild/protobuf-es/pull/669).

#### All changes

- Support extensions by
[@&#8203;timostamm](https://togithub.com/timostamm) in
[https://github.com/bufbuild/protobuf-es/pull/666](https://togithub.com/bufbuild/protobuf-es/pull/666)
- Deprecate findCustom\*Option functions in favor of extensions by
[@&#8203;timostamm](https://togithub.com/timostamm) in
[https://github.com/bufbuild/protobuf-es/pull/669](https://togithub.com/bufbuild/protobuf-es/pull/669)
- Document extensions by
[@&#8203;timostamm](https://togithub.com/timostamm) in
[https://github.com/bufbuild/protobuf-es/pull/672](https://togithub.com/bufbuild/protobuf-es/pull/672)
- Support experimental editions in
[@&#8203;bufbuild/protoplugin](https://togithub.com/bufbuild/protoplugin)
by [@&#8203;timostamm](https://togithub.com/timostamm) in
[https://github.com/bufbuild/protobuf-es/pull/655](https://togithub.com/bufbuild/protobuf-es/pull/655)
- Improve errors for unsupported editions in createDescriptorSet by
[@&#8203;timostamm](https://togithub.com/timostamm) in
[https://github.com/bufbuild/protobuf-es/pull/654](https://togithub.com/bufbuild/protobuf-es/pull/654)

**Full Changelog**:
https://github.com/bufbuild/protobuf-es/compare/v1.6.0...v1.7.0

</details>

<details>
<summary>swc-project/swc (@&#8203;swc/core)</summary>

###
[`v1.3.107`](https://togithub.com/swc-project/swc/blob/HEAD/CHANGELOG.md#13107---2024-01-28)

[Compare
Source](https://togithub.com/swc-project/swc/compare/v1.3.106...v1.3.107)

##### Bug Fixes

- **(es/codegen)** Do not produce octal literals
([#&#8203;8565](https://togithub.com/swc-project/swc/issues/8565))
([07634a0](https://togithub.com/swc-project/swc/commit/07634a05ba9b989d68502953a69a40a2806e93d0))

- **(es/decorator)** Skip TypeScript class method/prop declarations
([#&#8203;8555](https://togithub.com/swc-project/swc/issues/8555))
([6a8dd8c](https://togithub.com/swc-project/swc/commit/6a8dd8cbb384372657923d4c1094e8053661aa56))

- **(es/decorator)** Preserve state while traversing the `module_items`
scope ([#&#8203;8556](https://togithub.com/swc-project/swc/issues/8556))
([f416aff](https://togithub.com/swc-project/swc/commit/f416aff7d7036de72509132603d9b423a0b95f68))

- **(es/loader)** Make `tsc` resolver work for bare specifier
([#&#8203;8550](https://togithub.com/swc-project/swc/issues/8550))
([d6a4615](https://togithub.com/swc-project/swc/commit/d6a46158987d0e96d6184d41c2fdd73df92d6681))

###
[`v1.3.106`](https://togithub.com/swc-project/swc/blob/HEAD/CHANGELOG.md#13106---2024-01-25)

[Compare
Source](https://togithub.com/swc-project/swc/compare/v1.3.105...v1.3.106)

##### Bug Fixes

- **(binding/types)** Add `bugfixes` field to EnvConfig
([#&#8203;8538](https://togithub.com/swc-project/swc/issues/8538))
([49ebdf9](https://togithub.com/swc-project/swc/commit/49ebdf9fb7c9228c711c303c822add29bc3c8364))

- **(common)** Fix source map generation with `inputSourceMap`
([#&#8203;8546](https://togithub.com/swc-project/swc/issues/8546))
([043ee85](https://togithub.com/swc-project/swc/commit/043ee85d0852c7c7d6193ad699074a599326aeec))

- **(es/ast)** Add `definite` and `is_override` to `AutoAccessor`
([#&#8203;8436](https://togithub.com/swc-project/swc/issues/8436))
([572bcae](https://togithub.com/swc-project/swc/commit/572bcaefc1b6ba9f92c57a35ede61fec9f3221bd))

- **(es/ast)** Fix definition of `SetterProp`
([#&#8203;8314](https://togithub.com/swc-project/swc/issues/8314))
([bc38ac9](https://togithub.com/swc-project/swc/commit/bc38ac906c427ba060f3da47c64726fe417162ed))

- **(es/codegen)** Set `sourceRoot` of sourcemaps
([#&#8203;6086](https://togithub.com/swc-project/swc/issues/6086))
([ae78669](https://togithub.com/swc-project/swc/commit/ae786692a0d20254bc233472a23035ba1be25e46))

- **(es/compat)** Support vars from `reserved_word` pass
([#&#8203;8543](https://togithub.com/swc-project/swc/issues/8543))
([fc929e9](https://togithub.com/swc-project/swc/commit/fc929e962ba18afa98ae4523e50ff630527a218f))

- **(es/loader)** Don't use browser versions for `jsc.paths`
([#&#8203;8548](https://togithub.com/swc-project/swc/issues/8548))
([fab27da](https://togithub.com/swc-project/swc/commit/fab27dabed3a4d0478b28c86809cc06482b2c45c))

- **(es/minifier)** Fix a bug related to inliner and the variable
scoping
([#&#8203;8542](https://togithub.com/swc-project/swc/issues/8542))
([aa70131](https://togithub.com/swc-project/swc/commit/aa70131c558158abd3dcd3fca53dfe444c511ae1))

- **(es/module)** Fix resolving of dependencies
([#&#8203;8533](https://togithub.com/swc-project/swc/issues/8533))
([71fb5c1](https://togithub.com/swc-project/swc/commit/71fb5c12a75bec27cc775069f83b576019d261f2))

- **(es/module)** Fix handling of `*` in `jsc.paths`
([#&#8203;8535](https://togithub.com/swc-project/swc/issues/8535))
([2d8bd9e](https://togithub.com/swc-project/swc/commit/2d8bd9ed894cbc2e0e9063f6a1ab723c3d3bfdc6))

- **(es/quote)** Add support for import phase to quote macro
([#&#8203;8536](https://togithub.com/swc-project/swc/issues/8536))
([71930ff](https://togithub.com/swc-project/swc/commit/71930ffb5625fb58fab3200764ea98b05abab8ba))

##### Features

- **(css/parser)** Implement error reporting for `@value` of CSS Modules
([#&#8203;8547](https://togithub.com/swc-project/swc/issues/8547))
([00619b1](https://togithub.com/swc-project/swc/commit/00619b17082e857d1d5822f04b9ee82b0a295cc3))

- **(es/ast)** Support import phase
([#&#8203;8279](https://togithub.com/swc-project/swc/issues/8279))
([72048ae](https://togithub.com/swc-project/swc/commit/72048ae1ced64b6d9d326e6d436a60b1191bc266))

- **(swc_core)** Expose `preset_env_base`
([#&#8203;8537](https://togithub.com/swc-project/swc/issues/8537))
([793f265](https://togithub.com/swc-project/swc/commit/793f2651a8c44c43cde8b83d4f98eda6e274676c))

##### Miscellaneous Tasks

- **(common)** Update `sourcemap`
([#&#8203;8544](https://togithub.com/swc-project/swc/issues/8544))
([4630426](https://togithub.com/swc-project/swc/commit/4630426d6aa77af992787456e476b8862c25a45e))

###
[`v1.3.105`](https://togithub.com/swc-project/swc/blob/HEAD/CHANGELOG.md#13105---2024-01-21)

[Compare
Source](https://togithub.com/swc-project/swc/compare/v1.3.104...v1.3.105)

##### Bug Fixes

- **(common)** Remove `<` and `>` from `Display` impl of
`FileName::Custom`
([#&#8203;8530](https://togithub.com/swc-project/swc/issues/8530))
([014a6cd](https://togithub.com/swc-project/swc/commit/014a6cda8205183f6c3a5e395b6f89cbf7b388b9))

- **(es/codegen)** Fix codegen of `\\0`
([#&#8203;8433](https://togithub.com/swc-project/swc/issues/8433))
([9f1ce3a](https://togithub.com/swc-project/swc/commit/9f1ce3acd6965302afb3a65713f429fd1ddf4a2b))

- **(es/minifier)** Fix a bug in tpl string <-> string logic
([#&#8203;8510](https://togithub.com/swc-project/swc/issues/8510))
([4946a11](https://togithub.com/swc-project/swc/commit/4946a111377cfb7da5eee3df88a06e2365aac0c2))

- **(es/typescript)** Fix panic on invalid jsx pragma
([#&#8203;8513](https://togithub.com/swc-project/swc/issues/8513))
([f40f59b](https://togithub.com/swc-project/swc/commit/f40f59bd707a9d21d8eb41e42b5c6a1c95f0bb7e))

##### Miscellaneous Tasks

- **(preset-env)** Update `browserslist-rs`
([#&#8203;8524](https://togithub.com/swc-project/swc/issues/8524))
([5e40dc7](https://togithub.com/swc-project/swc/commit/5e40dc7d8c7d7b979c3765fbaa2f9c9b41cf49a0))

##### Testing

- **(es/codegen)** Add tests for `@ctrl/tinycolor`
([#&#8203;8518](https://togithub.com/swc-project/swc/issues/8518))
([1c4eb1f](https://togithub.com/swc-project/swc/commit/1c4eb1f54fbecef8f955172cba725c27eb4e2b7e))

- **(es/codegen)** Add a JS test for ascii-only mode
([#&#8203;8519](https://togithub.com/swc-project/swc/issues/8519))
([974c6a0](https://togithub.com/swc-project/swc/commit/974c6a0036c5ef3e3d12c81c7310758046ff0a0d))

- **(es/minifier)** Add a test for a fixed issue
([#&#8203;8520](https://togithub.com/swc-project/swc/issues/8520))
([8fac2bb](https://togithub.com/swc-project/swc/commit/8fac2bb03ce63eb66774fa007285fa8ae8575038))

- **(es/module)** Add a test for a fixed issue
([#&#8203;8521](https://togithub.com/swc-project/swc/issues/8521))
([4b4a0a2](https://togithub.com/swc-project/swc/commit/4b4a0a244deef02a86165b8fd0a070408abfa654))

###
[`v1.3.104`](https://togithub.com/swc-project/swc/blob/HEAD/CHANGELOG.md#13104---2024-01-17)

[Compare
Source](https://togithub.com/swc-project/swc/compare/v1.3.103...v1.3.104)

##### Bug Fixes

- **(es)** Fix plugin template & restore `test!` as `test_inline!`
([#&#8203;8508](https://togithub.com/swc-project/swc/issues/8508))
([10449e0](https://togithub.com/swc-project/swc/commit/10449e08d9459af2c313eb7146005bcff016d169))

- **(es/systemjs)** Handle top level this
([#&#8203;8506](https://togithub.com/swc-project/swc/issues/8506))
([0f94c8c](https://togithub.com/swc-project/swc/commit/0f94c8cf051f7a7526f6a3e7742fc079146e0af2))

- **(plugin)** Set `swc_common::errors::HANDLER` while invoking plugins
([#&#8203;8511](https://togithub.com/swc-project/swc/issues/8511))
([ba753f1](https://togithub.com/swc-project/swc/commit/ba753f12885c4c3062afa5782dc7f6652981a659))

###
[`v1.3.103`](https://togithub.com/swc-project/swc/blob/HEAD/CHANGELOG.md#13103---2024-01-15)

[Compare
Source](https://togithub.com/swc-project/swc/compare/v1.3.102...v1.3.103)

##### Bug Fixes

- **(binding/types)** Add type for `decoratorVersion`
([#&#8203;8468](https://togithub.com/swc-project/swc/issues/8468))
([79438e6](https://togithub.com/swc-project/swc/commit/79438e6dc24735fae1adc98e9a74ab6cecd502de))

- **(es/codegen)** Emit abstract keyword
([#&#8203;8479](https://togithub.com/swc-project/swc/issues/8479))
([a12eaae](https://togithub.com/swc-project/swc/commit/a12eaae0e544d7e485ce7ce11e56591e7ff34108))

- **(es/codegen)** Emit declare keyword for class properties
([#&#8203;8478](https://togithub.com/swc-project/swc/issues/8478))
([2076ef8](https://togithub.com/swc-project/swc/commit/2076ef8f359941ad511c860000ec3eaa74410cac))

- **(es/codegen)** Emit implements clause with commas
([#&#8203;8477](https://togithub.com/swc-project/swc/issues/8477))
([d98a282](https://togithub.com/swc-project/swc/commit/d98a28290b1c439abbd0cdec30436ef25a256ebd))

- **(es/codegen)** Emit `?` for an optional computed property
([#&#8203;8481](https://togithub.com/swc-project/swc/issues/8481))
([e0bdc0f](https://togithub.com/swc-project/swc/commit/e0bdc0f7c210c73f0291ab72e380743fe5f03b72))

- **(es/codegen)** Fix codegen of a property key in ascii-only mode
([#&#8203;8493](https://togithub.com/swc-project/swc/issues/8493))
([8d9bf4c](https://togithub.com/swc-project/swc/commit/8d9bf4cfaaeef9a9f3307b53c3349bff1359ccdf))

- **(es/compat)** Set inserted var inside export class in destructing
([#&#8203;8470](https://togithub.com/swc-project/swc/issues/8470))
([4416077](https://togithub.com/swc-project/swc/commit/4416077f4ac1afb74575b9a0e836bb66b8dc8b9a))

- **(es/compat)** Correctly handle `this` in arrow function parameters
([#&#8203;8489](https://togithub.com/swc-project/swc/issues/8489))
([52a8f05](https://togithub.com/swc-project/swc/commit/52a8f05fe419e905465e31b493d2007a1511276c))

- **(es/minifier)** Correctly escape more characters
([#&#8203;8490](https://togithub.com/swc-project/swc/issues/8490))
([f7c4934](https://togithub.com/swc-project/swc/commit/f7c4934e591bc14bc965cb28bc6b9ca1d8ac1350))

- **(es/module)** Fix resolving of `.js` files
([#&#8203;8480](https://togithub.com/swc-project/swc/issues/8480))
([b70e96f](https://togithub.com/swc-project/swc/commit/b70e96ffe93d3ed59420d5c66a0a4258f6bf1de7))

- **(es/parser)** Correctly parse the keyword
([#&#8203;8483](https://togithub.com/swc-project/swc/issues/8483))
([740e6f3](https://togithub.com/swc-project/swc/commit/740e6f390a8a5327cc320c9582dbe8afbc8b5a27))

- **(es/resolver)** Resolve top-level `undefined`, `NaN`, and `Infinity`
correctly
([#&#8203;8471](https://togithub.com/swc-project/swc/issues/8471))
([82bd807](https://togithub.com/swc-project/swc/commit/82bd8070cb276d8020ba688f1b781b7b46b6ce0c))

##### Documentation

- Replace `string_cache` with `hstr` in `ARCHITECTURE.md`
([#&#8203;8487](https://togithub.com/swc-project/swc/issues/8487))
([abd7c51](https://togithub.com/swc-project/swc/commit/abd7c51583dff82816a910d46e894eddea3c1aff))

##### Features

- **(html/parser)** Allow self-closing `/>` on non-void HTML elements
via a flag
([#&#8203;8460](https://togithub.com/swc-project/swc/issues/8460))
([566063d](https://togithub.com/swc-project/swc/commit/566063dca5fe73834cdf5e0acf7c7f344a9806a5))

##### Refactor

- **(css/parser)** Remove value normalization
([#&#8203;8434](https://togithub.com/swc-project/swc/issues/8434))
([85be8a4](https://togithub.com/swc-project/swc/commit/85be8a4de1d8407421aadeb5769d414b9938f693))

##### Testing

- **(es/minifier)** Enable non esm mode for tests
([#&#8203;8472](https://togithub.com/swc-project/swc/issues/8472))
([1120336](https://togithub.com/swc-project/swc/commit/1120336f23a75e8c236f088d56b6dea04311d2ed))

- **(es/minifier)** Enable script mode for `terser_exec` and `mangle`
([#&#8203;8474](https://togithub.com/swc-project/swc/issues/8474))
([b676e75](https://togithub.com/swc-project/swc/commit/b676e75cdd8ae6b4b3637152e39e982637221701))

</details>

<details>
<summary>swc-project/jest (@&#8203;swc/jest)</summary>

###
[`v0.2.31`](https://togithub.com/swc-project/jest/compare/v0.2.30...v0.2.31)

[Compare
Source](https://togithub.com/swc-project/jest/compare/v0.2.30...v0.2.31)

###
[`v0.2.30`](https://togithub.com/swc-project/jest/compare/v0.2.29...v0.2.30)

[Compare
Source](https://togithub.com/swc-project/jest/compare/v0.2.29...v0.2.30)

</details>

<details>
<summary>testing-library/jest-dom
(@&#8203;testing-library/jest-dom)</summary>

###
[`v6.3.0`](https://togithub.com/testing-library/jest-dom/releases/tag/v6.3.0)

[Compare
Source](https://togithub.com/testing-library/jest-dom/compare/v6.2.1...v6.3.0)

##### Features

- Support for regular expressions in toHaveClass
([#&#8203;563](https://togithub.com/testing-library/jest-dom/issues/563))
([9787ed5](https://togithub.com/testing-library/jest-dom/commit/9787ed59fcc930e3d33c8a6efe473da3eca01707))

###
[`v6.2.1`](https://togithub.com/testing-library/jest-dom/releases/tag/v6.2.1)

[Compare
Source](https://togithub.com/testing-library/jest-dom/compare/v6.2.0...v6.2.1)

##### Bug Fixes

- Standalone types for "./matchers" export and add Bun support
([#&#8203;566](https://togithub.com/testing-library/jest-dom/issues/566))
([5675b86](https://togithub.com/testing-library/jest-dom/commit/5675b8668c09345e064001784338a85b7bf9f2af))

</details>

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

###
[`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6191-2024-01-22)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1)

##### 🩹 Fixes

- **type-utils:** preventing isUnsafeAssignment infinite recursive calls

- **eslint-plugin:** \[no-unnecessary-condition] fix false positive for
type variable

##### ❤️  Thank You

-   YeonJuan

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v6.19.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6190-2024-01-15)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.1...v6.19.0)

##### 🚀 Features

-   **eslint-plugin:** \[prefer-promise-reject-errors] add rule

-   **eslint-plugin:** \[no-array-delete] add new rule

- **eslint-plugin:** \[no-useless-template-literals] add fix suggestions

##### 🩹 Fixes

- **eslint-plugin:** \[no-unnecessary-type-assertion] detect unnecessary
non-null-assertion on a call expression

- **eslint-plugin:** \[no-unnecesary-type-assertion] treat unknown/any
as nullable

##### ❤️  Thank You

-   auvred
-   Brad Zacher
-   Josh Goldberg ✨
-   Joshua Chen
-   LJX
-   Steven
-   StyleShit

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

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

###
[`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6191-2024-01-22)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1)

This was a version bump only for parser to align it with other projects,
there were no code changes.

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v6.19.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6190-2024-01-15)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.1...v6.19.0)

This was a version bump only for parser to align it with other projects,
there were no code changes.

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

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

###
[`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-estree/CHANGELOG.md#6191-2024-01-22)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1)

This was a version bump only for typescript-estree to align it with
other projects, there were no code changes.

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v6.19.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-estree/CHANGELOG.md#6190-2024-01-15)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.1...v6.19.0)

##### 🩹 Fixes

- **typescript-estree:** add JSDocParsingMode enum merge for
typescript/lib/tsserverlibrary

- **typescript-estree:** disallow `using` as the variable keyword for
`for..in` loops

- **typescript-estree:** fix incorrect backwards-compat augmentation in
TS 5.3

##### ❤️  Thank You

-   auvred
-   Brad Zacher
-   Josh Goldberg ✨
-   Joshua Chen
-   LJX
-   Steven
-   StyleShit

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

<details>
<summary>postcss/autoprefixer (autoprefixer)</summary>

###
[`v10.4.17`](https://togithub.com/postcss/autoprefixer/blob/HEAD/CHANGELOG.md#10417)

[Compare
Source](https://togithub.com/postcss/autoprefixer/compare/10.4.16...10.4.17)

-   Fixed `user-select: contain` prefixes.

</details>

<details>
<summary>bufbuild/buf (buf)</summary>

###
[`v1.29.0`](https://togithub.com/bufbuild/buf/blob/HEAD/CHANGELOG.md#v1290---2024-01-24)

- Add support for `yaml` format. All commands that take image inputs,
output images,
or convert between message formats, now take `yaml` as a format, in
addition to
    the existing `binpb` and `txtpb` formats. Some examples:
    -   `buf build -o image.yaml`
    -   `buf ls-files image.yaml`
    -   `buf convert --type foo.Bar --from input.binpb --to output.yaml`
- The `yaml` and `json` formats now accept two new options:
`use_proto_names` and
`use_enum_numbers`. This affects output serialization. Some examples:
- `buf convert --type foo.Bar --from input.binpb --to
output.yaml#use_proto_names=true`
- `buf convert --type foo.Bar --from input.binpb --to
-#format=yaml,use_enum_numbers=true`
- Fix issue where `buf format` would inadvertently mangle files that
used
the [expanded `Any`
syntax](https://protobuf.com/docs/language-spec#any-messages)
    in option values.

</details>

<details>
<summary>amacneil/dbmate (github.com/amacneil/dbmate/v2)</summary>

###
[`v2.11.0`](https://togithub.com/amacneil/dbmate/releases/tag/v2.11.0)

[Compare
Source](https://togithub.com/amacneil/dbmate/compare/v2.10.0...v2.11.0)

##### What's Changed

- Add Redshift support by
[@&#8203;aterekhov-plr](https://togithub.com/aterekhov-plr) in
[https://github.com/amacneil/dbmate/pull/488](https://togithub.com/amacneil/dbmate/pull/488)
- Bump golang from 1.21.5 to 1.21.6 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/amacneil/dbmate/pull/512](https://togithub.com/amacneil/dbmate/pull/512)
- Update dependencies by
[@&#8203;amacneil](https://togithub.com/amacneil) in
[https://github.com/amacneil/dbmate/pull/513](https://togithub.com/amacneil/dbmate/pull/513)

##### New Contributors

- [@&#8203;aterekhov-plr](https://togithub.com/aterekhov-plr) made their
first contribution in
[https://github.com/amacneil/dbmate/pull/488](https://togithub.com/amacneil/dbmate/pull/488)

**Full Changelog**:
https://github.com/amacneil/dbmate/compare/v2.10.0...v2.11.0

</details>

<details>
<summary>google/uuid (github.com/google/uuid)</summary>

### [`v1.6.0`](https://togithub.com/google/uuid/releases/tag/v1.6.0)

[Compare
Source](https://togithub.com/google/uuid/compare/v1.5.0...v1.6.0)

##### Features

- add Max UUID constant
([#&#8203;149](https://togithub.com/google/uuid/issues/149))
([c58770e](https://togithub.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3))

##### Bug Fixes

- fix typo in version 7 uuid documentation
([#&#8203;153](https://togithub.com/google/uuid/issues/153))
([016b199](https://togithub.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06))
- Monotonicity in UUIDv7
([#&#8203;150](https://togithub.com/google/uuid/issues/150))
([a2b2b32](https://togithub.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6))

</details>

<details>
<summary>open-telemetry/opentelemetry-go
(go.opentelemetry.io/otel)</summary>

###
[`v1.22.0`](https://togithub.com/open-telemetry/opentelemetry-go/releases/tag/v1.22.0):
/v0.45.0

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-go/compare/v1.21.0...v1.22.0)

##### Added

-   The `go.opentelemetry.io/otel/semconv/v1.22.0` package.
The package contains semantic conventions from the `v1.22.0` version of
the OpenTelemetry Semantic Conventions.
([#&#8203;4735](https://togithub.com/open-telemetry/opentelemetry-go/issues/4735))
-   The `go.opentelemetry.io/otel/semconv/v1.23.0` package.
The package contains semantic conventions from the `v1.23.0` version of
the OpenTelemetry Semantic Conventions.
([#&#8203;4746](https://togithub.com/open-telemetry/opentelemetry-go/issues/4746))
-   The `go.opentelemetry.io/otel/semconv/v1.23.1` package.
The package contains semantic conventions from the `v1.23.1` version of
the OpenTelemetry Semantic Conventions.
([#&#8203;4749](https://togithub.com/open-telemetry/opentelemetry-go/issues/4749))
-   The `go.opentelemetry.io/otel/semconv/v1.24.0` package.
The package contains semantic conventions from the `v1.24.0` version of
the OpenTelemetry Semantic Conventions.
([#&#8203;4770](https://togithub.com/open-telemetry/opentelemetry-go/issues/4770))
- Add `WithResourceAsConstantLabels` option to apply resource attributes
for every metric emitted by the Prometheus exporter.
([#&#8203;4733](https://togithub.com/open-telemetry/opentelemetry-go/issues/4733))
-   Experimental cardinality limiting is added to the metric SDK.
See [metric
documentation](./sdk/metric/EXPERIMENTAL.md#cardinality-limit) for more
information about this feature and how to enable it.
([#&#8203;4457](https://togithub.com/open-telemetry/opentelemetry-go/issues/4457))
- Add `NewMemberRaw` and `NewKeyValuePropertyRaw` in
`go.opentelemetry.io/otel/baggage`.
([#&#8203;4804](https://togithub.com/open-telemetry/opentelemetry-go/issues/4804))

##### Changed

- Upgrade all use of `go.opentelemetry.io/otel/semconv` to use
`v1.24.0`.
([#&#8203;4754](https://togithub.com/open-telemetry/opentelemetry-go/issues/4754))
- Update transformations in `go.opentelemetry.io/otel/exporters/zipkin`
to follow `v1.19.0` version of the OpenTelemetry specification.
([#&#8203;4754](https://togithub.com/open-telemetry/opentelemetry-go/issues/4754))
- Record synchronous measurements when the passed context is canceled
instead of dropping in `go.opentelemetry.io/otel/sdk/metric`.
If you do not want to make a measurement when the context is cancelled,
you need to handle it yourself (e.g `if ctx.Err() != nil`).
([#&#8203;4671](https://togithub.com/open-telemetry/opentelemetry-go/issues/4671))
- Improve `go.opentelemetry.io/otel/trace.TraceState`'s performance.
([#&#8203;4722](https://togithub.com/open-telemetry/opentelemetry-go/issues/4722))
- Improve `go.opentelemetry.io/otel/propagation.TraceContext`'s
performance.
([#&#8203;4721](https://togithub.com/open-telemetry/opentelemetry-go/issues/4721))
- Improve `go.opentelemetry.io/otel/baggage` performance.
([#&#8203;4743](https://togithub.com/open-telemetry/opentelemetry-go/issues/4743))
- Improve performance of the `(*Set).Filter` method in
`go.opentelemetry.io/otel/attribute` when the passed filter does not
filter out any attributes from the set.
([#&#8203;4774](https://togithub.com/open-telemetry/opentelemetry-go/issues/4774))
- `Member.String` in `go.opentelemetry.io/otel/baggage` percent-encodes
only when necessary.
([#&#8203;4775](https://togithub.com/open-telemetry/opentelemetry-go/issues/4775))
- `Property.Value` in `go.opentelemetry.io/otel/baggage` now returns a
raw string instead of a percent-encoded value.
([#&#8203;4804](https://togithub.com/open-telemetry/opentelemetry-go/issues/4804))

##### Fixed

- Fix `Parse` in `go.opentelemetry.io/otel/baggage` to validate member
value before percent-decoding.
([#&#8203;4755](https://togithub.com/open-telemetry/opentelemetry-go/issues/4755))
- Fix whitespace encoding of `Member.String` in
`go.opentelemetry.io/otel/baggage`.
([#&#8203;4756](https://togithub.com/open-telemetry/opentelemetry-go/issues/4756))
- Fix baggage item key so that it is not canonicalized in
`go.opentelemetry.io/otel/bridge/opentracing`.
([#&#8203;4776](https://togithub.com/open-telemetry/opentelemetry-go/issues/4776))
- Fix `go.opentelemetry.io/otel/bridge/opentracing` to properly handle
baggage values that requires escaping during propagation.
([#&#8203;4804](https://togithub.com/open-telemetry/opentelemetry-go/issues/4804))
- Fix a bug where using multiple readers resulted in incorrect
asynchronous counter values in `go.opentelemetry.io/otel/sdk/metric`.
([#&#8203;4742](https://togithub.com/open-telemetry/opentelemetry-go/issues/4742))

</details>

<details>
<summary>open-telemetry/opentelemetry-proto-go
(go.opentelemetry.io/proto/otlp)</summary>

###
[`v1.1.0`](https://togithub.com/open-telemetry/opentelemetry-proto-go/releases/tag/v1.1.0)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-proto-go/compare/v1.0.0...v1.1.0)

Release of the [v1.1.0][otlp] version of the OTLP.

**Full Changelog**:
https://github.com/open-telemetry/opentelemetry-proto-go/compare/v1.0.0...v1.1.0

[otlp]:
https://togithub.com/open-telemetry/opentelemetry-proto/releases/tag/v1.1.0

</details>

<details>
<summary>helm/helm (helm)</summary>

### [`v3.14.0`](https://togithub.com/helm/helm/releases/tag/v3.14.0):
Helm v3.14.0

Helm v3.14.0 is a feature release. Users are encouraged to upgrade for
the best experience.

The community keeps growing, and we'd love to see you there!

- Join the discussion in [Kubernetes
Slack](https://kubernetes.slack.com):
    -   for questions and just to hang out
    -   for discussing PRs, code, and bugs
- Hang out at the Public Developer Call: Thursday, 9:30 Pacific via
[Zoom](https://zoom.us/j/696660622)
- Test, debug, and contribute charts:
[ArtifactHub/packages](https://artifacthub.io/packages/search?kind=0)

##### Notable Changes

-   New `helm search` flag of `--fail-on-no-result`
-   Allow a nested `tpl` invocation access to `defines`
-   Speed up the `tpl` function
- Added qps/HELM_QPS parameter that tells Kubernetes packages how to
operate
-   Added `--kube-version` to `lint` command
-   The `ignore` pkg is now public

##### Installation and Upgrading

Download Helm v3.14.0. The common platform binaries are here:

- [MacOS amd64](https://get.helm.sh/helm-v3.14.0-darwin-amd64.tar.gz)
([checksum](https://get.helm.sh/helm-v3.14.0-darwin-amd64.tar.gz.sha256sum)
/ 804586896496f7b3da97f56089ea00f220e075e969b6fdf6c0b7b9cdc22de120)
- [MacOS arm64](https://get.helm.sh/helm-v3.14.0-darwin-arm64.tar.gz)
([checksum](https://get.helm.sh/helm-v3.14.0-darwin-arm64.tar.gz.sha256sum)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (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.

👻 **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://developer.mend.io/github/TBD54566975/ftl).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alec Thomas <alec@swapoff.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants