Commit Graph

20819 Commits

Author SHA1 Message Date
Giteabot
e60ca35d52 fix(deps): update go dependencies (#37752)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) | Type |
Update | Pending |
|---|---|---|---|---|---|---|
| code.gitea.io/sdk/gitea | `v0.25.0` → `v0.25.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/code.gitea.io%2fsdk%2fgitea/v0.25.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/code.gitea.io%2fsdk%2fgitea/v0.25.0/v0.25.1?slim=true)
| require | patch | |
| [gitea.com/gitea/runner](https://gitea.com/gitea/runner) | `v1.0.0` →
`v1.0.3` |
![age](https://developer.mend.io/api/mc/badges/age/go/gitea.com%2fgitea%2frunner/v1.0.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/gitea.com%2fgitea%2frunner/v1.0.0/v1.0.3?slim=true)
| require | patch | `v1.0.4` |
|
[github.com/getkin/kin-openapi](https://redirect.github.com/getkin/kin-openapi)
| `v0.137.0` → `v0.138.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgetkin%2fkin-openapi/v0.138.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgetkin%2fkin-openapi/v0.137.0/v0.138.0?slim=true)
| require | minor | |
|
[github.com/go-co-op/gocron/v2](https://redirect.github.com/go-co-op/gocron)
| `v2.21.1` → `v2.21.2` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-co-op%2fgocron%2fv2/v2.21.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-co-op%2fgocron%2fv2/v2.21.1/v2.21.2?slim=true)
| require | patch | |
|
[github.com/go-webauthn/webauthn](https://redirect.github.com/go-webauthn/webauthn)
| `v0.17.2` → `v0.17.3` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-webauthn%2fwebauthn/v0.17.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-webauthn%2fwebauthn/v0.17.2/v0.17.3?slim=true)
| require | patch | |
| [github.com/google/pprof](https://redirect.github.com/google/pprof) |
`545e8a4` → `92041b7` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fpprof/v0.0.0-20260507013755-92041b743c96?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fpprof/v0.0.0-20260402051712-545e8a4df936/v0.0.0-20260507013755-92041b743c96?slim=true)
| require | digest | |
|
[github.com/wneessen/go-mail](https://redirect.github.com/wneessen/go-mail)
| `v0.7.2` → `v0.7.3` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fwneessen%2fgo-mail/v0.7.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fwneessen%2fgo-mail/v0.7.2/v0.7.3?slim=true)
| require | patch | |
|
[gitlab.com/gitlab-org/api/client-go/v2](https://gitlab.com/gitlab-org/api/client-go)
| `v2.24.1` → `v2.25.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/gitlab.com%2fgitlab-org%2fapi%2fclient-go%2fv2/v2.25.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/gitlab.com%2fgitlab-org%2fapi%2fclient-go%2fv2/v2.24.1/v2.25.0?slim=true)
| require | minor | `v2.27.0` (+2) |
| [golang.org/x/crypto](https://pkg.go.dev/golang.org/x/crypto) |
[`v0.50.0` →
`v0.51.0`](https://cs.opensource.google/go/x/crypto/+/refs/tags/v0.50.0...refs/tags/v0.51.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fcrypto/v0.51.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fcrypto/v0.50.0/v0.51.0?slim=true)
| require | minor | |
| [golang.org/x/image](https://pkg.go.dev/golang.org/x/image) |
[`v0.39.0` →
`v0.40.0`](https://cs.opensource.google/go/x/image/+/refs/tags/v0.39.0...refs/tags/v0.40.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fimage/v0.40.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fimage/v0.39.0/v0.40.0?slim=true)
| require | minor | |
| [golang.org/x/net](https://pkg.go.dev/golang.org/x/net) | [`v0.53.0` →
`v0.54.0`](https://cs.opensource.google/go/x/net/+/refs/tags/v0.53.0...refs/tags/v0.54.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fnet/v0.54.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fnet/v0.53.0/v0.54.0?slim=true)
| require | minor | |
| [golang.org/x/text](https://pkg.go.dev/golang.org/x/text) | [`v0.36.0`
→
`v0.37.0`](https://cs.opensource.google/go/x/text/+/refs/tags/v0.36.0...refs/tags/v0.37.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftext/v0.37.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftext/v0.36.0/v0.37.0?slim=true)
| require | minor | |
| [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | `v1.50.0` →
`v1.50.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/modernc.org%2fsqlite/v1.50.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/modernc.org%2fsqlite/v1.50.0/v1.50.1?slim=true)
| require | patch | |

---

### Release Notes

<details>
<summary>gitea/runner (gitea.com/gitea/runner)</summary>

### [`v1.0.3`](https://gitea.com/gitea/runner/releases/tag/v1.0.3)

[Compare Source](https://gitea.com/gitea/runner/compare/v1.0.2...v1.0.3)

#### Changelog

- fix: isolate per-task runner envs
([#&#8203;959](https://redirect.github.com/gitea/runner/issues/959))
- fix(deps): update module github.com/opencontainers/selinux to v1.14.1
([#&#8203;955](https://redirect.github.com/gitea/runner/issues/955))
- fix(deps): update mergo to v1.0.2 (now `dario.cat/mergo`)
([#&#8203;954](https://redirect.github.com/gitea/runner/issues/954))
- fix: ensure `dbfs_data` is cleaned up after task completion
([#&#8203;952](https://redirect.github.com/gitea/runner/issues/952))
- fix(artifactcache): preserve cache key case to stop redundant uploads
([#&#8203;947](https://redirect.github.com/gitea/runner/issues/947))
- fix(deps): update module golang.org/x/term to v0.43.0
([#&#8203;948](https://redirect.github.com/gitea/runner/issues/948))

### [`v1.0.2`](https://gitea.com/gitea/runner/releases/tag/v1.0.2)

[Compare Source](https://gitea.com/gitea/runner/compare/v1.0.1...v1.0.2)

#### Changelog

- fix: overwrite read-only files when copying action directories
([#&#8203;942](https://redirect.github.com/gitea/runner/issues/942))
- docs: add apparmor=rootlesskit in security\_opt
([#&#8203;937](https://redirect.github.com/gitea/runner/issues/937))
- fix: serialize action-cache reads to prevent worktree race
([#&#8203;938](https://redirect.github.com/gitea/runner/issues/938))
- feat: remove emojis from runner logging, add `Starting job container`
group
([#&#8203;940](https://redirect.github.com/gitea/runner/issues/940))

### [`v1.0.1`](https://gitea.com/gitea/runner/releases/tag/v1.0.1)

[Compare Source](https://gitea.com/gitea/runner/compare/v1.0.0...v1.0.1)

#### Changelog

-
[`dff63b3`](dff63b3ecc)
fix(deps): update module github.com/go-git/go-git/v5 to v5.19.0
([#&#8203;934](https://redirect.github.com/gitea/runner/issues/934))
-
[`a5d9fe9`](a5d9fe9651)
fix(deps): update module github.com/opencontainers/selinux to v1.14.0
([#&#8203;928](https://redirect.github.com/gitea/runner/issues/928))
-
[`d607f3b`](d607f3b342)
test: clean up dead/stale fixtures and bump test container images
([#&#8203;932](https://redirect.github.com/gitea/runner/issues/932))
-
[`5e59402`](5e59402fb2)
fix: re-fetch cached reusable workflow on every run
([#&#8203;930](https://redirect.github.com/gitea/runner/issues/930))
-
[`dfeb463`](dfeb463904)
chore(deps): update docker docker tag to v29
([#&#8203;924](https://redirect.github.com/gitea/runner/issues/924))

</details>

<details>
<summary>getkin/kin-openapi (github.com/getkin/kin-openapi)</summary>

###
[`v0.138.0`](https://redirect.github.com/getkin/kin-openapi/releases/tag/v0.138.0)

[Compare
Source](https://redirect.github.com/getkin/kin-openapi/compare/v0.137.0...v0.138.0)

#### What's Changed

- openapi3gen: clear nullable on exported component bodies by
[@&#8203;0-don](https://redirect.github.com/0-don) in
[#&#8203;1164](https://redirect.github.com/getkin/kin-openapi/pull/1164)
- openapi3: add test for issue
[#&#8203;927](https://redirect.github.com/getkin/kin-openapi/issues/927)
(nullable not respected on $ref schemas) by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1165](https://redirect.github.com/getkin/kin-openapi/pull/1165)
- test: move public-API tests to external \_test packages by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1168](https://redirect.github.com/getkin/kin-openapi/pull/1168)
- feat(openapi3): add per-type validation errors with cluster wrappers
by [@&#8203;reuvenharrison](https://redirect.github.com/reuvenharrison)
in
[#&#8203;1166](https://redirect.github.com/getkin/kin-openapi/pull/1166)
- feat(openapi3conv): canonicalization pass for 3.0 -> 3.x by
[@&#8203;reuvenharrison](https://redirect.github.com/reuvenharrison) in
[#&#8203;1162](https://redirect.github.com/getkin/kin-openapi/pull/1162)
- openapi3conv: test Upgrade on many documents by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1169](https://redirect.github.com/getkin/kin-openapi/pull/1169)

**Full Changelog**:
<https://github.com/getkin/kin-openapi/compare/v0.137.0...v0.138.0>

</details>

<details>
<summary>go-co-op/gocron (github.com/go-co-op/gocron/v2)</summary>

###
[`v2.21.2`](https://redirect.github.com/go-co-op/gocron/releases/tag/v2.21.2)

[Compare
Source](https://redirect.github.com/go-co-op/gocron/compare/v2.21.1...v2.21.2)

#### What's Changed

- fix: defer WithLimitedRuns job removal until task completes
([#&#8203;925](https://redirect.github.com/go-co-op/gocron/issues/925))
by [@&#8203;SAY-5](https://redirect.github.com/SAY-5) in
[#&#8203;926](https://redirect.github.com/go-co-op/gocron/pull/926)

#### New Contributors

- [@&#8203;SAY-5](https://redirect.github.com/SAY-5) made their first
contribution in
[#&#8203;926](https://redirect.github.com/go-co-op/gocron/pull/926)

**Full Changelog**:
<https://github.com/go-co-op/gocron/compare/v2.21.1...v2.21.2>

</details>

<details>
<summary>go-webauthn/webauthn
(github.com/go-webauthn/webauthn)</summary>

###
[`v0.17.3`](https://redirect.github.com/go-webauthn/webauthn/blob/HEAD/CHANGELOG.md#v0173-2026-05-09)

[Compare
Source](https://redirect.github.com/go-webauthn/webauthn/compare/v0.17.2...v0.17.3)

##### Dependency Updates

This release just contains updates to dependencies.

</details>

<details>
<summary>wneessen/go-mail (github.com/wneessen/go-mail)</summary>

###
[`v0.7.3`](https://redirect.github.com/wneessen/go-mail/releases/tag/v0.7.3):
: Skippable UTF-8 support, improved Base64LineBreaker, binary size
reducing, fixes and more

[Compare
Source](https://redirect.github.com/wneessen/go-mail/compare/v0.7.2...v0.7.3)

Welcome to go-mail v0.7.3! 🎉

This release brings some cool improvements, new features, and fixes to
go-mail. We hope you enjoy it!

#### Notable changes/improvements/features/fixes

##### Deadline fix for connections to a TLS port without TLS

PR
[#&#8203;521](https://redirect.github.com/wneessen/go-mail/issues/521)
fixes a missing deadline in the `Client` that could cause a deadlock for
connections to a TLS port without TLS enabled. Thanks to
[@&#8203;james-d-elliott](https://redirect.github.com/james-d-elliott)
for finding and fixing this issue!

##### Preseve EHLO and HELO errors

PR
[#&#8203;528](https://redirect.github.com/wneessen/go-mail/issues/528)
fixes an error for cases in which both the HELO and EHLO fail during a
client connect. In this case the first error would be overwritten by the
2nd action, potentially deleting valuable information. In go-mail v0.7.3
both errors are now combined. Thanks to
[@&#8203;Yanhu007](https://redirect.github.com/Yanhu007) for their
contribution!

##### Improved Base64LineBreaker

In PR
[#&#8203;512](https://redirect.github.com/wneessen/go-mail/issues/512)
[@&#8203;srpvpn](https://redirect.github.com/srpvpn) refactored the
`Base64LineBreaker` type to be more performant and easier to read by
removing the recursion. Thanks for your contribution!

##### Reduce binary size by making text/template and html/template
support optional

In PR
[#&#8203;518](https://redirect.github.com/wneessen/go-mail/issues/518)
[@&#8203;sblinch](https://redirect.github.com/sblinch) introduced a new
compile time flag `gomailnotpl` which will make the `text/template` and
`html/template` optional. Background is, that using
`reflect.Value.Method` or `reflect.Value.MethodByName` prevents Go from
performing full dead-code elimination because any exported method of any
struct in the codebase could potentially be referenced at runtime.
Unfortunately `text/template` and `html/template` do exactly this to
allow method invocation from within templates. So in case your code does
not need template support, you can use the new compile flag to remove
the support for both packages completely and same some bytes in the
resulting binary. Thanks for your contribution!

##### Fix nil pointer panic in partWriter

PR
[#&#8203;543](https://redirect.github.com/wneessen/go-mail/issues/543)
fixes a potential nil pointer panic in the partWriter in case the
underlying `io.Writer` returns an error during a multipart message
write. Thanks to
[@&#8203;UgurTheG](https://redirect.github.com/UgurTheG) for reporting
and fixing the issue!

##### Provide access to HELO responses in the SMTP client

PR
[#&#8203;530](https://redirect.github.com/wneessen/go-mail/issues/530)
adds support to access the HELO/EHLO responses via the `smtp.Client`.
This feature is useful when using an SMTP servers pool behind a load
balancer, to know which instance took the job. Thanks to
[@&#8203;maxatome](https://redirect.github.com/maxatome) for submitting
this feature!

##### Multiple addresses support in ReplyTo header

PR
[#&#8203;517](https://redirect.github.com/wneessen/go-mail/issues/517)
adds support for multiple `Reply-To` addresses within a `Msg`, as
permitted in RFC5322. Thanks to
[@&#8203;christian-heusel](https://redirect.github.com/christian-heusel)
for pointing this out and for comitting the PR!

##### Support to disable SMTPUTF8 in the MAIL FROM even if the server
announces it

PR
[#&#8203;548](https://redirect.github.com/wneessen/go-mail/issues/548)
adds support for skipping the `SMTPUTF8` extension to `MAIL FROM`
commands. By default, when a server announces `SMTPUTF8` support in the
EHLO, go-mail will add `SMTPUTF8` to the `MAIL FROM` command. As pointed
out in
[#&#8203;545](https://redirect.github.com/wneessen/go-mail/issues/545),
some SMTP servers (e. g. specific MS Exchange versions) announce the
SMTPUTF8 extension in the EHLO response but when adding the SMTPUTF8 to
the MAIL FROM, they will fail with an error. The PR introduces a new
`WithoutSMTPUTF8()` option for the `Client` which will make sure to skip
the SMTPUTF8 extension in the MAIL FROM, even if the server announced it
previously. Thanks [@&#8203;mkalus](https://redirect.github.com/mkalus)
for reporting this issue and for their detailed analysis in
[#&#8203;545](https://redirect.github.com/wneessen/go-mail/issues/545).

#### What's Changed

- minor fix for func ResetWithSMTPClient and DialAndSendWithContext by
[@&#8203;sarff](https://redirect.github.com/sarff) in
[#&#8203;500](https://redirect.github.com/wneessen/go-mail/pull/500)
- Refactored `SendWithSMTPClient` to improve error handling and added
test cases by [@&#8203;wneessen](https://redirect.github.com/wneessen)
in [#&#8203;502](https://redirect.github.com/wneessen/go-mail/pull/502)
- Refactored test and validation logic for message content checks by
[@&#8203;wneessen](https://redirect.github.com/wneessen) in
[#&#8203;503](https://redirect.github.com/wneessen/go-mail/pull/503)
- Fix a docstring typo by
[@&#8203;mitar](https://redirect.github.com/mitar) in
[#&#8203;505](https://redirect.github.com/wneessen/go-mail/pull/505)
- Upstream sync: prevent test failures due to expired test certificate
by [@&#8203;wneessen](https://redirect.github.com/wneessen) in
[#&#8203;522](https://redirect.github.com/wneessen/go-mail/pull/522)
- fix: deadline not set for initial connection read by
[@&#8203;james-d-elliott](https://redirect.github.com/james-d-elliott)
in [#&#8203;521](https://redirect.github.com/wneessen/go-mail/pull/521)
- Add deadlock test for client connections by
[@&#8203;wneessen](https://redirect.github.com/wneessen) in
[#&#8203;525](https://redirect.github.com/wneessen/go-mail/pull/525)
- fix: preserve EHLO error when both EHLO and HELO fail by
[@&#8203;Yanhu007](https://redirect.github.com/Yanhu007) in
[#&#8203;528](https://redirect.github.com/wneessen/go-mail/pull/528)
- refactor: remove recursion from base64LineBreaker.Write by
[@&#8203;srpvpn](https://redirect.github.com/srpvpn) in
[#&#8203;512](https://redirect.github.com/wneessen/go-mail/pull/512)
- Make text/template support optional to allow dead-code elimination by
[@&#8203;sblinch](https://redirect.github.com/sblinch) in
[#&#8203;518](https://redirect.github.com/wneessen/go-mail/pull/518)
- fix: prevent nil pointer panic in writeBody when partWriter is nil by
[@&#8203;UgurTheG](https://redirect.github.com/UgurTheG) in
[#&#8203;543](https://redirect.github.com/wneessen/go-mail/pull/543)
- feat: add (\*smtp.Client).HelloResponse method to get EHLO/HELO
response by [@&#8203;maxatome](https://redirect.github.com/maxatome) in
[#&#8203;530](https://redirect.github.com/wneessen/go-mail/pull/530)
- feat: add option to skip SMTPUTF8 in "MAIL FROM" commands by
[@&#8203;wneessen](https://redirect.github.com/wneessen) in
[#&#8203;548](https://redirect.github.com/wneessen/go-mail/pull/548)
- Allow multiple Addresses in ReplyTo Header and add GetReplyTo() by
[@&#8203;christian-heusel](https://redirect.github.com/christian-heusel)
in [#&#8203;517](https://redirect.github.com/wneessen/go-mail/pull/517)

#### CI/CD maintenance changes

- Bump golang.org/x/text from 0.29.0 to 0.30.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;501](https://redirect.github.com/wneessen/go-mail/pull/501)
- Bump golang.org/x/text from 0.30.0 to 0.31.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;506](https://redirect.github.com/wneessen/go-mail/pull/506)
- Bump golang.org/x/text from 0.31.0 to 0.32.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;509](https://redirect.github.com/wneessen/go-mail/pull/509)
- Bump Go and `golang.org/x/text` module versions by
[@&#8203;wneessen](https://redirect.github.com/wneessen) in
[#&#8203;526](https://redirect.github.com/wneessen/go-mail/pull/526)
- Bump golang.org/x/text from 0.35.0 to 0.36.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;527](https://redirect.github.com/wneessen/go-mail/pull/527)
- Updated `.golangci.toml` for linter exclusions on specific use cases
by [@&#8203;wneessen](https://redirect.github.com/wneessen) in
[#&#8203;523](https://redirect.github.com/wneessen/go-mail/pull/523)
- Updated CI configuration for Go and OS versions in workflows by
[@&#8203;wneessen](https://redirect.github.com/wneessen) in
[#&#8203;524](https://redirect.github.com/wneessen/go-mail/pull/524)
- Bump golangci/golangci-lint-action from 7.0.0 to 9.2.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;535](https://redirect.github.com/wneessen/go-mail/pull/535)
- Bump ossf/scorecard-action from 2.4.0 to 2.4.3 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;534](https://redirect.github.com/wneessen/go-mail/pull/534)
- Bump fsfe/reuse-action from 5.0.0 to 6.0.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;533](https://redirect.github.com/wneessen/go-mail/pull/533)
- Bump vmactions/freebsd-vm from 1.1.5 to 1.4.5 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;532](https://redirect.github.com/wneessen/go-mail/pull/532)
- Bump step-security/harden-runner from 2.10.2 to 2.19.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;531](https://redirect.github.com/wneessen/go-mail/pull/531)
- Bump actions/dependency-review-action from 4.5.0 to 4.9.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;540](https://redirect.github.com/wneessen/go-mail/pull/540)
- Bump actions/setup-go from 5.2.0 to 6.4.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;539](https://redirect.github.com/wneessen/go-mail/pull/539)
- Bump codecov/codecov-action from 5.1.1 to 6.0.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;538](https://redirect.github.com/wneessen/go-mail/pull/538)
- Bump actions/upload-artifact from 4.5.0 to 7.0.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;537](https://redirect.github.com/wneessen/go-mail/pull/537)
- Bump github/codeql-action from 3.27.9 to 4.35.3 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;536](https://redirect.github.com/wneessen/go-mail/pull/536)
- Bump step-security/harden-runner from 2.19.0 to 2.19.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;541](https://redirect.github.com/wneessen/go-mail/pull/541)
- Bump golang.org/x/text from 0.36.0 to 0.37.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;547](https://redirect.github.com/wneessen/go-mail/pull/547)
- Bump actions/dependency-review-action from 4.9.0 to 5.0.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;546](https://redirect.github.com/wneessen/go-mail/pull/546)
- Bump github/codeql-action from 4.35.3 to 4.35.4 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;544](https://redirect.github.com/wneessen/go-mail/pull/544)

#### New Contributors

- [@&#8203;mitar](https://redirect.github.com/mitar) made their first
contribution in
[#&#8203;505](https://redirect.github.com/wneessen/go-mail/pull/505)
- [@&#8203;Yanhu007](https://redirect.github.com/Yanhu007) made their
first contribution in
[#&#8203;528](https://redirect.github.com/wneessen/go-mail/pull/528)
- [@&#8203;srpvpn](https://redirect.github.com/srpvpn) made their first
contribution in
[#&#8203;512](https://redirect.github.com/wneessen/go-mail/pull/512)
- [@&#8203;sblinch](https://redirect.github.com/sblinch) made their
first contribution in
[#&#8203;518](https://redirect.github.com/wneessen/go-mail/pull/518)
- [@&#8203;UgurTheG](https://redirect.github.com/UgurTheG) made their
first contribution in
[#&#8203;543](https://redirect.github.com/wneessen/go-mail/pull/543)
- [@&#8203;maxatome](https://redirect.github.com/maxatome) made their
first contribution in
[#&#8203;530](https://redirect.github.com/wneessen/go-mail/pull/530)
-
[@&#8203;christian-heusel](https://redirect.github.com/christian-heusel)
made their first contribution in
[#&#8203;517](https://redirect.github.com/wneessen/go-mail/pull/517)

**Full Changelog**:
<https://github.com/wneessen/go-mail/compare/v0.7.2...v0.7.3>

</details>

<details>
<summary>gitlab-org/api/client-go
(gitlab.com/gitlab-org/api/client-go/v2)</summary>

###
[`v2.25.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.25.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.24.1...v2.25.0)

#### 2.25.0

##### 🚀 Features

- feat: Add GraphQL API support for security attributes and categories
([!2856](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2856))
by [Caleb Madara](https://gitlab.com/calebmadara58)

##### 🔄 Other Changes

- chore(deps): update dependency golangci-lint to v2.12.1
([!2880](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2880))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- Resolve lint errors on `main` causing pipeline failures
([!2882](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2882))
by [Patrick Rice](https://gitlab.com/PatrickRice)
- chore(deps): update dependency golangci-lint to v2.12.0
([!2879](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2879))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)

###
[2.25.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.24.1...v2.25.0)
(2026-05-11)
##### Features

* Add GraphQL API support for security attributes and categories
([8496635](84966353d9))

</details>

<details>
<summary>cznic/sqlite (modernc.org/sqlite)</summary>

###
[`v1.50.1`](https://gitlab.com/cznic/sqlite/compare/v1.50.0...v1.50.1)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.50.0...v1.50.1)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Monday (`* * * * 1`)
- Automerge
  - At any time (no schedule defined)

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

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.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://redirect.github.com/renovatebot/renovate).

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

Co-authored-by: silverwind <me@silverwind.io>
2026-05-18 08:19:06 +00:00
Giteabot
4ee8266519 chore(deps): update action dependencies (#37751)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [pnpm/action-setup](https://redirect.github.com/pnpm/action-setup) |
action | patch | `v6.0.5` → `v6.0.8` |
|
[renovatebot/github-action](https://redirect.github.com/renovatebot/github-action)
| action | patch | `v46.1.13` → `v46.1.14` |

---

### Release Notes

<details>
<summary>pnpm/action-setup (pnpm/action-setup)</summary>

###
[`v6.0.8`](https://redirect.github.com/pnpm/action-setup/releases/tag/v6.0.8)

[Compare
Source](https://redirect.github.com/pnpm/action-setup/compare/v6.0.7...v6.0.8)

##### What's Changed

- docs(README): fix `cache_dependency_path` type by
[@&#8203;haines](https://redirect.github.com/haines) in
[#&#8203;257](https://redirect.github.com/pnpm/action-setup/pull/257)
- fix: drop patchPnpmEnv so standalone+self-update works on Windows by
[@&#8203;zkochan](https://redirect.github.com/zkochan) in
[#&#8203;258](https://redirect.github.com/pnpm/action-setup/pull/258)
- fix: update pnpm to 11.1.1 by
[@&#8203;mungodewar](https://redirect.github.com/mungodewar) in
[#&#8203;248](https://redirect.github.com/pnpm/action-setup/pull/248)

##### New Contributors

- [@&#8203;mungodewar](https://redirect.github.com/mungodewar) made
their first contribution in
[#&#8203;248](https://redirect.github.com/pnpm/action-setup/pull/248)

**Full Changelog**:
<https://github.com/pnpm/action-setup/compare/v6.0.7...v6.0.8>

###
[`v6.0.7`](https://redirect.github.com/pnpm/action-setup/releases/tag/v6.0.7)

[Compare
Source](https://redirect.github.com/pnpm/action-setup/compare/v6.0.6...v6.0.7)

##### What's Changed

- fix: honor devEngines.packageManager.onFail=error
([#&#8203;252](https://redirect.github.com/pnpm/action-setup/issues/252))
by [@&#8203;zkochan](https://redirect.github.com/zkochan) in
[#&#8203;254](https://redirect.github.com/pnpm/action-setup/pull/254)
- fix: restore inputs from state in post by
[@&#8203;haines](https://redirect.github.com/haines) in
[#&#8203;255](https://redirect.github.com/pnpm/action-setup/pull/255)
- fix: self-update bootstrap to packageManager-pinned version
([#&#8203;233](https://redirect.github.com/pnpm/action-setup/issues/233))
by [@&#8203;zkochan](https://redirect.github.com/zkochan) in
[#&#8203;256](https://redirect.github.com/pnpm/action-setup/pull/256)

##### New Contributors

- [@&#8203;haines](https://redirect.github.com/haines) made their first
contribution in
[#&#8203;255](https://redirect.github.com/pnpm/action-setup/pull/255)

**Full Changelog**:
<https://github.com/pnpm/action-setup/compare/v6.0.6...v6.0.7>

###
[`v6.0.6`](https://redirect.github.com/pnpm/action-setup/releases/tag/v6.0.6)

[Compare
Source](https://redirect.github.com/pnpm/action-setup/compare/v6.0.5...v6.0.6)

##### What's Changed

- fix: bin\_dest output points to self-updated pnpm, not bootstrap by
[@&#8203;zkochan](https://redirect.github.com/zkochan) in
[#&#8203;249](https://redirect.github.com/pnpm/action-setup/pull/249)

**Full Changelog**:
<https://github.com/pnpm/action-setup/compare/v6.0.5...v6.0.6>

</details>

<details>
<summary>renovatebot/github-action (renovatebot/github-action)</summary>

###
[`v46.1.14`](https://redirect.github.com/renovatebot/github-action/releases/tag/v46.1.14)

[Compare
Source](https://redirect.github.com/renovatebot/github-action/compare/v46.1.13...v46.1.14)

##### Documentation

- Revise Fine-grained Personal Access Tokens section
([#&#8203;1030](https://redirect.github.com/renovatebot/github-action/issues/1030))
([fef7882](fef7882e2c))
- set `RENOVATE_PLATFORM_COMMIT` to `enabled`
([#&#8203;1029](https://redirect.github.com/renovatebot/github-action/issues/1029))
([9d07dfa](9d07dfa4f7))
- update references to renovatebot/github-action to v46.1.13
([9a41b99](9a41b990c5))

##### Miscellaneous Chores

- cleanup
([8abcd0e](8abcd0e9f0))
- **deps:** update commitlint monorepo to v20.5.3
([a4e124d](a4e124de37))
- **deps:** update dependency globals to v17.6.0
([d5ca6d4](d5ca6d4cf3))
- **deps:** update dependency typescript-eslint to v8.59.1
([1dd2319](1dd2319cb4))
- enable pnpm `minimumReleaseAge`
([00a8327](00a83273b5))

##### Build System

- **deps:** lock file maintenance
([f6821a2](f6821a23ac))

##### Continuous Integration

- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.160.7
([1189f69](1189f69d1f))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.162.0
([43d0a48](43d0a48b25))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.163.0
([61a1654](61a1654b1a))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.163.1
([4226876](4226876858))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.163.2
([b3318e0](b3318e0a24))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.163.4
([09fe3e9](09fe3e9361))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.164.0
([5736585](5736585dd1))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.164.1
([8b164cc](8b164cce79))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.164.2
([44728cc](44728cc649))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.165.0
([bde1da1](bde1da1de3))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.166.0
([#&#8203;1031](https://redirect.github.com/renovatebot/github-action/issues/1031))
([4b957d1](4b957d1cab))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.166.2
([499cfeb](499cfeb9d6))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.166.3
([fe8a943](fe8a9436e2))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.167.0
([f8ca6db](f8ca6db770))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.168.4
([2e15d66](2e15d66203))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.168.5
([a87ee3d](a87ee3d8ae))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.168.6
([683e7dd](683e7dd082))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.169.0
([f6166e7](f6166e7f7b))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.169.4
([f1f81f9](f1f81f959e))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.0
([5473f54](5473f54a8f))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.12
([b47aa13](b47aa13511))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.13
([7e8834d](7e8834d80e))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.14
([9b5f9e6](9b5f9e6c8f))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.15
([98631e8](98631e88b8))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.16
([ab997a9](ab997a9588))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.17
([24a51e0](24a51e0fd8))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.18
([f82d2cd](f82d2cd716))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.19
([3d684f2](3d684f2e07))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.20
([d7afc6b](d7afc6be62))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.3
([306f0c9](306f0c9105))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.8
([f0eea19](f0eea19bf3))
- **deps:** update ghcr.io/renovatebot/renovate docker tag to v43.170.9
([f3af74e](f3af74eb2f))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Monday (`* * * * 1`)
- Automerge
  - At any time (no schedule defined)

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

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.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://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuNSIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2026-05-18 07:24:27 +00:00
Giteabot
3d95a2f028 fix(deps): update module github.com/google/go-github/v85 to v86 (#37754)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/google/go-github/v85](https://redirect.github.com/google/go-github)
| `v85.0.0` → `v86.0.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fgo-github%2fv85/v86.0.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fgo-github%2fv85/v85.0.0/v86.0.0?slim=true)
|

---

### Release Notes

<details>
<summary>google/go-github (github.com/google/go-github/v85)</summary>

###
[`v86.0.0`](https://redirect.github.com/google/go-github/releases/tag/v86.0.0)

[Compare
Source](https://redirect.github.com/google/go-github/compare/v85.0.0...v86.0.0)

This release contains the following breaking API changes:

- feat!: Refactor request context
([#&#8203;4151](https://redirect.github.com/google/go-github/issues/4151))
BREAKING CHANGE: All internal calls now provide `Context` via the
`Request` itself.
- feat!: Add OIDC authentication support to `PrivateRegistries`
([#&#8203;4159](https://redirect.github.com/google/go-github/issues/4159))
BREAKING CHANGE: `PrivateRegistriesService` is updated to API version
`2026-03-10` with struct and response changes.

...and the following additional changes:

- chore: Bump version of `go-github` to `v86.0.0`
([#&#8203;4198](https://redirect.github.com/google/go-github/issues/4198))
- test: Fix invalid JSON payloads in actions workflow runs tests
([#&#8203;4197](https://redirect.github.com/google/go-github/issues/4197))
- feat: Add repo download contents sentinel errors
([#&#8203;4192](https://redirect.github.com/google/go-github/issues/4192))
- chore: Fix `otel` module name
([#&#8203;4187](https://redirect.github.com/google/go-github/issues/4187))
- feat: Add typed Copilot metrics download helpers
([#&#8203;4177](https://redirect.github.com/google/go-github/issues/4177))
- feat: Add `deploy_keys_enabled_for_repositories` and secret scanning
custom link fields to `Organization` struct
([#&#8203;4188](https://redirect.github.com/google/go-github/issues/4188))
- refactor: Use `testJSONBody` helper for request body assertions in
tests
([#&#8203;4183](https://redirect.github.com/google/go-github/issues/4183))
- build(deps): Bump github.com/getkin/kin-openapi from 0.135.0 to
0.137.0 in /tools
([#&#8203;4184](https://redirect.github.com/google/go-github/issues/4184))
- fix: Include `RetryAfter` in `AbuseRateLimitError.Error` output
([#&#8203;4181](https://redirect.github.com/google/go-github/issues/4181))
- fix: Handle string-typed reviewer `ID` in Ruleset API responses
([#&#8203;4178](https://redirect.github.com/google/go-github/issues/4178))
- feat: Add `ArchivedAt` field to `Organization` struct
([#&#8203;4179](https://redirect.github.com/google/go-github/issues/4179))
- feat: Add Copilot coding agent and content exclusion org endpoints
([#&#8203;4176](https://redirect.github.com/google/go-github/issues/4176))
- chore: Bump go-github from v84 to v85 in /scrape
([#&#8203;4174](https://redirect.github.com/google/go-github/issues/4174))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Monday (`* * * * 1`)
- Automerge
  - At any time (no schedule defined)

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

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

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

---

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

---

This PR has been generated by [Mend
Renovate](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuNSIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2026-05-18 06:18:58 +00:00
silverwind
83151e98cc ci: narrow files-changed frontend filter (#37749)
Drop the broad `tools/*.{js,ts}` globs from the `frontend` filter so
edits to CI-only or backend helper scripts in `tools/` stop triggering
frontend and e2e jobs. Only `tools/generate-svg.ts` is kept.

Also renames `tools/lint-pr-title.js` to `.ts` for consistency, drops
the empty root `*.js` glob, fixes stray indentation in the `dockerfile`
filter and adds missing `setup-node`.

---
This PR was written with the help of Claude Opus 4.7

---------

Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-18 05:38:40 +00:00
Giteabot
aecb2585f0 fix(deps): update npm dependencies (#37753)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| @&#8203;codemirror/view | [`6.42.0` →
`6.42.1`](https://renovatebot.com/diffs/npm/@codemirror%2fview/6.42.0/6.42.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@codemirror%2fview/6.42.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@codemirror%2fview/6.42.0/6.42.1?slim=true)
|
| [@playwright/test](https://playwright.dev)
([source](https://redirect.github.com/microsoft/playwright)) | [`1.59.1`
→
`1.60.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.59.1/1.60.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.60.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.59.1/1.60.0?slim=true)
|
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`25.6.0` →
`25.7.0`](https://renovatebot.com/diffs/npm/@types%2fnode/25.6.0/25.7.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/25.7.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/25.6.0/25.7.0?slim=true)
|
|
[@typescript-eslint/parser](https://typescript-eslint.io/packages/parser)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`8.59.2` →
`8.59.3`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.59.2/8.59.3)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.59.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.59.2/8.59.3?slim=true)
|
|
[@vitest/eslint-plugin](https://redirect.github.com/vitest-dev/eslint-plugin-vitest)
| [`1.6.16` →
`1.6.17`](https://renovatebot.com/diffs/npm/@vitest%2feslint-plugin/1.6.16/1.6.17)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2feslint-plugin/1.6.17?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2feslint-plugin/1.6.16/1.6.17?slim=true)
|
|
[eslint-plugin-de-morgan](https://redirect.github.com/azat-io/eslint-plugin-de-morgan)
| [`2.1.1` →
`2.1.2`](https://renovatebot.com/diffs/npm/eslint-plugin-de-morgan/2.1.1/2.1.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-de-morgan/2.1.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-de-morgan/2.1.1/2.1.2?slim=true)
|
|
[eslint-plugin-vue-scoped-css](https://future-architect.github.io/eslint-plugin-vue-scoped-css/)
([source](https://redirect.github.com/future-architect/eslint-plugin-vue-scoped-css))
| [`3.0.0` →
`3.1.0`](https://renovatebot.com/diffs/npm/eslint-plugin-vue-scoped-css/3.0.0/3.1.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-vue-scoped-css/3.1.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-vue-scoped-css/3.0.0/3.1.0?slim=true)
|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
[`11.0.8` →
`11.1.1`](https://renovatebot.com/diffs/npm/pnpm/11.0.8/11.1.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/11.1.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/11.0.8/11.1.1?slim=true)
|
|
[rolldown-license-plugin](https://redirect.github.com/silverwind/rolldown-license-plugin)
| [`3.0.4` →
`3.0.5`](https://renovatebot.com/diffs/npm/rolldown-license-plugin/3.0.4/3.0.5)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown-license-plugin/3.0.5?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown-license-plugin/3.0.4/3.0.5?slim=true)
|
| [swagger-ui-dist](https://redirect.github.com/swagger-api/swagger-ui)
| [`5.32.5` →
`5.32.6`](https://renovatebot.com/diffs/npm/swagger-ui-dist/5.32.5/5.32.6)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/swagger-ui-dist/5.32.6?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/swagger-ui-dist/5.32.5/5.32.6?slim=true)
|
|
[typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint))
| [`8.59.2` →
`8.59.3`](https://renovatebot.com/diffs/npm/typescript-eslint/8.59.2/8.59.3)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.59.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.59.2/8.59.3?slim=true)
|
| [updates](https://redirect.github.com/silverwind/updates) | [`17.16.9`
→
`17.16.11`](https://renovatebot.com/diffs/npm/updates/17.16.9/17.16.11)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/updates/17.16.11?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/updates/17.16.9/17.16.11?slim=true)
|
| [vite](https://vite.dev)
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite))
| [`8.0.10` →
`8.0.12`](https://renovatebot.com/diffs/npm/vite/8.0.10/8.0.12) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vite/8.0.12?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/8.0.10/8.0.12?slim=true)
|
| [vitest](https://vitest.dev)
([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest))
| [`4.1.5` →
`4.1.6`](https://renovatebot.com/diffs/npm/vitest/4.1.5/4.1.6) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/4.1.6?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/4.1.5/4.1.6?slim=true)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.60.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.60.0)

[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.59.1...v1.60.0)

#### 🌐 HAR recording on Tracing


[tracing.startHar()](https://playwright.dev/docs/api/class-tracing#tracing-start-har)
/
[tracing.stopHar()](https://playwright.dev/docs/api/class-tracing#tracing-stop-har)
expose HAR recording as a first-class tracing API, with the same
`content`, `mode` and `urlFilter` options as `recordHar`. The returned
[Disposable](https://playwright.dev/docs/api/class-disposable) makes it
easy to scope a recording with `await using`:

```js
await using har = await context.tracing.startHar('trace.har');
const page = await context.newPage();
await page.goto('https://playwright.dev');
// HAR is finalized when `har` goes out of scope.
```

#### 🪝 Drop API

New
[locator.drop()](https://playwright.dev/docs/api/class-locator#locator-drop)
simulates an external drag-and-drop of files or clipboard-like data onto
an element. Playwright dispatches `dragenter`, `dragover`, and `drop`
with a synthetic \[DataTransfer] in the page context — works
cross-browser and is great for testing upload zones:

```js
await page.locator('#dropzone').drop({
  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },
});

await page.locator('#dropzone').drop({
  data: {
    'text/plain': 'hello world',
    'text/uri-list': 'https://example.com',
  },
});
```

#### 🎯 Aria snapshots

-
[expect(page).toMatchAriaSnapshot()](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot)
now works on a [Page](https://playwright.dev/docs/api/class-page), in
addition to a [Locator](https://playwright.dev/docs/api/class-locator) —
equivalent to asserting against `page.locator('body')`.
- New `boxes` option on
[locator.ariaSnapshot()](https://playwright.dev/docs/api/class-locator#locator-aria-snapshot)
/
[page.ariaSnapshot()](https://playwright.dev/docs/api/class-page#page-aria-snapshot)
appends each element's bounding box as `[box=x,y,width,height]`, useful
for AI consumption.

#### 🛑 test.abort()

New
[test.abort()](https://playwright.dev/docs/api/class-test#test-abort)
aborts the currently running test from a fixture, hook, or route handler
with an optional message. Use it when you have detected an unrecoverable
misuse and want to fail the test right away:

```js
test('does not publish to the shared page', async ({ page }) => {
  await page.route('**/publish', route => {
    test.abort('Tests must not publish to the shared page. Use the `clone` option.');
    return route.abort();
  });
  // ...
});
```

#### New APIs

##### Browser, Context and Page

- Event
[browser.on('context')](https://playwright.dev/docs/api/class-browser#browser-event-context)
— fired when a new context is created on the browser.
- [BrowserContext](https://playwright.dev/docs/api/class-browsercontext)
now mirrors lifecycle events from its pages:
[browserContext.on('download')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-download),
[browserContext.on('frameattached')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-frame-attached),
[browserContext.on('framedetached')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-frame-detached),
[browserContext.on('framenavigated')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-frame-navigated),
[browserContext.on('pageclose')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-page-close),
[browserContext.on('pageload')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-page-load).

##### Locators and Assertions

- New option `description` in
[page.getByRole()](https://playwright.dev/docs/api/class-page#page-get-by-role)
/
[locator.getByRole()](https://playwright.dev/docs/api/class-locator#locator-get-by-role)
/
[frame.getByRole()](https://playwright.dev/docs/api/class-frame#frame-get-by-role)
/
[frameLocator.getByRole()](https://playwright.dev/docs/api/class-framelocator#frame-locator-get-by-role)
for matching the [accessible
description](https://www.w3.org/TR/wai-aria-1.2/#dfn-accessible-description).
- New option `pseudo` in
[expect(locator).toHaveCSS()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-css)
reads computed styles from `::before` or `::after`.
- New option `style` in
[locator.highlight()](https://playwright.dev/docs/api/class-locator#locator-highlight)
applies extra inline CSS to the highlight overlay, plus new
[page.hideHighlight()](https://playwright.dev/docs/api/class-page#page-hide-highlight)
to clear all highlights.

##### Network

-
[webSocketRoute.protocols()](https://playwright.dev/docs/api/class-websocketroute#web-socket-route-protocols)
returns the WebSocket subprotocols requested by the page.
- New option `noDefaults` in
[browserType.connectOverCDP()](https://playwright.dev/docs/api/class-browsertype#browser-type-connect-over-cdp)
disables Playwright's default overrides on the default context (download
behavior, focus emulation, media emulation), so attaching to a user's
daily-driver browser doesn't disturb its state.

##### Errors and Reporting

- New
[webError.location()](https://playwright.dev/docs/api/class-weberror#web-error-location)
mirrors
[consoleMessage.location()](https://playwright.dev/docs/api/class-consolemessage#console-message-location).
-
[consoleMessage.location()](https://playwright.dev/docs/api/class-consolemessage#console-message-location)
now exposes `line` / `column` properties (`lineNumber` / `columnNumber`
are deprecated).
- New
[testInfoError.errorContext](https://playwright.dev/docs/api/class-testinfoerror#test-info-error-error-context)
surfaces additional diagnostic context, such as the aria snapshot of the
receiver at the time of an `expect(...)` matcher failure.
-
[reporter.onError()](https://playwright.dev/docs/api/class-reporter#reporter-on-error)
now receives a `workerInfo` argument with details about the worker for
fixture teardown errors.

##### Test runner

- New `{testFileBaseName}` token in
[testProject.snapshotPathTemplate](https://playwright.dev/docs/api/class-testproject#test-project-snapshot-path-template)
— file name without extension.
- Test runner now errors when a config tries to override a non-option
fixture, and rejects `workers: 0` or negative values.

#### 🛠️ Other improvements

- HTML reporter:
- `npx playwright show-report` accepts `.zip` files directly — no need
to unzip first.
- Steps that contain attachments inside nested children show an
indicator on the parent step.
  - The `repeatEachIndex` is shown in the test header when non-zero.
- Trace Viewer adds a pretty-print toggle for JSON / form request and
response bodies in the network details panel.

#### Breaking Changes ⚠️

- Removed long-deprecated APIs:
- `Locator.ariaRef()` — use the standard
[locator.ariaSnapshot()](https://playwright.dev/docs/api/class-locator#locator-aria-snapshot)
pipeline.
- `handle` option on `BrowserContext.exposeBinding` and
`Page.exposeBinding`.
- `logger` option on `BrowserType.connect` and
`BrowserType.connectOverCDP` — use
[tracing](https://playwright.dev/docs/trace-viewer) instead.
- Context options `videosPath` / `videoSize` — use `recordVideo`
instead.

#### Browser Versions

- Chromium 148.0.7778.96
- Mozilla Firefox 150.0.2
- WebKit 26.4

This version was also tested against the following stable channels:

- Google Chrome 147
- Microsoft Edge 147

</details>

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

###
[`v8.59.3`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8593-2026-05-11)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.59.2...v8.59.3)

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

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3)
for more information.

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

</details>

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

###
[`v1.6.17`](https://redirect.github.com/vitest-dev/eslint-plugin-vitest/releases/tag/v1.6.17)

[Compare
Source](https://redirect.github.com/vitest-dev/eslint-plugin-vitest/compare/v1.6.16...v1.6.17)

#####    🐞 Bug Fixes

- Recommend `toBeTypeOf` instead of `expectTypeOf` in
`prefer-expect-type-of`  -  by
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[#&#8203;896](https://redirect.github.com/vitest-dev/eslint-plugin-vitest/issues/896)
[<samp>(a4bcd)</samp>](https://redirect.github.com/vitest-dev/eslint-plugin-vitest/commit/a4bcdf5)
- **no-standalone-expect**: Allow expect inside vi.defineHelper
callbacks  -  by
[@&#8203;nami8824](https://redirect.github.com/nami8824) in
[#&#8203;894](https://redirect.github.com/vitest-dev/eslint-plugin-vitest/issues/894)
[<samp>(fd8eb)</samp>](https://redirect.github.com/vitest-dev/eslint-plugin-vitest/commit/fd8eb3c)

#####     [View changes on
GitHub](https://redirect.github.com/vitest-dev/eslint-plugin-vitest/compare/v1.6.16...v1.6.17)

</details>

<details>
<summary>azat-io/eslint-plugin-de-morgan
(eslint-plugin-de-morgan)</summary>

###
[`v2.1.2`](https://redirect.github.com/azat-io/eslint-plugin-de-morgan/blob/HEAD/changelog.md#v212)

[Compare
Source](https://redirect.github.com/azat-io/eslint-plugin-de-morgan/compare/v2.1.1...v2.1.2)

[compare
changes](https://redirect.github.com/azat-io/eslint-plugin-de-morgan/compare/v2.1.1...v2.1.2)

##### 🐞 Bug Fixes

- Avoid invalid autofixes for grouped boolean expressions

([1173aaa](https://redirect.github.com/azat-io/eslint-plugin-de-morgan/commit/1173aaa))

##### ❤️ Contributors

- Azat S. ([@&#8203;azat-io](https://redirect.github.com/azat-io))

</details>

<details>
<summary>future-architect/eslint-plugin-vue-scoped-css
(eslint-plugin-vue-scoped-css)</summary>

###
[`v3.1.0`](https://redirect.github.com/future-architect/eslint-plugin-vue-scoped-css/blob/HEAD/CHANGELOG.md#310)

[Compare
Source](https://redirect.github.com/future-architect/eslint-plugin-vue-scoped-css/compare/v3.0.0...v3.1.0)

##### Minor Changes

- refactor: replace lodash with es-toolkit and vanilla js
([#&#8203;492](https://redirect.github.com/future-architect/eslint-plugin-vue-scoped-css/pull/492))

</details>

<details>
<summary>pnpm/pnpm (pnpm)</summary>

###
[`v11.1.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1111)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.1.0...v11.1.1)

##### Patch Changes

- Skip installability validation when scanning workspace projects in
`checkDepsStatus` (run by `verifyDepsBeforeRun`). Previously the status
check called `findWorkspaceProjects`, which validates each project's
`engines` and `os`/`cpu`/`libc` and warns about useless fields in
non-root manifests — work that the install pipeline already performs.
With no `nodeVersion` threaded through, the engine check also fell back
to the system Node from `PATH` and emitted spurious "Unsupported engine"
warnings before scripts ran. Status-only callers now use
`findWorkspaceProjectsNoCheck`; install paths continue to validate.
- Fixed `pnpm add <alias>:@&#8203;scope/pkg` for [named
registries](https://redirect.github.com/pnpm/pnpm/pull/11324). The local
resolver was claiming any specifier containing `/` as a local directory,
so `pnpm add bit:@&#8203;teambit/bit` (with `bit` configured under
`namedRegistries`) installed a bogus link to `bit:@&#8203;teambit/bit/`
instead of resolving from the configured registry. The local resolver
now runs after the named-registry resolver in the resolution chain.
- Updated `@zkochan/cmd-shim` to 9.0.3. The sh shim it writes for `.cmd`
/ `.bat` targets now escapes the `/C` switch as `//C`, so it survives
the path translation Git Bash applies when launching `cmd.exe`. Without
this, a bare `/C` was rewritten to `C:\` before reaching cmd.exe — the
switch was dropped, cmd started interactively, and the calling script
saw the cmd banner instead of the wrapped command's output. Affects any
cmd-shim-wrapped batch script invoked from Git Bash / MSYS / Cygwin on
Windows. See
[pnpm/cmd-shim#55](https://redirect.github.com/pnpm/cmd-shim/pull/55).

###
[`v11.1.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1110)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.0.9...v11.1.0)

##### Minor Changes

- Added `pnpm audit signatures` to verify ECDSA registry signatures for
installed packages against keys from `/-/npm/v1/keys`
[#&#8203;7909](https://redirect.github.com/pnpm/pnpm/issues/7909).
Scoped registries are respected, and registries without signing keys are
skipped.

- Added support for installing packages from the [GitHub Packages npm
registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry)
via a built-in `gh:` prefix (e.g. `pnpm add gh:@&#8203;acme/private`),
and, more broadly, for arbitrary named registries in the style of [vlt's
named-registry aliases](https://docs.vlt.sh/cli/registries).
Authentication is picked up from the existing per-URL `.npmrc` entries
(e.g. `//npm.pkg.github.com/:_authToken=...`), so no separate auth
mechanism is required.

Additional aliases — or an override for the built-in `gh` alias, for
GitHub Enterprise Server — can be configured under `namedRegistries` in
`pnpm-workspace.yaml`:

  ```yaml
  namedRegistries:
    gh: https://npm.pkg.github.example.com/
    work: https://npm.work.example.com/
  ```

With this, `work:@&#8203;corp/lib@^2.0.0` resolves against
`https://npm.work.example.com/`.
[#&#8203;11324](https://redirect.github.com/pnpm/pnpm/issues/11324).

- Allow setting sbom spec version using `--sbom-spec-version`
[#&#8203;11389](https://redirect.github.com/pnpm/pnpm/pull/11389).

- Add `--no-runtime` flag (config: `runtime=false`) to skip installing
runtime entries (e.g. Node.js downloaded via `devEngines.runtime`)
without modifying the lockfile. The lockfile keeps the runtime entry so
frozen-lockfile validation still passes; only the runtime fetch and
`.bin` linking are skipped. Useful in CI matrices where the runtime is
provisioned externally (e.g. via `pnpm runtime -g set node <version>`)
before `pnpm install` runs.

- Added the `pnpm bugs` command that opens a package's bug tracker URL
in the browser. With no arguments, it reads the current project's
`package.json`; with one or more package names, it fetches each
package's metadata from the registry and opens its bug tracker. Falls
back to `<repository>/issues` when the `bugs` field is missing
[#&#8203;11279](https://redirect.github.com/pnpm/pnpm/pull/11279).

- Added `pnpm owner` command to manage package owners on the registry.

##### Patch Changes

- Added "published X ago by Y" information to the `pnpm view` command
output, similar to `npm view`. This is useful when comparing against
`minimumReleaseAge`.

  For example, `pnpm view pnpm` now shows:

  ```
  published 17 hours ago by GitHub Actions
  ```

- `pnpm publish` now honors the configured HTTP/HTTPS proxy (including
`https_proxy`/`http_proxy`/`no_proxy` environment variables) when
polling the registry's `doneUrl` during the web-based authentication
flow. Previously the poll bypassed the proxy, causing the registry to
respond `403` from a different source IP and the login to never complete
[#&#8203;11561](https://redirect.github.com/pnpm/pnpm/issues/11561).

- `pnpm add -g` now installs each space-separated package into its own
isolated directory by default. To bundle multiple packages into the same
isolated install (so that they share dependencies and are removed
together), pass them as a comma-separated list. For example:

- `pnpm add -g foo bar` installs `foo` and `bar` as two independent
globals — removing one does not affect the other.
- `pnpm add -g foo,bar qar` bundles `foo` and `bar` into a single
isolated install while `qar` is installed on its own.

Related:
[#&#8203;11587](https://redirect.github.com/pnpm/pnpm/issues/11587).

- `pnpm runtime set <name> <version>` no longer fails in the root of a
multi-package workspace with the `ADDING_TO_ROOT` error. Installing the
workspace root is a valid target for a runtime, so the command now
bypasses that safety check.

- Fix `pnpm --version` hanging for the lifetime of the worker pool after
the version was printed. `main.ts`'s `--version` short-circuit returned
before reaching the command-handler `finally` that calls
`finishWorkers()`, so the worker pool that `switchCliVersion` had
spawned during integrity resolution stayed alive and held the Node event
loop open. The CLI entry now runs `finishWorkers()` from its own
`finally`, so every exit path tears the pool down.

Repro: `pnpm --version` in a workspace whose `devEngines.packageManager`
version already matches the running pnpm + `onFail: "download"`.
`switchCliVersion` resolves the integrity (spawning workers), finds
nothing to swap, returns. The version prints, then the process hangs.

###
[`v11.0.9`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1109)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v11.0.8...v11.0.9)

##### Patch Changes

- Fixed installation of GitLab-hosted dependencies. pnpm now downloads
the tarball from
`https://gitlab.com/<user>/<project>/-/archive/<sha>/<project>-<sha>.tar.gz`
instead of the GitLab API endpoint that contained an encoded slash
(`%2F`) between user and project. The encoded slash both triggered `406
Not Acceptable` responses from GitLab and produced virtual store
directory names that Node refused to import
(`ERR_INVALID_MODULE_SPECIFIER`)
[#&#8203;11533](https://redirect.github.com/pnpm/pnpm/issues/11533).
- Honor `NPM_CONFIG_USERCONFIG` (and its lowercase
`npm_config_userconfig` form) as a low-priority fallback when locating
the user-level `.npmrc`. This restores compatibility with environments
that point npm at a custom auth file via that env var — most notably
`actions/setup-node`, which writes registry credentials to
`${runner.temp}/.npmrc` and exports `NPM_CONFIG_USERCONFIG` to reference
it. Without this, GitHub Actions workflows using `actions/setup-node` to
authenticate to private registries broke after upgrading to pnpm v11.
PNPM-prefixed env vars and `npmrcAuthFile` from the global `config.yaml`
continue to take precedence
[#&#8203;11539](https://redirect.github.com/pnpm/pnpm/issues/11539).
- Fix `pnpm pack` not bundling dependencies listed in
`bundleDependencies` (or `bundledDependencies`). The npm-packlist
upgrade in pnpm 11 changed its API to require the caller to pre-populate
the dependency tree, which the wrapper was not doing —
`bundleDependencies` were silently dropped from the tarball
[#&#8203;11519](https://redirect.github.com/pnpm/pnpm/issues/11519).
- Fixed the pnpm CLI crashing with a confusing `SyntaxError: Invalid
regular expression flags` instead of printing a clear "requires Node.js
v22.13" error when launched on an unsupported Node.js version. The
Node.js version check in `bin/pnpm.mjs` was effectively dead code
because the static `import` of the bundled `dist/pnpm.mjs` was hoisted
by the ES module loader and parsed before the check could run
[#&#8203;11546](https://redirect.github.com/pnpm/pnpm/issues/11546).
- Fixed `pnpm --prefix=<dir> install` overwriting the existing
`pnpm-workspace.yaml` in `<dir>` with `set this to true or false`
placeholders. The renamed `--prefix` option (which maps to `dir`) was
not honored when locating the workspace root, so the workspace
manifest's `allowBuilds` settings were not loaded into config and got
clobbered when ignored builds were auto-populated
[#&#8203;11535](https://redirect.github.com/pnpm/pnpm/issues/11535).
- Fixed `pnpm publish --provenance` failing with a 422 from the registry
when the package version contained semver build metadata (e.g.
`1.0.0-canary.0+abc1234`). The `+<build>` segment is now stripped before
packing so that the version embedded in the tarball, the metadata sent
to the registry, and the sigstore provenance subject all agree
[#&#8203;11518](https://redirect.github.com/pnpm/pnpm/issues/11518).

</details>

<details>
<summary>silverwind/rolldown-license-plugin
(rolldown-license-plugin)</summary>

###
[`v3.0.5`](https://redirect.github.com/silverwind/rolldown-license-plugin/releases/tag/3.0.5)

[Compare
Source](https://redirect.github.com/silverwind/rolldown-license-plugin/compare/3.0.4...3.0.5)

- update deps, bump rolldown to 1.0.0 (silverwind)
- Update vitest-config-silverwind to 11.3.3, add Node 26 to CI
(silverwind)
- update deps (silverwind)

</details>

<details>
<summary>swagger-api/swagger-ui (swagger-ui-dist)</summary>

###
[`v5.32.6`](https://redirect.github.com/swagger-api/swagger-ui/releases/tag/v5.32.6)

[Compare
Source](https://redirect.github.com/swagger-api/swagger-ui/compare/v5.32.5...v5.32.6)

##### Bug Fixes

- **deps-dev:** address undici vulnerability
([#&#8203;10870](https://redirect.github.com/swagger-api/swagger-ui/issues/10870))
([35f5a6a](35f5a6a84a))
- **docker:** address CVE-2026-27135 nghttp2-libs vulnerability
([#&#8203;10879](https://redirect.github.com/swagger-api/swagger-ui/issues/10879))
([0a63415](0a63415dfb))

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(typescript-eslint)</summary>

###
[`v8.59.3`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8593-2026-05-11)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.59.2...v8.59.3)

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

See [GitHub
Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3)
for more information.

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

</details>

<details>
<summary>silverwind/updates (updates)</summary>

###
[`v17.16.11`](https://redirect.github.com/silverwind/updates/releases/tag/17.16.11)

[Compare
Source](https://redirect.github.com/silverwind/updates/compare/17.16.10...17.16.11)

- update deps (silverwind)
- Generalize action discovery (silverwind)
- Fix composite-action tests on Windows (silverwind)
- ci: force bun runtime for tsdown on bun jobs (silverwind)
- Discover composite actions anywhere under .github (silverwind)

###
[`v17.16.10`](https://redirect.github.com/silverwind/updates/releases/tag/17.16.10)

[Compare
Source](https://redirect.github.com/silverwind/updates/compare/17.16.9...17.16.10)

- update deps (silverwind)
- Revert "Drop `process.exit()` to let Node shut down naturally
([#&#8203;137](https://redirect.github.com/silverwind/updates/issues/137))"
(silverwind)
- Drop `process.exit()` to let Node shut down naturally
([#&#8203;137](https://redirect.github.com/silverwind/updates/issues/137))
(silverwind)
- Exclude Node 26 on windows-latest (silverwind)
- Update vitest-config-silverwind to 11.3.3, add Node 26 to CI
(silverwind)
- update deps (silverwind)
- Minor perf and simplification cleanups (silverwind)

</details>

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v8.0.12`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8012-2026-05-11-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v8.0.11...v8.0.12)

##### Features

- update rolldown to 1.0.0
([#&#8203;22401](https://redirect.github.com/vitejs/vite/issues/22401))
([cf0ff41](cf0ff4154b))

##### Bug Fixes

- **deps:** update all non-major dependencies
([#&#8203;22420](https://redirect.github.com/vitejs/vite/issues/22420))
([2be6000](2be6000130))
- **module-runner:** prevent partial-exports race on concurrent imports
of in-flight invalidated re-export chains
([#&#8203;22369](https://redirect.github.com/vitejs/vite/issues/22369))
([f5a22e6](f5a22e62ad))
- refer to `rolldownOptions` instead of deprecated `rollupOptions` in
messages
([#&#8203;22400](https://redirect.github.com/vitejs/vite/issues/22400))
([b675c7b](b675c7b669))
- **worker:** apply `build.target` to worker bundle
([#&#8203;22404](https://redirect.github.com/vitejs/vite/issues/22404))
([3c93fde](3c93fde21f))
- **worker:** forward define to worker bundle transform
([#&#8203;22408](https://redirect.github.com/vitejs/vite/issues/22408))
([d4838a0](d4838a0358))

##### Miscellaneous Chores

- **deps:** update dependency eslint-plugin-n to v18
([#&#8203;22423](https://redirect.github.com/vitejs/vite/issues/22423))
([2fe7bd2](2fe7bd2d73))
- **deps:** update rolldown-related dependencies
([#&#8203;22421](https://redirect.github.com/vitejs/vite/issues/22421))
([66b9eb3](66b9eb3518))

###
[`v8.0.11`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8011-2026-05-07-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v8.0.10...v8.0.11)

##### Features

- update rolldown to 1.0.0-rc.18
([#&#8203;22360](https://redirect.github.com/vitejs/vite/issues/22360))
([3f80524](3f80524aa1))

##### Bug Fixes

- **deps:** update all non-major dependencies
([#&#8203;22334](https://redirect.github.com/vitejs/vite/issues/22334))
([672c962](672c96288f))
- **deps:** update all non-major dependencies
([#&#8203;22382](https://redirect.github.com/vitejs/vite/issues/22382))
([5c0cfcb](5c0cfcb83d))
- **glob:** align hmr matcher options with glob enumeration
([#&#8203;22306](https://redirect.github.com/vitejs/vite/issues/22306))
([30028f9](30028f9451))
- make separate object instance for each environment
([#&#8203;22276](https://redirect.github.com/vitejs/vite/issues/22276))
([7c2aa3b](7c2aa3b40b))

##### Documentation

- **create-vite:** list react-compiler templates in README
([#&#8203;22347](https://redirect.github.com/vitejs/vite/issues/22347))
([7c3a61f](7c3a61f42d))
- explain mergeConfig skips null/undefined
([#&#8203;22325](https://redirect.github.com/vitejs/vite/issues/22325))
([2151f70](2151f701dc))
- mention native config loader in CLI options
([#&#8203;22348](https://redirect.github.com/vitejs/vite/issues/22348))
([0420c5d](0420c5d37b))
- update evan's x handle
([640202a](640202a216))

##### Miscellaneous Chores

- **deps:** update dependency tsdown to ^0.21.10
([#&#8203;22333](https://redirect.github.com/vitejs/vite/issues/22333))
([3b51e05](3b51e05021))
- **deps:** update rolldown-related dependencies
([#&#8203;22383](https://redirect.github.com/vitejs/vite/issues/22383))
([555ff36](555ff36de7))
- **deps:** update transitive packages to fix npm audit alerts
([#&#8203;22316](https://redirect.github.com/vitejs/vite/issues/22316))
([86aee62](86aee6268a))

##### Code Refactoring

- devtools integration
([#&#8203;22312](https://redirect.github.com/vitejs/vite/issues/22312))
([3c8bf06](3c8bf064ec))
- remove unnecessary async
([#&#8203;22296](https://redirect.github.com/vitejs/vite/issues/22296))
([b31fd35](b31fd355d9))
- show direct path type in bad character warning
([#&#8203;22339](https://redirect.github.com/vitejs/vite/issues/22339))
([0c162e9](0c162e96a6))

##### Tests

- **create-vite:** use short help alias
([#&#8203;22389](https://redirect.github.com/vitejs/vite/issues/22389))
([994ab66](994ab66bc4))

</details>

<details>
<summary>vitest-dev/vitest (vitest)</summary>

###
[`v4.1.6`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.1.6)

[Compare
Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6)

#####    🐞 Bug Fixes

- **browser**: Provide project reference in
`ToMatchScreenshotResolvePath`  -  by
[@&#8203;macarie](https://redirect.github.com/macarie) and
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[#&#8203;10138](https://redirect.github.com/vitest-dev/vitest/issues/10138)
[<samp>(31882)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/31882607c)
- Global `sequence.concurrent: true` with top-level `test(..., {
concurrent: false })` + depreacte `sequential` test API and options  - 
by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa), **Codex**
and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[#&#8203;10196](https://redirect.github.com/vitest-dev/vitest/issues/10196)
[<samp>(2847d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2847dfa2a)
- **browser**: Simplify orchestrator otel carrier  -  by
[@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in
[#&#8203;10285](https://redirect.github.com/vitest-dev/vitest/issues/10285)
[<samp>(18af9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/18af98cee)

#####    🏎 Performance

- Stringify diff objects only once  -  by
[@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in
[#&#8203;10276](https://redirect.github.com/vitest-dev/vitest/issues/10276)
[<samp>(9f7b1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9f7b1528c)

#####     [View changes on
GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Monday (`* * * * 1`)
- Automerge
  - At any time (no schedule defined)

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

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.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://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuNSIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2026-05-18 05:06:04 +00:00
Lunny Xiao
c3d9d07702 fix: Add missed token scope checking (#37735)
Follow #37698
2026-05-18 04:52:08 +00:00
Lunny Xiao
2d1eb28083 chore: Use giteabot instead of backporter (#37422)
This PR use a backporter wrap action
https://github.com/go-gitea/giteabot to do backport, adding labels and
etc. The test repository https://github.com/go-gitea/test-giteabot could
confirm backporting works.

---------

Signed-off-by: Lunny Xiao <xiaolunwen@gmail.com>
Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Nicolas <bircni@icloud.com>
Co-authored-by: techknowlogick <techknowlogick@gitea.com>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-18 05:46:52 +02:00
Nicolas
9648716f63 fix: Allow direct commits for unprotected files with push restrictions (#37657)
Fixes an issue where users could not commit changes on a file which is
unprotected.

Fixes: #37655
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2026-05-18 00:49:38 +02:00
Nicolas
0dd8429cc6 chore: Conventional adjustments (#37677)
Add enhancement to possible tags

---------

Signed-off-by: Nicolas <bircni@icloud.com>
2026-05-17 20:21:01 +00:00
Copilot
94e3482d1a chore(db): introduce db.Session and db.EngineMigration interfaces (#37746)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: wxiaoguang <2114189+wxiaoguang@users.noreply.github.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-05-18 03:56:39 +08:00
silverwind
d9149d8a0a fix(migrations): preserve unique constraints in v334 sync (#37743)
The truncated `ActionRunner` struct in
`AddCancellingSupportToActionRunner` declares only the new
`HasCancellingSupport` column. When xorm's `SyncWithOptions` compares it
against the live `action_runner` table, every index/constraint absent
from the local struct is a candidate for removal.

Walking [xorm v1.3.11
sync.go:250-266](https://gitea.com/xorm/xorm/src/tag/v1.3.11/sync.go#L250-L266):

- `IndexType` indices skip the drop when `IgnoreIndices ||
IgnoreDropIndices` — already covered.
- `UniqueType` indices skip the drop only when `IgnoreConstrains` —
**not** set in #37275, so the existing `UNIQUE` on `token_hash` (and any
other uniques) would be dropped on upgrade.

Adding `IgnoreConstrains: true` matches v333's pattern and preserves the
existing unique constraints. Spotted by @wxiaoguang in
https://github.com/go-gitea/gitea/pull/37275#discussion_r3254168680.

---
This PR was written with the help of Claude Opus 4.7

Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
Co-authored-by: Nicolas <bircni@icloud.com>
2026-05-17 16:06:32 +00:00
Gary Wang
6c04140137 feat(web): also display PR counts in repo list (#37739)
This is a follow-up PR of https://github.com/go-gitea/gitea/pull/37731

This patch adds PR count in repo list page, following screenshots are
after the patch:

<img width="760" height="450" alt="image"
src="https://github.com/user-attachments/assets/376a06d3-7d1c-43b3-8866-9457d1ab0904"
/>

<img width="782" height="283" alt="image"
src="https://github.com/user-attachments/assets/3e4a7b7e-1f1d-47d2-a89c-bb9b66493559"
/>

Co-authored-by: Nicolas <bircni@icloud.com>
2026-05-17 07:29:18 +00:00
Kalash Thakare ☯︎
e7af84df72 feat: execute post run cleanup when workflow is cancelled (#37275)
## Fixes #36983

## Summary
1. Add transitional `Cancelling` status (between `Running` and
`Cancelled`); cancel flow marks active tasks `Cancelling`, runner
finalizes to `Cancelled` on terminal result.
2. Taskless jobs cancel directly (no runner to finalize).
3. Runner-protocol responses map `Cancelling` → `RESULT_CANCELLED`.
4. Run/job aggregation treats `Cancelling` as active.
5. Status mapping/aggregation tests + en-US locale added.

**Problem**
When a workflow was cancelled from the UI, jobs were marked cancelled
immediately, which could skip post-run cleanup behavior.

## Solution
Use a transitional status path:
Running → Cancelling → Cancelled
This allows runner finalization and cleanup path execution before final
terminal state.

**Testing**

> 1. go test -tags "sqlite sqlite_unlock_notify" ./models/actions -run
"TestAggregateJobStatus|TestStatusAsResult|TestStatusFromResult"
> 2. go run
github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.11.4 run
./models/actions/... ./routers/api/actions/runner/...

## Related
- act_runner: https://gitea.com/gitea/act_runner/pulls/825 —
independent; this PR's capability gate keeps legacy runners on the
immediate-cancel path. The new flow activates only for runners that
advertise the `cancelling` capability.

Co-authored-by: Nicolas <bircni@icloud.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
Co-authored-by: Zettat123 <zettat123@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2026-05-17 08:41:39 +02:00
Zettat123
ae9b34897f fix(actions): wrong assumption that run id always >= job id (#37737)
Fix #37734

Follow up #37008

The `jobNum >= runNum` check is useless. Removed it to support `job_id <
run_id`
2026-05-17 00:02:21 -06:00
Gary Wang
edf0dfd1df fix(icon): use repo-forked icon to display forks count (#37731)
This could avoid confusion about what the icon means. It can be
considered as for Pull Requests count by mistaken if we use that icon.
2026-05-16 12:08:43 -07:00
Lunny Xiao
ae69aec295 fix(oauth): strengthen PKCE validation and refresh token replay protection (#37706)
This PR tightens several OAuth validation paths related to PKCE
handling, redirect URI normalization, and refresh-token replay safety.

What it changes:

- switch redirect URI comparison to ASCII-only normalization for
exact-match checks, avoiding Unicode case-folding surprises
- harden PKCE verification by:
  - allowing PKCE omission only when no challenge data was stored
  - rejecting exchanges with a missing verifier when PKCE was used
- rejecting malformed challenge state where a challenge exists without a
valid method
  - comparing derived challenges with constant-time string matching
- make refresh-token invalidation counter updates conditional on the
previously observed counter value, so stale refresh state cannot be
accepted after the grant changes

Why:

These checks close gaps where:
- redirect URI comparisons could rely on broader Unicode normalization
than intended
- malformed or incomplete PKCE state could be treated too permissively
- concurrent or stale refresh-token use could advance the same grant
more than once

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
Co-authored-by: Nicolas <bircni@icloud.com>
2026-05-16 15:17:00 +00:00
Lunny Xiao
33923a4d7c fix(web): enforce token scopes on raw, media, and attachment downloads (#37698)
This PR tightens token-scope enforcement for non-API download endpoints
in the web layer.

What it changes:

- require `read:repository` for repository content downloads served from
web routes such as:
  - `/raw/...`
  - `/media/...`
- enforce attachment-specific scopes in `ServeAttachment`:
  - issue / pull request attachments require `read:issue`
  - release attachments require `read:repository`
- centralize token-scope checks for web handlers with a shared context
helper
- add matrix-style integration coverage for:
  - public and private repository content downloads
  - `blob`, `branch`, `tag`, and `commit` download routes
  - global and repo-scoped attachment routes
  - `public-only` token behavior on public vs private resources

Why:

API tokens and OAuth access tokens can be used on some non-API web
endpoints. Before this change, those endpoints relied on repository
visibility and unit permissions, but did not consistently enforce the
token’s declared scope. That allowed scoped tokens to access resources
beyond their intended category through web download routes.

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
Co-authored-by: Nicolas <bircni@icloud.com>
2026-05-16 14:50:41 +00:00
Nicolas
eb93981d45 feat: Add bypass allowlist for branch protection (#36514)
- Introduce a “Bypass Protection Allowlist” on branch rules
(users/teams) alongside admins, with BlockAdminMergeOverride
  still respected.
- Surface the allowlist in API (create/edit options, structs) and
settings UI; merge box now shows the red button +
  message for bypass-capable users.
- Apply bypass logic to merge checks and pre-receive so allowlisted
users can override unmet approvals/status checks/
  protected files when force-merging.
- Add migration for new columns, locale strings, and unit tests (bypass
helper; queue test tweak).

<img width="1069" height="218" alt="image"
src="https://github.com/user-attachments/assets/0b61bc2a-a27f-47f3-a923-613688008e65"
/>


Fixes #36476

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Giteabot <teabot@gitea.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Codex GPT-5.3 <codex@openai.com>
Co-authored-by: GPT-5.2 <noreply@openai.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-16 14:23:42 +00:00
Copilot
54ff68b0a9 refactor(glob): use strings.Builder for regexp compilation (#37730)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: wxiaoguang <2114189+wxiaoguang@users.noreply.github.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-05-16 11:10:53 +00:00
Tom T
96e0dc15a3 feat(oauth): Support AWS Cognito OAuth2 provider (#37607)
Using the standard OpenID Connect OAuth2 provider type doesn't work well
for AWS Cognito. Most of the functionality works absolutely fine,
however the query parameter `post_logout_redirect_uri` is not understood
by Cognito and results in a bad experience when logging out.

To combat this i've added a new `AWS Cognito` provider which is almost
identical to the `Open ID Connect` type except it overrides the query
parameter to `logout_uri` which is what Cognito expects.
<img width="647" height="272" alt="image"
src="https://github.com/user-attachments/assets/d4bb30e2-f25e-41a1-91cb-4efa67137c57"
/>

This then results in a nice experience logging out with no errors seen -
even though the logout does succeed. Why AWS thought they would deviate
from the OAuth spec in this particular area is beyond me...

---------

Co-authored-by: Tom Thornton <tom.thornton@sony.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Nicolas <bircni@icloud.com>
2026-05-16 10:41:11 +00:00
Nicolas
34fd3c9f06 feat: Add default PR branch update style setting (#37410)
Adds repository-level settings for pull request branch updates so admins
can choose the default update method and disable merge or rebase
updates.

<img width="1025" height="158"
src="https://github.com/user-attachments/assets/d030973b-0ddd-4035-b04f-145c445084d7"
/>

---------

Co-authored-by: OpenAI Codex (GPT-5) <codex@openai.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-05-16 10:06:40 +00:00
silverwind
16189a68c4 refactor: move workflowpattern into modules/actions (#37717)
`act/workflowpattern` in runner is only consumed by Gitea and dead code
there. Move it to this repo. Use `modules/glob` for glob pattern match.

---------

Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-05-16 09:42:11 +00:00
silverwind
02be228ed6 ci: add zizmor to lint-actions (#37720)
Adds [zizmor](https://docs.zizmor.sh/) to `make lint-actions` with
`--min-confidence=medium`. Fixes the remaining findings:

- Pin floating-tag service images in `pull-db-tests.yml` to
`tag@sha256:digest`
- Move `github.ref` / `github.ref_name` (and surrounding secrets/step
outputs for consistency) out of `run:` into `env:`

---
This PR was written with the help of Claude Opus 4.7

---------

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
Co-authored-by: Nicolas <bircni@icloud.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2026-05-16 10:38:46 +02:00
Copilot
4e837fed97 chore(doctor): remove four obsolete doctor check implementations (#37728)
Removed check names:
- disable-mirror-actions-unit
- check-old-archives
- synchronize-repo-heads
- authorized-keys

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: wxiaoguang <2114189+wxiaoguang@users.noreply.github.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-05-16 07:19:25 +00:00
silverwind
b742fa7d6b chore(renovate): enable dockerfile manager (#37719)
Enables Renovate's `dockerfile` manager so the base images in
`Dockerfile` and `Dockerfile.rootless`
(`docker.io/library/golang:1.26-alpine3.23`,
`docker.io/library/alpine:3.23`) get tracked alongside the other
dependencies. Updates are grouped under "docker dependencies" and follow
the existing weekly schedule.

---
This PR was written with the help of Claude Opus 4.7

Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
Co-authored-by: Nicolas <bircni@icloud.com>
2026-05-16 06:40:05 +00:00
Copilot
3607516ce2 refactor(org): simplify owner-team org repo creation logic (#37727)
This change cleans up org repo-creation authorization by making
owner-team membership sufficient regardless of `can_create_org_repo`,
and removes the now-obsolete doctor fix for owner teams.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: wxiaoguang <2114189+wxiaoguang@users.noreply.github.com>
2026-05-16 14:26:33 +08:00
Lunny Xiao
7e54514316 fix(oauth): bind token exchanges to the original client request (#37704) 2026-05-16 07:03:23 +02:00
pandareen
ef801bb661 fix(auth): set User-Agent on avatar fetch and sync avatar on link-account register (#37564) (#37588)
## Summary

Fixes
[go-gitea/gitea#37564](https://github.com/go-gitea/gitea/issues/37564):
when an OIDC provider returns a `picture` claim, Gitea is supposed to
download that image as the user's avatar (if `[oauth2_client]
UPDATE_AVATAR = true`). Two latent bugs prevented this from working
consistently:

1. **Default Go User-Agent rejected by some image hosts.**
`oauth2UpdateAvatarIfNeed` used `http.Get`, which sends `User-Agent:
Go-http-client/1.1`. Hosts like `upload.wikimedia.org` reject that UA
with `403`, and every error path silently returned, so the user was left
with an identicon and **no log line** to diagnose the issue.
2. **Link-account *register* path skipped avatar sync.** First-time OIDC
sign-ins where auto-registration is disabled (or required a
username/password retype) go through `LinkAccountPostRegister`, which
created the user but never called `oauth2SignInSync`. So the avatar /
full name / SSH keys from the IdP were dropped on the floor for those
users, even though the existing-account-link path (`oauth2LinkAccount`)
and the auto-register path (`handleOAuth2SignIn`) both already did the
sync.

## Changes

- `routers/web/auth/oauth.go` — `oauth2UpdateAvatarIfNeed` now uses
`http.NewRequest` + `http.DefaultClient.Do`, sets `User-Agent: Gitea
<version>`, and logs every failure path at `Warn` (invalid URL, fetch
error, non-200, body read error, oversize body, upload error). No silent
failures.
- `routers/web/auth/linkaccount.go` — `LinkAccountPostRegister` now
calls `oauth2SignInSync` after a successful user creation, mirroring the
auto-register and link-existing-account flows.
- `tests/integration/oauth_avatar_test.go` — new
`TestOAuth2AvatarFromPicture` integration test with five sub-cases:
- `AutoRegister_FetchesAvatarFromPictureWithGiteaUA` — happy path,
asserts `use_custom_avatar=true`, an avatar hash is set, exactly one
HTTP request was made, and the request carried a `Gitea ` UA. The mock
server enforces the UA prefix to mirror real-world hosts that reject
Go's default UA.
- `AutoRegister_NonOK_DoesNotUpdateAvatar` — server returns 403; user's
avatar must remain unset.
- `AutoRegister_EmptyPicture_NoFetch` — empty `picture` claim must not
trigger any HTTP request.
- `AutoRegister_UpdateAvatarFalse_NoFetch` — `UPDATE_AVATAR=false` must
not trigger any HTTP request.
- `LinkAccountRegister_FetchesAvatarFromPicture` — guards the
`linkaccount.go` fix; without the new `oauth2SignInSync` call this
assertion fails.

## Related

- Upstream issue: go-gitea/gitea#37564
--------------------------------------------

AI Editor was used in this PR

---------

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Nicolas <bircni@icloud.com>
2026-05-15 11:22:36 -07:00
wxiaoguang
59db4154eb chore: clean up tests (#37715)
1. use MockVariableValue as much as possible
2. use wg.Go as much as possible instead of Add/Done
3. simplify global lock's DefaultLocker logic to make it easier to test
4. introduce a general approach for getting external service config in
CI
5. remove unclear & unnecessary "t.Skip"
6. use modern generic syntax for remaining "DecodeJSON" calls
7. clarify test result for "list gitignore templates" and "list
licenses"
2026-05-15 16:26:36 +02:00
Zettat123
cf0f25b798 fix(actions): deadlock between PrepareRunAndInsert and UpdateTaskByState (#37692)
Fix #36234

## Bug

Logs show `PrepareRunAndInsert: InsertRun: Error 1213: Deadlock found`,
which `handleWorkflows` silently swallows via `log.Error + continue`, so
the triggered run is dropped.

## Root cause

The path `UpdateRun -> UpdateRepoRunsNumbers` runs the following SQL
inside every status-changing transaction:

```sql
UPDATE repository
SET num_action_runs        = (SELECT count(*) FROM action_run WHERE repo_id = N),
    num_closed_action_runs = (SELECT count(*) FROM action_run WHERE repo_id = N AND status IN (...))
WHERE id = N;
```

On any DB that treats subqueries inside an UPDATE as locking reads, this
statement takes locks in two steps:

1. The outer UPDATE acquires an X lock on `repository[id=N]`
2. The embedded SELECT subqueries are evaluated as locking reads, taking
S locks on every `action_run` row matching `repo_id = N`

Two such concurrent transactions form a cycle via `repository[N]`:

| Tx | Holds | Wants | Blocked by |
|---|---|---|---|
| A: `PrepareRunAndInsert` (push trigger) | X on inserted `action_run`
row R_A; X on `repository[N]` (outer UPDATE already through step 1) | S
on `action_run` rows for repo N (subquery, step 2) | B's X lock on R_B |
| B: `UpdateTaskByState` (runner callback) | X on `action_run` row R_B
(from `UpdateRun`) | X on `repository[N]` (outer UPDATE, step 1) | A's X
lock on `repository[N]` |
| **Cycle** | A waits for R_B; B waits for `repository[N]` | | deadlock
error -> `handleWorkflows` swallows -> run lost |


PostgreSQL's MVCC reads do not take these locks and SQLite serializes
writers, so the symptom only surfaces on MySQL/MSSQL.

## Fix

Split `UpdateRepoRunsNumbers` into small SQLs to avoid locking reads and
move it out of DB transactions.

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Nicolas <bircni@icloud.com>
2026-05-15 08:39:18 +00:00
Lunny Xiao
f9b7b65371 fix(security): enforce wiki git writes and LFS token access at request time (#37695)
This PR fixes two permission-checking gaps in Git and LFS request
handling.

## What it changes

- keep wiki Git HTTP pushes on the normal write-permission path, even
when proc-receive support is enabled
- revalidate LFS bearer token requests against the current user state
and current repository permissions before allowing access
- add regression coverage for unauthorized wiki HTTP pushes
- add LFS tests for blocked users, revoked repository access, read-only
upload attempts, and valid write access

## Why

- wiki repositories should not inherit the relaxed refs/for handling
used for normal code repositories
- LFS authorization tokens should not remain usable after a user is
disabled or loses repository access

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-05-15 08:12:59 +00:00
agyss
5b3575a8be fix(repo): /generate must sync the branch table for the new repo (#37693)
Two bugs in GenerateGitContent, the function behind
`POST /api/v1/repos/{owner}/{template}/generate`:

1. The new repository's refs were not written `branch` DB table
2. The function re-fetched the new repo row from the database
    but reassigned its local pointer

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-05-15 07:24:40 +00:00
Kausthubh J Rao
5c887d68ca feat(api): encrypt AWS creds (#37679)
## Description

As mentioned in #37654 `AWSSecretAccessKey` are not encrypted and stored as is.

## Update

Follow the existing `AuthToken` flow of setting the `Encrypted` fields,
`Decrypting` them later and `Clearing` them at the end.

Closes #37654

---------

Signed-off-by: Kausthubh J Rao <105716675+Exgene@users.noreply.github.com>
Co-authored-by: Lauris B <lauris@nix.lv>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-14 15:46:20 +03:00
GiteaBot
2450127c56 [skip ci] Updated translations via Crowdin 2026-05-14 01:11:01 +00:00
Lunny Xiao
929962833d fix: snap build (main branch) (#37685)
1. make "pull" and "build" testable and debuggable
2. add more comments for how the build works
3. separate 1.26 and main build tags
4. fix incorrect tag describe (the current `snap info gitea` outputs
version 1.22)

Legacy logic is kept as is although some of them don't seem good (e.g.:
snap version grep, tag finding, etc)

---------

Signed-off-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-13 17:31:47 -07:00
wxiaoguang
523822090c chore: introduce HTMLBuilder (#37688) 2026-05-13 17:06:53 +00:00
wxiaoguang
701908a945 chore: clean up "contrib" dir (#37690)
1. remove useless files like "backport.go", "update_dependencies.sh"
2. remove outdated "init" scripts, only keep one in sysvinit, gentoo dir
is also kept because it still uses openrc
3. move "service" related config and scripts into "service" directory
2026-05-13 14:22:47 +00:00
Matt Schoen
a564f0587a feat(api): add sort and order query parameters to job list endpoints (#37672)
Adds `sort` and `order` query parameters to all action job list API
endpoints (`/admin/actions/jobs`, `/repos/{owner}/{repo}/actions/jobs`,
`/repos/{owner}/{repo}/actions/runs/{run}/jobs`, `/user/actions/jobs`),
following the existing `OrderByMap` pattern used by repo/user search
endpoints.

- Default is `id` / `asc` (backwards compatible — matches previous DB
natural order)
- Only `id` sort field for now; the map is extensible for future fields
- Returns 422 for invalid sort/order values
- `ToOrders()` returns empty string when `OrderBy` is unset, so internal
callers (webhook dispatch, concurrency checks) are unaffected

Closes: #37666
Supersedes: #37667
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: silverwind <me@silverwind.io>
2026-05-13 13:11:02 +00:00
Nicolas
187daac598 fix: Sort action run jobs by JobID and Name with matrix examples (#37046)
Fix the sorting of jobs out of a matrix

## Before
<img width="415" height="487" alt="grafik"
src="https://github.com/user-attachments/assets/b628adb9-9158-4106-89f1-d8ecaa98f17d"
/>


## After

<img width="423" height="365" alt="grafik"
src="https://github.com/user-attachments/assets/d26223d5-96da-4bdc-bbfe-389101d28cc8"
/>

---------

Signed-off-by: Nicolas <bircni@icloud.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: silverwind <me@silverwind.io>
2026-05-13 07:30:22 +00:00
wxiaoguang
3738809219 fix: catch and fix more lint problems (#37674)
Changes are done by "make lint-go-fix"
2026-05-13 09:00:41 +02:00
silverwind
ffd5e0698b docs(agents): update AGENTS.md (#37684)
Add two rules to `AGENTS.md` for recurring issues.

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-13 08:27:22 +02:00
silverwind
79f7062d9e fix(actions): run TransferLogs on UpdateLog{Rows:[], NoMore:true} (#37631)
`UpdateLog` short-circuits on `len(Rows)==0` before honoring `NoMore`,
so a final empty `UpdateLog{NoMore:true}` never runs `TransferLogs`. The
task's `dbfs_data` rows are then never moved to log storage and never
deleted.

Fix: let `NoMore=true` with no new rows fall through to `TransferLogs`.
Bail when the runner has outrun the server (`Index > ack`) even with
`NoMore`, since archiving a log with a gap is worse than retrying.
Always call `WriteLogs` so `offset==0` bootstraps an empty DBFS file in
the no-output case (otherwise `TransferLogs` would fail at `dbfs.Open`).

Fixes: https://github.com/go-gitea/gitea/issues/37623
Ref: https://gitea.com/gitea/runner/pulls/952
Ref: https://gitea.com/gitea/runner/pulls/950
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-13 05:18:07 +00:00
GiteaBot
f01953e764 [skip ci] Updated translations via Crowdin 2026-05-13 01:09:44 +00:00
Giteabot
6a27066269 fix(deps): update dependency mermaid to v11.15.0 [security], add e2e test (#37662)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [mermaid](https://redirect.github.com/mermaid-js/mermaid) | [`11.14.0`
→ `11.15.0`](https://renovatebot.com/diffs/npm/mermaid/11.14.0/11.15.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/mermaid/11.15.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mermaid/11.14.0/11.15.0?slim=true)
|

---

### Mermaid: Improper sanitization of `classDefs` in diagrams leads to
CSS injection
[CVE-2026-41148](https://nvd.nist.gov/vuln/detail/CVE-2026-41148) /
[GHSA-xcj9-5m2h-648r](https://redirect.github.com/advisories/GHSA-xcj9-5m2h-648r)

<details>
<summary>More information</summary>

#### Details
##### Details

The state diagram and any other diagram type that routes user-controlled
style strings through createCssStyles parser for Mermaid v11.14.0 and
earlier captures `classDef` values with an unrestricted regex:

```jison
// packages/mermaid/src/diagrams/state/parser/stateDiagram.jison:83
<CLASSDEFID>[^\n]*   { this.popState(); return 'CLASSDEF_STYLEOPTS' }
```

The value passes unsanitized through `addStyleClass()` ->
`createCssStyles()` -> `style.innerHTML` (mermaidAPI.ts:418). A `}` in
the value closes the generated CSS selector, and everything after
becomes a new CSS rule on the page.

##### PoC

```
stateDiagram-v2 
      classDef x }*{ background-image: url("http://media.giphy.com/media/SggILpMXO7Xt6/giphy.gif")}
```

Live demo:

<https://mermaid.live/edit#pako:eNpFjzFvgzAQhf-KdVNbEcBgMHhtlkqtOnSJKi8ONsYKBmRMlRTx3-skanvTfbp7996t0IxSAYPZC6_2Rmgn7O4rQ00v5nmvWnRG29OKjqI5aTcug9wZK7RiaHH9A4fO-4kliVXSiFibqbvEzWjvnHxo_fI6vR3e6cGXyX2qTcvhcYMItDMSmHeLisAqZ8UVYeUDQhx8p6ziwEIrhTtx4MNVM4nhcxztrywE0h2wVvRzoGWS_z_8rahBKvcckntgmN5OAFvhDIzUNCZZQXCR5nVaZkUEF2BVFpOcEkoxxhUuyRbB980yjStapKHqoKFlhvPtB7BFZEU>

##### Patches

This has been patched in:

-
[v11.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
(see
[e9b0f34d8d82a6260077764ee45e1d7d90957a0f](e9b0f34d8d))
-
[v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
(see
[8fead23c59166b7bab6a39eac81acebee2859102](8fead23c59))

##### Workarounds

Setting [`"securityLevel":
"sandbox"`](https://mermaid.js.org/config/schema-docs/config.html#securitylevel)
will prevent this, by rendering the mermaid diagram in a sandboxed
`<iframe>`.

##### Impact

Enables page defacement, user tracking via `url()` callbacks, and DOM
attribute exfiltration via CSS `:has()` selectors.

#### Severity
- CVSS Score: 5.3 / 10 (Medium)
- Vector String:
`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:L`

#### References
-
[https://github.com/mermaid-js/mermaid/security/advisories/GHSA-xcj9-5m2h-648r](https://redirect.github.com/mermaid-js/mermaid/security/advisories/GHSA-xcj9-5m2h-648r)
-
[8fead23c59)
-
[e9b0f34d8d)
-
[https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
-
[https://github.com/mermaid-js/mermaid/releases/tag/v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
-
[https://mermaid.js.org/config/schema-docs/config.html#securitylevel](https://mermaid.js.org/config/schema-docs/config.html#securitylevel)
-
[https://github.com/advisories/GHSA-xcj9-5m2h-648r](https://redirect.github.com/advisories/GHSA-xcj9-5m2h-648r)

This data is provided by the [GitHub Advisory
Database](https://redirect.github.com/advisories/GHSA-xcj9-5m2h-648r)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Mermaid: Improper sanitization of `classDef` in state diagrams leads
to HTML injection
[CVE-2026-41149](https://nvd.nist.gov/vuln/detail/CVE-2026-41149) /
[GHSA-ghcm-xqfw-q4vr](https://redirect.github.com/advisories/GHSA-ghcm-xqfw-q4vr)

<details>
<summary>More information</summary>

#### Details
##### Impact

Under the default configuration, Mermaid state diagram's `classDef`
allow DOM injection that escapes the SVG, although `<script>` tags are
removed, preventing XSS.

##### Proof-of-concept

```
stateDiagram-v2
  classDef xss fill:red</style></svg><style>*{x:x;y:y;overflow:visible!important;contain:none!important;transform:none!important;filter:none!important;clip-path:none!important}</style><div style="x:x;y:y;color:red;font:5em/1 monospace;display:grid;place-items:center;z-index:2147483647;width:100vw;height:100vh;position:fixed;top:0;left:0;background:black">HACKED</div><svg><style>a:b
  [*] --> A:::xss
```

##### Patches

-
[v11.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
(see
[37ff937f1da2e19f882fd1db01235db4d01f4056](37ff937f1d))
-
[v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
(see
[4e2d512bf5bf6f9de1a8f0a48da78dc4d09ac4f3](4e2d512bf5))

##### Workarounds

If you can not update to a patched version, setting [`"securityLevel":
"sandbox"`](https://mermaid.js.org/config/schema-docs/config.html#securitylevel)
will prevent this, by rendering the mermaid diagram in a sandboxed
`<iframe>`.

##### Credits

Thanks to @&#8203;zsxsoft from @&#8203;KeenSecurityLab for reporting
this vulnerability.

#### Severity
- CVSS Score: 5.3 / 10 (Medium)
- Vector String:
`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:L`

#### References
-
[https://github.com/mermaid-js/mermaid/security/advisories/GHSA-ghcm-xqfw-q4vr](https://redirect.github.com/mermaid-js/mermaid/security/advisories/GHSA-ghcm-xqfw-q4vr)
-
[37ff937f1d)
-
[4e2d512bf5)
-
[https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
-
[https://github.com/mermaid-js/mermaid/releases/tag/v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
-
[https://mermaid.js.org/config/schema-docs/config.html#securitylevel](https://mermaid.js.org/config/schema-docs/config.html#securitylevel)
-
[https://github.com/advisories/GHSA-ghcm-xqfw-q4vr](https://redirect.github.com/advisories/GHSA-ghcm-xqfw-q4vr)

This data is provided by the [GitHub Advisory
Database](https://redirect.github.com/advisories/GHSA-ghcm-xqfw-q4vr)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Mermaid: Improper sanitization of configuration leads to CSS
injection
[CVE-2026-41159](https://nvd.nist.gov/vuln/detail/CVE-2026-41159) /
[GHSA-87f9-hvmw-gh4p](https://redirect.github.com/advisories/GHSA-87f9-hvmw-gh4p)

<details>
<summary>More information</summary>

#### Details
##### Impact

Mermaid's default configuration allows injecting CSS that applies
outside of the Mermaid diagram via the `fontFamily`, `themeCSS`, and
`altFontFamily` configuration options.

Live demo:
[mermaid.live](https://mermaid.live/edit#pako:eNpNjktLxDAUhf9KvFBR6JS-60QQfODKlUvJ5k6TtsEmKTHFGUP-u-mI6Nmdy3fOPR56wwVQSBIvtXSUeAaD0e4ZlZxPDChhcLxFfwiEauOuLq_9Afv30ZpVczpaITS5kGox1qF2gfSeBwYhJAnThAyz-ewntI68vG5-0z3Z7e7IA9OQwmglB-rsKlJQwircLPgNZeAmocTPAi4GXGfHgOkQYwvqN2PUbzJuGSegA84f0a0LRyeeJI4W_xChubCPcbQD2pwbgHo4Aq2aKmvbqq3zoiu7pizqFE6RybN9VFfFY1HWXRVS-Dr_zLObrt7_V_gGGXZlGg)

Example code:

```
%%{init: {"fontFamily": "x;a{b} :not(&){background:green !important} c{d}"}}%%
flowchart LR
    A --> B
```

The injected CSS exploits stylis's `&` (scope reference) handling.
`:not(&)` escapes the `#mermaid-xxx` automatic scoping, applying styles
to all page elements. Global at-rules (`@font-face`, `@keyframes`,
`@counter-style`) are also injectable as stylis hoists them to top
level.

This allows page defacement and DOM attribute exfiltration via CSS
`:has()` selectors.

##### Patches

-
[v11.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
(see
[64769738d5b59211e1decb471ffbaca8afec51aa](64769738d5))
-
[v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
(see
[a9d9f0d8eb790349121508688cd338253fd80d76](a9d9f0d8eb))

##### Workarounds

If you can't upgrade mermaid, you can set the
[`secure`](https://mermaid.js.org/config/schema-docs/config.html#secure)
config value in the mermaid config to avoid allowing diagrams to modify
`fontFamily`, `themeCSS`, `altFontFamily`, and `themeVariables`.

Setting [`"securityLevel":
"sandbox"`](https://mermaid.js.org/config/schema-docs/config.html#securitylevel)
will also prevent this.

##### Credits

Reported by @&#8203;zsxsoft on behalf of @&#8203;KeenSecurityLab

#### Severity
- CVSS Score: 5.3 / 10 (Medium)
- Vector String:
`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:L`

#### References
-
[https://github.com/mermaid-js/mermaid/security/advisories/GHSA-87f9-hvmw-gh4p](https://redirect.github.com/mermaid-js/mermaid/security/advisories/GHSA-87f9-hvmw-gh4p)
-
[64769738d5)
-
[a9d9f0d8eb)
-
[https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
-
[https://github.com/mermaid-js/mermaid/releases/tag/v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
-
[https://github.com/advisories/GHSA-87f9-hvmw-gh4p](https://redirect.github.com/advisories/GHSA-87f9-hvmw-gh4p)

This data is provided by the [GitHub Advisory
Database](https://redirect.github.com/advisories/GHSA-87f9-hvmw-gh4p)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Mermaid Gantt Charts are vulnerable to an Infinite Loop DoS
[CVE-2026-41150](https://nvd.nist.gov/vuln/detail/CVE-2026-41150) /
[GHSA-6m6c-36f7-fhxh](https://redirect.github.com/advisories/GHSA-6m6c-36f7-fhxh)

<details>
<summary>More information</summary>

#### Details
##### Impact

Mermaid v11.14.0 and earlier are vulnerable to a denial-of-service
attack when rendering gantt charts, if they use the [`excludes`
attribute](https://mermaid.js.org/syntax/gantt.html?#excludes) to
exclude all dates.

Example:

```
gantt
  excludes monday,tuesday,wednesday,thursday,friday,saturday,sunday
  DoS :2025-01-01, 1d
```

`mermaid.parse` is unaffected, unless you then call the
`ganttDb.getTasks()` (which is called when rendering a diagram).

##### Patches

This has been patched in:

-
[v11.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
(see
[faafb5d49106dd32c367f3882505f2dd625aa30e](faafb5d491))
-
[v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
(see
[a59ea56174712ee5430dfd5bc877cb5151f501a6](a59ea56174))

##### Workarounds

There are no workarounds available without updating to a newer version
of mermaid.

#### Severity
- CVSS Score: 5.3 / 10 (Medium)
- Vector String:
`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L`

#### References
-
[https://github.com/mermaid-js/mermaid/security/advisories/GHSA-6m6c-36f7-fhxh](https://redirect.github.com/mermaid-js/mermaid/security/advisories/GHSA-6m6c-36f7-fhxh)
-
[a59ea56174)
-
[faafb5d491)
-
[https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
-
[https://github.com/mermaid-js/mermaid/releases/tag/v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
-
[https://github.com/advisories/GHSA-6m6c-36f7-fhxh](https://redirect.github.com/advisories/GHSA-6m6c-36f7-fhxh)

This data is provided by the [GitHub Advisory
Database](https://redirect.github.com/advisories/GHSA-6m6c-36f7-fhxh)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Mermaid Gantt Charts are vulnerable to an Infinite Loop DoS
[CVE-2026-41150](https://nvd.nist.gov/vuln/detail/CVE-2026-41150) /
[GHSA-6m6c-36f7-fhxh](https://redirect.github.com/advisories/GHSA-6m6c-36f7-fhxh)

<details>
<summary>More information</summary>

#### Details
##### Impact

Mermaid v11.14.0 and earlier are vulnerable to a denial-of-service
attack when rendering gantt charts, if they use the [`excludes`
attribute](https://mermaid.js.org/syntax/gantt.html?#excludes) to
exclude all dates.

Example:

```
gantt
  excludes monday,tuesday,wednesday,thursday,friday,saturday,sunday
  DoS :2025-01-01, 1d
```

`mermaid.parse` is unaffected, unless you then call the
`ganttDb.getTasks()` (which is called when rendering a diagram).

##### Patches

This has been patched in:

-
[v11.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
(see
[faafb5d49106dd32c367f3882505f2dd625aa30e](faafb5d491))
-
[v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
(see
[a59ea56174712ee5430dfd5bc877cb5151f501a6](a59ea56174))

##### Workarounds

There are no workarounds available without updating to a newer version
of mermaid.

#### Severity
- CVSS Score: 5.3 / 10 (Medium)
- Vector String:
`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L`

#### References
-
[https://github.com/mermaid-js/mermaid/security/advisories/GHSA-6m6c-36f7-fhxh](https://redirect.github.com/mermaid-js/mermaid/security/advisories/GHSA-6m6c-36f7-fhxh)
-
[a59ea56174)
-
[faafb5d491)
-
[https://github.com/mermaid-js/mermaid](https://redirect.github.com/mermaid-js/mermaid)
-
[https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
-
[https://github.com/mermaid-js/mermaid/releases/tag/v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)

This data is provided by
[OSV](https://osv.dev/vulnerability/GHSA-6m6c-36f7-fhxh) and the [GitHub
Advisory Database](https://redirect.github.com/github/advisory-database)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Mermaid: Improper sanitization of configuration leads to CSS
injection
[CVE-2026-41159](https://nvd.nist.gov/vuln/detail/CVE-2026-41159) /
[GHSA-87f9-hvmw-gh4p](https://redirect.github.com/advisories/GHSA-87f9-hvmw-gh4p)

<details>
<summary>More information</summary>

#### Details
##### Impact

Mermaid's default configuration allows injecting CSS that applies
outside of the Mermaid diagram via the `fontFamily`, `themeCSS`, and
`altFontFamily` configuration options.

Live demo:
[mermaid.live](https://mermaid.live/edit#pako:eNpNjktLxDAUhf9KvFBR6JS-60QQfODKlUvJ5k6TtsEmKTHFGUP-u-mI6Nmdy3fOPR56wwVQSBIvtXSUeAaD0e4ZlZxPDChhcLxFfwiEauOuLq_9Afv30ZpVczpaITS5kGox1qF2gfSeBwYhJAnThAyz-ewntI68vG5-0z3Z7e7IA9OQwmglB-rsKlJQwircLPgNZeAmocTPAi4GXGfHgOkQYwvqN2PUbzJuGSegA84f0a0LRyeeJI4W_xChubCPcbQD2pwbgHo4Aq2aKmvbqq3zoiu7pizqFE6RybN9VFfFY1HWXRVS-Dr_zLObrt7_V_gGGXZlGg)

Example code:

```
%%{init: {"fontFamily": "x;a{b} :not(&){background:green !important} c{d}"}}%%
flowchart LR
    A --> B
```

The injected CSS exploits stylis's `&` (scope reference) handling.
`:not(&)` escapes the `#mermaid-xxx` automatic scoping, applying styles
to all page elements. Global at-rules (`@font-face`, `@keyframes`,
`@counter-style`) are also injectable as stylis hoists them to top
level.

This allows page defacement and DOM attribute exfiltration via CSS
`:has()` selectors.

##### Patches

-
[v11.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
(see
[64769738d5b59211e1decb471ffbaca8afec51aa](64769738d5))
-
[v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
(see
[a9d9f0d8eb790349121508688cd338253fd80d76](a9d9f0d8eb))

##### Workarounds

If you can't upgrade mermaid, you can set the
[`secure`](https://mermaid.js.org/config/schema-docs/config.html#secure)
config value in the mermaid config to avoid allowing diagrams to modify
`fontFamily`, `themeCSS`, `altFontFamily`, and `themeVariables`.

Setting [`"securityLevel":
"sandbox"`](https://mermaid.js.org/config/schema-docs/config.html#securitylevel)
will also prevent this.

##### Credits

Reported by @&#8203;zsxsoft on behalf of @&#8203;KeenSecurityLab

#### Severity
- CVSS Score: 5.3 / 10 (Medium)
- Vector String:
`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:L`

#### References
-
[https://github.com/mermaid-js/mermaid/security/advisories/GHSA-87f9-hvmw-gh4p](https://redirect.github.com/mermaid-js/mermaid/security/advisories/GHSA-87f9-hvmw-gh4p)
-
[64769738d5)
-
[a9d9f0d8eb)
-
[https://github.com/mermaid-js/mermaid](https://redirect.github.com/mermaid-js/mermaid)
-
[https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
-
[https://github.com/mermaid-js/mermaid/releases/tag/v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)

This data is provided by
[OSV](https://osv.dev/vulnerability/GHSA-87f9-hvmw-gh4p) and the [GitHub
Advisory Database](https://redirect.github.com/github/advisory-database)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Mermaid: Improper sanitization of `classDef` in state diagrams leads
to HTML injection
[CVE-2026-41149](https://nvd.nist.gov/vuln/detail/CVE-2026-41149) /
[GHSA-ghcm-xqfw-q4vr](https://redirect.github.com/advisories/GHSA-ghcm-xqfw-q4vr)

<details>
<summary>More information</summary>

#### Details
##### Impact

Under the default configuration, Mermaid state diagram's `classDef`
allow DOM injection that escapes the SVG, although `<script>` tags are
removed, preventing XSS.

##### Proof-of-concept

```
stateDiagram-v2
  classDef xss fill:red</style></svg><style>*{x:x;y:y;overflow:visible!important;contain:none!important;transform:none!important;filter:none!important;clip-path:none!important}</style><div style="x:x;y:y;color:red;font:5em/1 monospace;display:grid;place-items:center;z-index:2147483647;width:100vw;height:100vh;position:fixed;top:0;left:0;background:black">HACKED</div><svg><style>a:b
  [*] --> A:::xss
```

##### Patches

-
[v11.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
(see
[37ff937f1da2e19f882fd1db01235db4d01f4056](37ff937f1d))
-
[v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
(see
[4e2d512bf5bf6f9de1a8f0a48da78dc4d09ac4f3](4e2d512bf5))

##### Workarounds

If you can not update to a patched version, setting [`"securityLevel":
"sandbox"`](https://mermaid.js.org/config/schema-docs/config.html#securitylevel)
will prevent this, by rendering the mermaid diagram in a sandboxed
`<iframe>`.

##### Credits

Thanks to @&#8203;zsxsoft from @&#8203;KeenSecurityLab for reporting
this vulnerability.

#### Severity
- CVSS Score: 5.3 / 10 (Medium)
- Vector String:
`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:L`

#### References
-
[https://github.com/mermaid-js/mermaid/security/advisories/GHSA-ghcm-xqfw-q4vr](https://redirect.github.com/mermaid-js/mermaid/security/advisories/GHSA-ghcm-xqfw-q4vr)
-
[37ff937f1d)
-
[4e2d512bf5)
-
[https://github.com/mermaid-js/mermaid](https://redirect.github.com/mermaid-js/mermaid)
-
[https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
-
[https://github.com/mermaid-js/mermaid/releases/tag/v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
-
[https://mermaid.js.org/config/schema-docs/config.html#securitylevel](https://mermaid.js.org/config/schema-docs/config.html#securitylevel)

This data is provided by
[OSV](https://osv.dev/vulnerability/GHSA-ghcm-xqfw-q4vr) and the [GitHub
Advisory Database](https://redirect.github.com/github/advisory-database)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Mermaid: Improper sanitization of `classDefs` in diagrams leads to
CSS injection
[CVE-2026-41148](https://nvd.nist.gov/vuln/detail/CVE-2026-41148) /
[GHSA-xcj9-5m2h-648r](https://redirect.github.com/advisories/GHSA-xcj9-5m2h-648r)

<details>
<summary>More information</summary>

#### Details
##### Details

The state diagram and any other diagram type that routes user-controlled
style strings through createCssStyles parser for Mermaid v11.14.0 and
earlier captures `classDef` values with an unrestricted regex:

```jison
// packages/mermaid/src/diagrams/state/parser/stateDiagram.jison:83
<CLASSDEFID>[^\n]*   { this.popState(); return 'CLASSDEF_STYLEOPTS' }
```

The value passes unsanitized through `addStyleClass()` ->
`createCssStyles()` -> `style.innerHTML` (mermaidAPI.ts:418). A `}` in
the value closes the generated CSS selector, and everything after
becomes a new CSS rule on the page.

##### PoC

```
stateDiagram-v2 
      classDef x }*{ background-image: url("http://media.giphy.com/media/SggILpMXO7Xt6/giphy.gif")}
```

Live demo:

<https://mermaid.live/edit#pako:eNpFjzFvgzAQhf-KdVNbEcBgMHhtlkqtOnSJKi8ONsYKBmRMlRTx3-skanvTfbp7996t0IxSAYPZC6_2Rmgn7O4rQ00v5nmvWnRG29OKjqI5aTcug9wZK7RiaHH9A4fO-4kliVXSiFibqbvEzWjvnHxo_fI6vR3e6cGXyX2qTcvhcYMItDMSmHeLisAqZ8UVYeUDQhx8p6ziwEIrhTtx4MNVM4nhcxztrywE0h2wVvRzoGWS_z_8rahBKvcckntgmN5OAFvhDIzUNCZZQXCR5nVaZkUEF2BVFpOcEkoxxhUuyRbB980yjStapKHqoKFlhvPtB7BFZEU>

##### Patches

This has been patched in:

-
[v11.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
(see
[e9b0f34d8d82a6260077764ee45e1d7d90957a0f](e9b0f34d8d))
-
[v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
(see
[8fead23c59166b7bab6a39eac81acebee2859102](8fead23c59))

##### Workarounds

Setting [`"securityLevel":
"sandbox"`](https://mermaid.js.org/config/schema-docs/config.html#securitylevel)
will prevent this, by rendering the mermaid diagram in a sandboxed
`<iframe>`.

##### Impact

Enables page defacement, user tracking via `url()` callbacks, and DOM
attribute exfiltration via CSS `:has()` selectors.

#### Severity
- CVSS Score: 5.3 / 10 (Medium)
- Vector String:
`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:L`

#### References
-
[https://github.com/mermaid-js/mermaid/security/advisories/GHSA-xcj9-5m2h-648r](https://redirect.github.com/mermaid-js/mermaid/security/advisories/GHSA-xcj9-5m2h-648r)
-
[8fead23c59)
-
[e9b0f34d8d)
-
[https://github.com/mermaid-js/mermaid](https://redirect.github.com/mermaid-js/mermaid)
-
[https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)
-
[https://github.com/mermaid-js/mermaid/releases/tag/v10.9.6](https://redirect.github.com/mermaid-js/mermaid/releases/tag/v10.9.6)
-
[https://mermaid.js.org/config/schema-docs/config.html#securitylevel](https://mermaid.js.org/config/schema-docs/config.html#securitylevel)

This data is provided by
[OSV](https://osv.dev/vulnerability/GHSA-xcj9-5m2h-648r) and the [GitHub
Advisory Database](https://redirect.github.com/github/advisory-database)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Release Notes

<details>
<summary>mermaid-js/mermaid (mermaid)</summary>

###
[`v11.15.0`](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0)

[Compare
Source](https://redirect.github.com/mermaid-js/mermaid/compare/mermaid@11.14.0...mermaid@11.15.0)

##### Minor Changes

-
[#&#8203;7174](https://redirect.github.com/mermaid-js/mermaid/pull/7174)
[`0aca217`](0aca21739c)
Thanks
[@&#8203;milesspencer35](https://redirect.github.com/milesspencer35)! -
feat(sequence): Add support for decimal start and increment values in
the `autonumber` directive

-
[#&#8203;7512](https://redirect.github.com/mermaid-js/mermaid/pull/7512)
[`8e17492`](8e17492f73)
Thanks [@&#8203;aruncveli](https://redirect.github.com/aruncveli)! -
feat(flowchart): add datastore shape

In Data flow diagrams, a datastore/warehouse/file/database is used to
represent data persistence. It is denoted by a rectangle with only top
and bottom borders, and can be used in flowcharts with `A@{ shape:
datastore, label: "Datastore" }`.

-
[#&#8203;6440](https://redirect.github.com/mermaid-js/mermaid/pull/6440)
[`9ad8dde`](9ad8dde6d0)
Thanks [@&#8203;yordis](https://redirect.github.com/yordis),
[@&#8203;lgazo](https://redirect.github.com/lgazo)! - feat: add Event
Modeling diagram

-
[#&#8203;7707](https://redirect.github.com/mermaid-js/mermaid/pull/7707)
[`27db774`](27db774627)
Thanks [@&#8203;txmxthy](https://redirect.github.com/txmxthy)! -
feat(architecture): expose four fcose layout knobs for
`architecture-beta` diagrams (`nodeSeparation`,
`idealEdgeLengthMultiplier`, `edgeElasticity`, `numIter`) so authors can
tune layout density and spread overlapping siblings without changing
diagram source

-
[#&#8203;7604](https://redirect.github.com/mermaid-js/mermaid/pull/7604)
[`bf9502f`](bf9502fb60)
Thanks [@&#8203;M-a-c](https://redirect.github.com/M-a-c)! -
feat(class): add nested namespace support for class diagrams via dot
notation and syntactic nesting

If you have namespaces in class diagrams that use `.`s already and want
to render them without nesting (≤v11.14.0 behaviour), you can use set
`class.hierarchicalNamespaces=false` in your mermaid config:

  ```yaml
  config:
    class:
      hierarchicalNamespaces: false
  ```

-
[#&#8203;7272](https://redirect.github.com/mermaid-js/mermaid/pull/7272)
[`88cdd3d`](88cdd3dc0a)
Thanks [@&#8203;xinbenlv](https://redirect.github.com/xinbenlv)! -
feat(sankey): add outlined label style, configurable
nodeWidth/nodePadding, and custom node colors

##### Patch Changes

-
[#&#8203;7737](https://redirect.github.com/mermaid-js/mermaid/pull/7737)
[`e9b0f34`](e9b0f34d8d)
Thanks
[@&#8203;ashishjain0512](https://redirect.github.com/ashishjain0512)! -
fix: prevent unbalanced CSS styles in classDefs

-
[#&#8203;7737](https://redirect.github.com/mermaid-js/mermaid/pull/7737)
[`37ff937`](37ff937f1d)
Thanks
[@&#8203;ashishjain0512](https://redirect.github.com/ashishjain0512)! -
fix: create CSS styles using the CSSOM

  This removes some invalid CSS and normalizes some CSS formatting.

-
[#&#8203;7508](https://redirect.github.com/mermaid-js/mermaid/pull/7508)
[`bfe60cc`](bfe60cc67b)
Thanks [@&#8203;biiab](https://redirect.github.com/biiab)! -
fix(stateDiagram): `end note` now only closes a note when used on a new
line

-
[#&#8203;7737](https://redirect.github.com/mermaid-js/mermaid/pull/7737)
[`faafb5d`](faafb5d491)
Thanks
[@&#8203;ashishjain0512](https://redirect.github.com/ashishjain0512)! -
fix(gantt): add iteration limit for `excludes` field

-
[#&#8203;7737](https://redirect.github.com/mermaid-js/mermaid/pull/7737)
[`65f8be2`](65f8be2a42)
Thanks
[@&#8203;ashishjain0512](https://redirect.github.com/ashishjain0512)! -
fix: disallow some CSS at-rules in custom CSS

-
[#&#8203;7726](https://redirect.github.com/mermaid-js/mermaid/pull/7726)
[`1502f32`](1502f32f3c)
Thanks [@&#8203;aloisklink](https://redirect.github.com/aloisklink)! -
fix(wardley): fix unnecessary sanitization of text

-
[#&#8203;7578](https://redirect.github.com/mermaid-js/mermaid/pull/7578)
[`1f98db8`](1f98db8e32)
Thanks [@&#8203;Gaston202](https://redirect.github.com/Gaston202)! -
fix(class): self-referential class multiplicity labels no longer
rendered multiple times

Fixes
[#&#8203;7560](https://redirect.github.com/mermaid-js/mermaid/issues/7560).
Resolves an issue where cardinality labels on self-referential class
relationships were rendered three times due to edge splitting in the
dagre layout. The fix ensures that each sub-edge only carries its
relevant label positions.

-
[#&#8203;7592](https://redirect.github.com/mermaid-js/mermaid/pull/7592)
[`2343e38`](2343e38498)
Thanks [@&#8203;knsv-bot](https://redirect.github.com/knsv-bot)! -
fix(sequence): add background box behind alt/else section title labels
in sequence diagrams

-
[#&#8203;7589](https://redirect.github.com/mermaid-js/mermaid/pull/7589)
[`7fb9509`](7fb9509b8b)
Thanks [@&#8203;NYCU-Chung](https://redirect.github.com/NYCU-Chung)! -
fix(block): prevent column widths from shrinking when mixing different
column spans

-
[#&#8203;7632](https://redirect.github.com/mermaid-js/mermaid/pull/7632)
[`3f9e0f1`](3f9e0f15be)
Thanks [@&#8203;ekiauhce](https://redirect.github.com/ekiauhce)! -
fix(sequence): correct messageAlign label position for right-to-left
arrows in sequence diagrams

-
[#&#8203;7642](https://redirect.github.com/mermaid-js/mermaid/pull/7642)
[`7a8fb85`](7a8fb8532c)
Thanks [@&#8203;tractorjuice](https://redirect.github.com/tractorjuice)!
- fix(wardley): allow hyphens in unquoted component names

Multi-word names containing hyphens — e.g. `real-time processing`,
`end-user`, `on-call engineer` — now parse without quoting, bringing the
grammar in line with the OnlineWardleyMaps (OWM) convention. `A->B`
(no-space arrow) still tokenises correctly.

-
[#&#8203;7523](https://redirect.github.com/mermaid-js/mermaid/pull/7523)
[`5144ed4`](5144ed4b13)
Thanks [@&#8203;darshanr0107](https://redirect.github.com/darshanr0107)!
- fix(block): Arrow blocks in block-beta diagrams not spanning the
specified number of columns when using `:n` syntax.

-
[#&#8203;7262](https://redirect.github.com/mermaid-js/mermaid/pull/7262)
[`13d9bfa`](13d9bfa474)
Thanks [@&#8203;darshanr0107](https://redirect.github.com/darshanr0107)!
- fix(block): Ensure block diagram hexagon blocks respect column
spanning syntax

-
[#&#8203;7684](https://redirect.github.com/mermaid-js/mermaid/pull/7684)
[`e14bb88`](e14bb88bdb)
Thanks [@&#8203;aloisklink](https://redirect.github.com/aloisklink)! -
fix: loosen `uuid` dependency range to allow v14

  Mermaid does not use any of the vulnerable code in CVE-2026-41907,
  but this allows users to silence any `npm audit` alerts on it.

-
[#&#8203;7633](https://redirect.github.com/mermaid-js/mermaid/pull/7633)
[`9217c0d`](9217c0d8b2)
Thanks [@&#8203;Felix-Garci](https://redirect.github.com/Felix-Garci)! -
fix(block): add support for all arrow types in block diagrams

-
[#&#8203;7587](https://redirect.github.com/mermaid-js/mermaid/pull/7587)
[`5e7eb62`](5e7eb62e3a)
Thanks
[@&#8203;MaddyGuthridge](https://redirect.github.com/MaddyGuthridge)! -
chore: drop lodash-es in favour of es-toolkit

-
[#&#8203;7693](https://redirect.github.com/mermaid-js/mermaid/pull/7693)
[`afaf306`](afaf306238)
Thanks [@&#8203;dull-bird](https://redirect.github.com/dull-bird)! -
fix(quadrant-chart): allow CJK, emoji, Latin-1 accented characters, and
other non-ASCII text in unquoted axis/quadrant/point labels.

Previously the lexer only matched ASCII `[A-Za-z]+` for text tokens,
even though the grammar referenced `UNICODE_TEXT`. Bare Chinese,
Japanese, Korean, emoji, and accented Latin characters in labels caused
a parse error. Added a `[^\x00-\x7F]+` lexer rule to emit `UNICODE_TEXT`
and included it in the `alphaNumToken` grammar rule.

Fixes
[#&#8203;7120](https://redirect.github.com/mermaid-js/mermaid/issues/7120).

-
[#&#8203;7737](https://redirect.github.com/mermaid-js/mermaid/pull/7737)
[`4755553`](4755553d5f)
Thanks
[@&#8203;ashishjain0512](https://redirect.github.com/ashishjain0512)! -
fix: improve D3 types for mermaidAPI funcs

-
[#&#8203;7737](https://redirect.github.com/mermaid-js/mermaid/pull/7737)
[`6476973`](64769738d5)
Thanks
[@&#8203;ashishjain0512](https://redirect.github.com/ashishjain0512)! -
fix: handle `&` when namespacing CSS rules

-
[#&#8203;7520](https://redirect.github.com/mermaid-js/mermaid/pull/7520)
[`8c1a0c1`](8c1a0c1fd1)
Thanks
[@&#8203;RodrigojndSantos](https://redirect.github.com/RodrigojndSantos)!
- fix(stateDiagram): comments starting with one `%` are no longer
treated as comments

  Switch to using two `%%` if you want to write a comment.

- Updated dependencies
\[[`7a8fb85`](7a8fb8532c),
[`675a64c`](675a64ca0e)]:
-
[@&#8203;mermaid-js/parser](https://redirect.github.com/mermaid-js/parser)@&#8203;1.1.1

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - ""
- Automerge
  - At any time (no schedule defined)

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

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

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

---

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

---

This PR has been generated by [Mend
Renovate](https://redirect.github.com/renovatebot/renovate).

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

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-12 01:34:49 +02:00
Nicolas
71f3e28fe5 ci: Also lint json5 files (#37659) 2026-05-12 00:24:44 +02:00
Nicolas
de290f2121 fix(templates): avoid misleading compare message when branches lack merge base (#37651)
## Summary

When comparing branches with **no common merge base** (e.g. unrelated
histories or orphan branches), `PageIsComparePull` is false and
`CommitCount` is zero. The compare template still showed
`repo.commits.nothing_to_compare`, which in German reads like the
branches are identical—even though the flash already explains there is
no merge base.

## Changes

- **`templates/repo/diff/compare.tmpl`**: Only render the grey “nothing
to compare” segment when `CompareInfo.CompareBase` is set.

<img width="1962" height="564"
src="https://github.com/user-attachments/assets/adc3b4a0-6f03-45da-b297-e15e5ad0aa79"
/>


Fixes #37642

---------

Signed-off-by: Nicolas <bircni@icloud.com>
2026-05-11 16:28:44 +00:00
Giteabot
8cd8291ed0 fix(deps): update npm dependencies (#37647)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| @&#8203;codemirror/autocomplete | [`6.20.1` →
`6.20.2`](https://renovatebot.com/diffs/npm/@codemirror%2fautocomplete/6.20.1/6.20.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@codemirror%2fautocomplete/6.20.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@codemirror%2fautocomplete/6.20.1/6.20.2?slim=true)
|
| @&#8203;codemirror/lint | [`6.9.5` →
`6.9.6`](https://renovatebot.com/diffs/npm/@codemirror%2flint/6.9.5/6.9.6)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@codemirror%2flint/6.9.6?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@codemirror%2flint/6.9.5/6.9.6?slim=true)
|
| @&#8203;codemirror/view | [`6.41.1` →
`6.42.0`](https://renovatebot.com/diffs/npm/@codemirror%2fview/6.41.1/6.42.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@codemirror%2fview/6.42.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@codemirror%2fview/6.41.1/6.42.0?slim=true)
|
| [vue](https://vuejs.org/)
([source](https://redirect.github.com/vuejs/core)) | [`3.5.33` →
`3.5.34`](https://renovatebot.com/diffs/npm/vue/3.5.33/3.5.34) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.5.34?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.5.33/3.5.34?slim=true)
|

---

### Release Notes

<details>
<summary>vuejs/core (vue)</summary>

###
[`v3.5.34`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3534-2026-05-06)

[Compare
Source](https://redirect.github.com/vuejs/core/compare/v3.5.33...v3.5.34)

##### Bug Fixes

- **compiler-sfc:** infer Vue ref wrapper types when source is
unresolvable
([#&#8203;14758](https://redirect.github.com/vuejs/core/issues/14758))
([7f46fd4](7f46fd411b)),
closes
[#&#8203;14729](https://redirect.github.com/vuejs/core/issues/14729)
- **compiler-sfc:** preserve hash hrefs on `<image>` elements
([#&#8203;14756](https://redirect.github.com/vuejs/core/issues/14756))
([090b2e3](090b2e3a51))
- **compiler-sfc:** resolve type re-exports inside declare global
([#&#8203;14766](https://redirect.github.com/vuejs/core/issues/14766))
([acfffe3](acfffe34e7))
- **reactivity:** prevent orphan effect when created in a stopped scope
([#&#8203;14778](https://redirect.github.com/vuejs/core/issues/14778))
([c8e2d4a](c8e2d4adc9)),
closes
[#&#8203;14777](https://redirect.github.com/vuejs/core/issues/14777)
- **runtime-core:** avoid symbol coercion during props validation
([#&#8203;8539](https://redirect.github.com/vuejs/core/issues/8539))
([23d4fb5](23d4fb5a6a)),
closes
[#&#8203;8487](https://redirect.github.com/vuejs/core/issues/8487)
- **suspense:** avoid DOM leak with out-in transition in v-if fragment
([#&#8203;14762](https://redirect.github.com/vuejs/core/issues/14762))
([9667e0d](9667e0d498)),
closes
[#&#8203;14761](https://redirect.github.com/vuejs/core/issues/14761)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Monday (`* * * * 1`)
- Automerge
  - At any time (no schedule defined)

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

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.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://redirect.github.com/renovatebot/renovate).

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

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-11 16:03:11 +00:00
wxiaoguang
2eb7b3c7da refactor: routing info middleware (#37653)
fix #37650
2026-05-11 22:39:50 +08:00
Giteabot
7621b65403 chore(deps): update action dependencies (major) (#37638)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [bitnamilegacy/minio](https://redirect.github.com/bitnami/containers)
([source](https://redirect.github.com/bitnami/containers/tree/HEAD/bitnami/minio))
| service | major | `2021.12.29` → `2025.7.23` |
| [bitnamilegacy/minio](https://redirect.github.com/bitnami/containers)
([source](https://redirect.github.com/bitnami/containers/tree/HEAD/bitnami/minio))
| service | major | `2023.12.23` → `2025.7.23` |
| [bitnamilegacy/mysql](https://redirect.github.com/bitnami/containers)
([source](https://redirect.github.com/bitnami/containers/tree/HEAD/bitnami/mysql))
| service | major | `8.4` → `9.4` |

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Monday (`* * * * 1`)
- Automerge
  - At any time (no schedule defined)

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

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.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://redirect.github.com/renovatebot/renovate).

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

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-11 12:18:05 +00:00
Giteabot
510b729212 fix(deps): update go dependencies (major) (#37639)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/dlclark/regexp2](https://redirect.github.com/dlclark/regexp2)
| `v1.12.0` → `v2.0.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fdlclark%2fregexp2/v2.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fdlclark%2fregexp2/v1.12.0/v2.0.1?slim=true)
|
|
[github.com/google/go-github/v84](https://redirect.github.com/google/go-github)
| `v84.0.0` → `v85.0.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fgo-github%2fv84/v85.0.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fgo-github%2fv84/v84.0.0/v85.0.0?slim=true)
|
|
[gitlab.com/gitlab-org/api/client-go](https://gitlab.com/gitlab-org/api/client-go)
| `v1.46.0` → `v2.24.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/gitlab.com%2fgitlab-org%2fapi%2fclient-go/v2.24.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/gitlab.com%2fgitlab-org%2fapi%2fclient-go/v1.46.0/v2.24.1?slim=true)
|

---

### Release Notes

<details>
<summary>dlclark/regexp2 (github.com/dlclark/regexp2)</summary>

###
[`v2.0.1`](https://redirect.github.com/dlclark/regexp2/compare/v2.0.0...v2.0.1)

[Compare
Source](https://redirect.github.com/dlclark/regexp2/compare/v2.0.0...v2.0.1)

###
[`v2.0.0`](https://redirect.github.com/dlclark/regexp2/compare/v1.12.0...v2.0.0)

[Compare
Source](https://redirect.github.com/dlclark/regexp2/compare/v1.12.0...v2.0.0)

</details>

<details>
<summary>google/go-github (github.com/google/go-github/v84)</summary>

###
[`v85.0.0`](https://redirect.github.com/google/go-github/releases/tag/v85.0.0)

[Compare
Source](https://redirect.github.com/google/go-github/compare/v84.0.0...v85.0.0)

This release contains the following breaking API changes:

- fix!: Resolve inconsistent options for `create` and `update` on custom
org role
([#&#8203;4075](https://redirect.github.com/google/go-github/issues/4075))
BREAKING CHANGE: `GetOrgRole`, `CreateCustomOrgRole`, and
`UpdateCustomOrgRole` have new params and return values.
- fix!: Change `id` from `int64` to `string` in
`ActivityService.MarkThreadDone`
([#&#8203;4056](https://redirect.github.com/google/go-github/issues/4056))
BREAKING CHANGE: `ActivityService.MarkThreadDone` accepts `string` `id`
instead of `int64`.

...and the following additional changes:

- chore: Bump version of go-github to v85.0.0
([#&#8203;4173](https://redirect.github.com/google/go-github/issues/4173))
- chore: Update `openapi_operations.yaml`
([#&#8203;4172](https://redirect.github.com/google/go-github/issues/4172))
- security: Reject cross-host redirects to prevent Authorization leak
([#&#8203;4171](https://redirect.github.com/google/go-github/issues/4171))
- chore: Improve GitHub Actions workflows lint and testing
([#&#8203;4169](https://redirect.github.com/google/go-github/issues/4169))
- chore: Switch legacy redirect handling to new pattern
([#&#8203;4161](https://redirect.github.com/google/go-github/issues/4161))
- feat: Add `CodeSecurity` to `SecurityAndAnalysis`
([#&#8203;4155](https://redirect.github.com/google/go-github/issues/4155))
- fix: Reject URL path segments containing ".." in all request methods
([#&#8203;4150](https://redirect.github.com/google/go-github/issues/4150))
- feat: Refactor repositories download contents
([#&#8203;4153](https://redirect.github.com/google/go-github/issues/4153))
- chore: Bump google.org/x/tools to v0.44.0 in /tools
([#&#8203;4168](https://redirect.github.com/google/go-github/issues/4168))
- docs: Fix broken blog post link
([#&#8203;4160](https://redirect.github.com/google/go-github/issues/4160))
- build(deps): Bump github.com/sigstore/timestamp-authority/v2 from
2.0.3 to 2.0.6 in /example
([#&#8203;4156](https://redirect.github.com/google/go-github/issues/4156))
- chore: Update openapi\_operations.yaml
([#&#8203;4157](https://redirect.github.com/google/go-github/issues/4157))
- feat: Remove Google App Engine standard support
([#&#8203;4152](https://redirect.github.com/google/go-github/issues/4152))
- feat: Add `DownloadCopilotMetrics` helper method
([#&#8203;4149](https://redirect.github.com/google/go-github/issues/4149))
- docs: Add `apiVersion` to GitHub API link
([#&#8203;4147](https://redirect.github.com/google/go-github/issues/4147))
- chore: Simplify `redundantptr` custom linter
([#&#8203;4148](https://redirect.github.com/google/go-github/issues/4148))
- docs: Deprecate old Copilot metrics endpoints closed on April 2, 2026
([#&#8203;4137](https://redirect.github.com/google/go-github/issues/4137))
- refactor: Remove redundant `github.Ptr` calls
([#&#8203;4145](https://redirect.github.com/google/go-github/issues/4145))
- fix: Add missing `User` fields
([#&#8203;4146](https://redirect.github.com/google/go-github/issues/4146))
- fix: Preserve `Marketplace.Stubbed` during client copy
([#&#8203;4144](https://redirect.github.com/google/go-github/issues/4144))
- refactor: Simplify array copying
([#&#8203;4143](https://redirect.github.com/google/go-github/issues/4143))
- build(deps): Bump golang.org/x/crypto from 0.49.0 to 0.50.0 in
/example
([#&#8203;4141](https://redirect.github.com/google/go-github/issues/4141))
- build(deps): Bump github.com/getkin/kin-openapi from 0.134.0 to
0.135.0 in /tools
([#&#8203;4142](https://redirect.github.com/google/go-github/issues/4142))
- build(deps): Bump golang.org/x/term from 0.41.0 to 0.42.0 in /example
([#&#8203;4140](https://redirect.github.com/google/go-github/issues/4140))
- build(deps): Bump golang.org/x/net from 0.52.0 to 0.53.0 in /scrape
([#&#8203;4139](https://redirect.github.com/google/go-github/issues/4139))
- build(deps): Bump go.opentelemetry.io/otel to v1.43.0
([#&#8203;4135](https://redirect.github.com/google/go-github/issues/4135))
- fix: Expand `sanitizeURL` secrets redactions
([#&#8203;4126](https://redirect.github.com/google/go-github/issues/4126))
- build(deps): Bump github.com/alecthomas/kong from 1.14.0 to 1.15.0 in
/tools
([#&#8203;4132](https://redirect.github.com/google/go-github/issues/4132))
- build(deps): Bump actions/setup-go from 6.3.0 to 6.4.0 in the actions
group
([#&#8203;4131](https://redirect.github.com/google/go-github/issues/4131))
- feat: Add support for custom names and methods that return structs
with multiple `[]*T` fields in `gen-iterators.go`
([#&#8203;4128](https://redirect.github.com/google/go-github/issues/4128))
- fix: Limit webhook payload size in `ValidatePayloadFromBody`
([#&#8203;4125](https://redirect.github.com/google/go-github/issues/4125))
- build(deps): Bump codecov/codecov-action from 5.5.3 to 6.0.0
([#&#8203;4123](https://redirect.github.com/google/go-github/issues/4123))
- fix: Synchronize `requestCount` in rate limit tests
([#&#8203;4124](https://redirect.github.com/google/go-github/issues/4124))
- chore: Simplify `generate.sh` by removing `git worktree` and using
generator-based check
([#&#8203;4120](https://redirect.github.com/google/go-github/issues/4120))
- docs: Improve comments in /examples
([#&#8203;4122](https://redirect.github.com/google/go-github/issues/4122))
- chore: Use `golangci-lint-action`; remove `newreposecretwithlibsodium`
([#&#8203;4119](https://redirect.github.com/google/go-github/issues/4119))
- feat: Add custom image endpoints for GitHub-hosted runners
([#&#8203;4101](https://redirect.github.com/google/go-github/issues/4101))
- chore: Cache custom golangci-lint binaries in GHA workflow
([#&#8203;4116](https://redirect.github.com/google/go-github/issues/4116))
- build(deps): Bump github.com/ProtonMail/go-crypto from 1.4.0 to 1.4.1
in /example
([#&#8203;4115](https://redirect.github.com/google/go-github/issues/4115))
- build(deps): Bump golang.org/x/tools from 0.29.0 to 0.43.0 in
/tools/extraneous-new
([#&#8203;4114](https://redirect.github.com/google/go-github/issues/4114))
- build(deps): Bump codecov/codecov-action from 5.5.2 to 5.5.3
([#&#8203;4112](https://redirect.github.com/google/go-github/issues/4112))
- build(deps): Bump github.com/golangci/plugin-module-register from
0.1.1 to 0.1.2 in /tools/extraneous-new
([#&#8203;4113](https://redirect.github.com/google/go-github/issues/4113))
- build(deps): Bump github.com/getkin/kin-openapi from 0.133.0 to
0.134.0 in /tools
([#&#8203;4111](https://redirect.github.com/google/go-github/issues/4111))
- build(deps): Bump github.com/PuerkitoBio/goquery from 1.11.0 to 1.12.0
in /scrape
([#&#8203;4110](https://redirect.github.com/google/go-github/issues/4110))
- chore: Upgrade deps for linters using dependabot
([#&#8203;4107](https://redirect.github.com/google/go-github/issues/4107))
- chore: Use `structfield.Settings` in `check-structfield-settings`
([#&#8203;4108](https://redirect.github.com/google/go-github/issues/4108))
- build(deps): Bump google.golang.org/grpc from 1.78.0 to 1.79.3 in
/example
([#&#8203;4109](https://redirect.github.com/google/go-github/issues/4109))
- chore: Remove unnecessary use of `new` and `&SomeStruct{}` and add new
`extraneousnew` custom linter
([#&#8203;4106](https://redirect.github.com/google/go-github/issues/4106))
- feat: Add `NetworkConfigurationID` and `HostedRunnersURL` to
enterprise runner group types
([#&#8203;4099](https://redirect.github.com/google/go-github/issues/4099))
- feat: Generate accessors for all fields
([#&#8203;4105](https://redirect.github.com/google/go-github/issues/4105))
- feat: Add `ListRunnerGroupHostedRunners` for org runner groups
([#&#8203;4100](https://redirect.github.com/google/go-github/issues/4100))
- chore: Enable `default: none` linters; remove duplicated
([#&#8203;4097](https://redirect.github.com/google/go-github/issues/4097))
- fix: Use `Cursor` pagination for `*.ListHookDeliveriesIter`
([#&#8203;4096](https://redirect.github.com/google/go-github/issues/4096))
- chore: Remove duplicated formatters
([#&#8203;4094](https://redirect.github.com/google/go-github/issues/4094))
- chore: Fix typos in comments and tests
([#&#8203;4093](https://redirect.github.com/google/go-github/issues/4093))
- chore: Fix typo in CONTRIBUTING.md
([#&#8203;4092](https://redirect.github.com/google/go-github/issues/4092))
- chore: Update openapi\_operations.yaml
([#&#8203;4091](https://redirect.github.com/google/go-github/issues/4091))
- build(deps): Bump github.com/bradleyfalzon/ghinstallation/v2 from
2.17.0 to 2.18.0 in /example
([#&#8203;4084](https://redirect.github.com/google/go-github/issues/4084))
- chore: Bump go.opentelemetry.io/otel to v1.42.0
([#&#8203;4090](https://redirect.github.com/google/go-github/issues/4090))
- build(deps): Bump golang.org/x/crypto from 0.48.0 to 0.49.0 in
/example
([#&#8203;4081](https://redirect.github.com/google/go-github/issues/4081))
- build(deps): Bump golang.org/x/sync from 0.19.0 to 0.20.0 in /tools
([#&#8203;4078](https://redirect.github.com/google/go-github/issues/4078))
- build(deps): Bump golang.org/x/net from 0.51.0 to 0.52.0 in /scrape
([#&#8203;4079](https://redirect.github.com/google/go-github/issues/4079))
- test: Add fuzz test for `ParseWebHook`
([#&#8203;4076](https://redirect.github.com/google/go-github/issues/4076))
- feat: Add enterprise budgets API
([#&#8203;4069](https://redirect.github.com/google/go-github/issues/4069))
- feat: Add list organization fine-grained permissions
([#&#8203;4072](https://redirect.github.com/google/go-github/issues/4072))
- feat: Make `script/lint.sh` output simpler to read
([#&#8203;4073](https://redirect.github.com/google/go-github/issues/4073))
- chore: Speed up linting
([#&#8203;4071](https://redirect.github.com/google/go-github/issues/4071))
- build(deps): Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.41.0
in /otel
([#&#8203;4065](https://redirect.github.com/google/go-github/issues/4065))
- build(deps): Bump go.opentelemetry.io/otel from 1.40.0 to 1.41.0 in
/otel
([#&#8203;4068](https://redirect.github.com/google/go-github/issues/4068))
- build(deps): Bump
go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.40.0 to
1.41.0 in /example
([#&#8203;4062](https://redirect.github.com/google/go-github/issues/4062))
- build(deps): Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.41.0
in /example
([#&#8203;4064](https://redirect.github.com/google/go-github/issues/4064))
- build(deps): Bump github.com/ProtonMail/go-crypto from 1.3.0 to 1.4.0
in /example
([#&#8203;4063](https://redirect.github.com/google/go-github/issues/4063))
- feat: Add `client_id` field to `App`
([#&#8203;4060](https://redirect.github.com/google/go-github/issues/4060))
- test: Simplify `CopilotService` tests
([#&#8203;4058](https://redirect.github.com/google/go-github/issues/4058))
- test: Fix flaky `TestDo_rateLimit_abuseRateLimitError_xRateLimitReset`
([#&#8203;4057](https://redirect.github.com/google/go-github/issues/4057))
- feat: Add support for enterprise audit log streaming API
([#&#8203;4035](https://redirect.github.com/google/go-github/issues/4035))
- feat: Add repository-level immutable releases settings
([#&#8203;4039](https://redirect.github.com/google/go-github/issues/4039))
- chore: Add `SAS` as a common initialism to `structfield`
([#&#8203;4054](https://redirect.github.com/google/go-github/issues/4054))
- fix: Fix data race on Windows
([#&#8203;4051](https://redirect.github.com/google/go-github/issues/4051))
- docs: Fix grammar in `README.md`
([#&#8203;4053](https://redirect.github.com/google/go-github/issues/4053))
- chore: Simplify form value assertions in tests
([#&#8203;4048](https://redirect.github.com/google/go-github/issues/4048))
- chore: Bump go-github from v83 to v84 in /scrape
([#&#8203;4050](https://redirect.github.com/google/go-github/issues/4050))

</details>

<details>
<summary>gitlab-org/api/client-go
(gitlab.com/gitlab-org/api/client-go)</summary>

###
[`v2.24.1`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.24.1)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.24.0...v2.24.1)

#### 2.24.1

##### 🐛 Bug Fixes

- fix: add FormattedText field to OrbitGraphStatus and OrbitStatus
([!2876](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2876))
by [Dmitry Gruzd](https://gitlab.com/dgruzd)

####
[2.24.1](https://gitlab.com/gitlab-org/api/client-go/compare/v2.24.0...v2.24.1)
(2026-05-05)
##### Bug Fixes

* add FormattedText field to OrbitGraphStatus and OrbitStatus
([9457ddc](9457ddc690))

###
[`v2.24.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.24.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.23.0...v2.24.0)

#### 2.24.0

##### 🚀 Features

- feat: Add search_type as attribute to search endpoints
([!2851](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2851))
by [Heidi Berry](https://gitlab.com/heidi.berry)

###
[2.24.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.23.0...v2.24.0)
(2026-05-04)
##### Features

* Add search_type as attribute to search endpoints
([4d345e9](4d345e9f76))

###
[`v2.23.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.23.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.22.0...v2.23.0)

#### 2.23.0

##### 🚀 Features

- feat: add OrbitService for Knowledge Graph endpoints
([!2870](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2870))
by [Dmitry Gruzd](https://gitlab.com/dgruzd)

##### 🔄 Other Changes

- chore(deps): update module buf.build/go/protovalidate to v1.2.0
([!2865](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2865))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)

###
[2.23.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.22.0...v2.23.0)
(2026-05-04)
##### Features

* add OrbitService for Knowledge Graph endpoints
([2ff460f](2ff460f3a8))

###
[`v2.22.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.22.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.21.0...v2.22.0)

#### 2.22.0

##### 🚀 Features

- Add package pipeline data.
([!2834](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2834))
by [Jimmy Spagnola](https://gitlab.com/jspagnola)

##### 🔄 Other Changes

- chore(deps): update module golang.org/x/text to v0.36.0
([!2874](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2874))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(deps): update golang docker tag
([!2873](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2873))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(deps): update docker docker tag to v29.4.1
([!2869](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2869))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- refactor(no-release): use HTTP status code constants
([!2868](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2868))
by [Oleksandr Redko](https://gitlab.com/alexandear)

###
[2.22.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.21.0...v2.22.0)
(2026-05-04)

###
[`v2.21.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.21.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.20.1...v2.21.0)

#### 2.21.0

##### 🚀 Features

- Add BulkImports API functions and tests
([!2846](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2846))
by [Kalyaan Kanugula](https://gitlab.com/kalyaan09)

##### 🔄 Other Changes

- Add missing `URLVariables` attribute to group_hooks
([!2866](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2866))
by [Mark Nessen](https://gitlab.com/mness)
- docs: fix incorrect phrase 'to that' -> 'so'
([!2861](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2861))
by [Bob Singh](https://gitlab.com/bobsingh.dev)
- docs: fix missing 'of' in contributing guide
([!2860](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2860))
by [Bob Singh](https://gitlab.com/bobsingh.dev)
- style: remove duplicated wording in Go version sentence
([!2859](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2859))
by [Bob Singh](https://gitlab.com/bobsingh.dev)

###
[2.21.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.20.1...v2.21.0)
(2026-04-27)

###
[`v2.20.1`](https://gitlab.com/gitlab-org/api/client-go/blob/HEAD/CHANGELOG.md#2210-2026-04-27)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.20.0...v2.20.1)

#### 2.20.1

##### 🐛 Bug Fixes

- Fix potential panic in MergeRequest.UnmarshalJSON label detail loop
([!2858](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2858))
by [Zubeen](https://gitlab.com/syedzubeen)

####
[2.20.1](https://gitlab.com/gitlab-org/api/client-go/compare/v2.20.0...v2.20.1)
(2026-04-20)

#### 2.20.0

##### 🚀 Features

- Add missing system hook api options
([!2847](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2847))
by [Zack Knight](https://gitlab.com/zachkknowbe4)

##### 🔄 Other Changes

- chore(deps): update docker docker tag to v29.4.0
([!2854](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2854))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(deps): update module github.com/google/cel-go to v0.28.0
([!2855](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2855))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)

###
[`v2.20.0`](https://gitlab.com/gitlab-org/api/client-go/blob/HEAD/CHANGELOG.md#2210-2026-04-27)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.19.0...v2.20.0)

#### 2.20.1

##### 🐛 Bug Fixes

- Fix potential panic in MergeRequest.UnmarshalJSON label detail loop
([!2858](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2858))
by [Zubeen](https://gitlab.com/syedzubeen)

####
[2.20.1](https://gitlab.com/gitlab-org/api/client-go/compare/v2.20.0...v2.20.1)
(2026-04-20)

#### 2.20.0

##### 🚀 Features

- Add missing system hook api options
([!2847](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2847))
by [Zack Knight](https://gitlab.com/zachkknowbe4)

##### 🔄 Other Changes

- chore(deps): update docker docker tag to v29.4.0
([!2854](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2854))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(deps): update module github.com/google/cel-go to v0.28.0
([!2855](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2855))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)

###
[`v2.19.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.19.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.18.0...v2.19.0)

#### 2.19.0

##### 🚀 Features

- feat: Add PackageRegistryAccessLevel to Project structs
([!2852](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2852))
by [Caleb Madara](https://gitlab.com/calebmadara58)

###
[2.19.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.18.0...v2.19.0)
(2026-04-15)
##### Features

* Add PackageRegistryAccessLevel to Project structs
([4ce63da](4ce63da952))

###
[`v2.18.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.18.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.17.0...v2.18.0)

#### 2.18.0

##### 🚀 Features

- Feat: Add support for application setting
secret_push_protection_available
([!2849](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2849))
by [Rizart Dona](https://gitlab.com/rizart_d)

##### 🔄 Other Changes

- fix: Correct Example Section in README
([!2850](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2850))
by [Jonathan Bowe](https://gitlab.com/boweflex)

###
[2.18.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.17.0...v2.18.0)
(2026-04-14)
##### Bug Fixes

* Correct Example Section in README
([c0759d9](c0759d99b2))

###
[`v2.17.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.17.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.16.0...v2.17.0)

#### 2.17.0

##### 🚀 Features

- Resolve "Add endpoint support for archiving/unarchiving groups"
([!2848](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2848))
by [Jonathan Bowe](https://gitlab.com/boweflex)

##### 🔄 Other Changes

- chore(deps): update docker docker tag to v29.3.1
([!2841](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2841))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(no-release): enable gocritic linter
([!2842](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2842))
by [Oleksandr Redko](https://gitlab.com/alexandear)
- chore(deps): update module golang.org/x/oauth2 to v0.36.0
([!2835](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2835))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(deps): update module golang.org/x/text to v0.35.0
([!2837](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2837))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)

###
[2.17.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.16.0...v2.17.0)
(2026-04-10)

###
[`v2.16.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.16.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.15.0...v2.16.0)

#### 2.16.0

##### 🚀 Features

- feat: Add PagesUniqueDomainDefaultEnabled to Settings API
([!2845](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2845))
by [Mohamed Mongy](https://gitlab.com/mohamedmongy96)

###
[2.16.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.15.0...v2.16.0)
(2026-04-04)
##### Features

* Add PagesUniqueDomainDefaultEnabled to Settings API
([d27f3af](d27f3af69a))

###
[`v2.15.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.15.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.14.0...v2.15.0)

#### 2.15.0

##### 🚀 Features

- feat: Add approved_at field in merge request approvals API
([!2844](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2844))
by [Mohamed Asan N](https://gitlab.com/hassyyy)

###
[2.15.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.14.0...v2.15.0)
(2026-04-04)
##### Features

* Add approved_at field in merge request approvals API
([528ac9e](528ac9ea36))

###
[`v2.14.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.14.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.13.0...v2.14.0)

#### 2.14.0

##### 🚀 Features

- feat: add support for
DisablePasswordAuthenticationForUsersWithSSOIdentities...
([!2839](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2839))
by [Lorenz Vonlanthen](https://gitlab.com/loelu)

###
[2.14.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.13.0...v2.14.0)
(2026-04-03)
##### Features

* add support for
DisablePasswordAuthenticationForUsersWithSSOIdentities...
([6b88f05](6b88f05609))

###
[`v2.13.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.13.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.12.0...v2.13.0)

#### 2.13.0

##### 🚀 Features

- feat: Added WithAuthSourceStrategy option to allow configuring
multiple token source priority
([!2815](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2815))
by [Павлов Александр](https://gitlab.com/alexpts)

###
[2.13.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.12.0...v2.13.0)
(2026-04-01)
##### Features

* Added WithAuthSourceStrategy option to allow configuring multiple
token source priority
([2261c80](2261c80c28))

###
[`v2.12.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.12.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.11.0...v2.12.0)

#### 2.12.0

##### 🚀 Features

- fix: update HostKey field name to FingerprintSHA256 for consistency
([!2840](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2840))
by [Oleksandr Redko](https://gitlab.com/alexandear)
- Add push mirror host_keys to the go client.
([!2832](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2832))
by [Jimmy Spagnola](https://gitlab.com/jspagnola)

##### 🔄 Other Changes

- Fix: improve URL validation warning logging context and correct typo
([!2830](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2830))
by [Bob Singh](https://gitlab.com/bobsingh.dev)
- chore(no-release): fix typos in comments and unexported function
([!2831](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2831))
by [Oleksandr Redko](https://gitlab.com/alexandear)

###
[2.12.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.11.0...v2.12.0)
(2026-04-01)
##### Bug Fixes

* update HostKey field name to FingerprintSHA256 for consistency
([1b7fcfb](1b7fcfb0ed))

###
[`v2.11.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.11.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.10.0...v2.11.0)

#### 2.11.0

##### 🚀 Features

- Deprecate project approval password auth, add reauth to approve
([!2825](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2825))
by [Heidi Berry](https://gitlab.com/heidi.berry)

##### 🔄 Other Changes

- Fix typo in UpdateLabel comment
([!2827](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2827))
by [Bob Singh](https://gitlab.com/bobsingh.dev)
- Fix runner comment typo
([!2828](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2828))
by [Bob Singh](https://gitlab.com/bobsingh.dev)

###
[2.11.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.10.0...v2.11.0)
(2026-03-30)

###
[`v2.10.0`](https://gitlab.com/gitlab-org/api/client-go/blob/HEAD/CHANGELOG.md#1380-2026-02-19)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.9.0...v2.10.0)

##### Features

- **events:** Add missing parameters for label operations and update
documentation links
([11b9f08](11b9f08b37))
- **labels:** add missing params and edit links
([ec1b92b](ec1b92bff4))

#### 1.37.0

##### 🚀 Features

- Support system & system\_action fields for merge event attributes
([!2737](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2737))
by [Artem Mikheev](https://gitlab.com/renbou)

##### 🔄 Other Changes

- Update links of geo\_sites.go
([!2782](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2782))
by [Mohamed Mongy](https://gitlab.com/mohamedmongy96)
- chore(deps): update dependency golangci-lint to v2.10.1
([!2770](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2770))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(deps): update golangci/golangci-lint docker tag to v2.10.1
([!2771](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2771))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(deps): update golangci/golangci-lint docker tag to v2.10.0
([!2769](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2769))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(deps): update dependency golangci-lint to v2.10.0
([!2768](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2768))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)

###
[`v2.9.0`](https://gitlab.com/gitlab-org/api/client-go/blob/HEAD/CHANGELOG.md#1330-2026-02-13)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.8.0...v2.9.0)

#### 1.32.0

##### 🚀 Features

- Implement endpoints for runner controller scopes
([!2758](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2758))
by [Timo Furrer](https://gitlab.com/timofurrer)

##### 🔄 Other Changes

- test(namespaces): Address test feedback to simplify the test
([!2744](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2744))
by [Patrick Rice](https://gitlab.com/PatrickRice)
- chore(deps): update golangci/golangci-lint docker tag to v2.9.0
([!2755](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2755))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(deps): update dependency golangci-lint to v2.9.0
([!2754](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2754))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)

###
[`v2.8.0`](https://gitlab.com/gitlab-org/api/client-go/blob/HEAD/CHANGELOG.md#1130-2026-01-12)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.7.0...v2.8.0)

##### Features

- **groups:** add Active parameter to ListGroupProjects
([dec511a](dec511a199))

#### 1.12.0

##### 🚀 Features

- feat: add EmojiEvents field support to Project Webhooks
([!2653](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2653))
by [Yugan](https://gitlab.com/yugannkt)

##### 🔄 Other Changes

- chore(deps): update dependency golangci-lint to v2.8.0
([!2650](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2650))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- refactor(no-release): use errors.New instead of fmt.Errorf
([!2644](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2644))
by [Oleksandr Redko](https://gitlab.com/alexandear)

###
[`v2.7.0`](https://gitlab.com/gitlab-org/api/client-go/blob/HEAD/CHANGELOG.md#170-2025-12-06)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.6.0...v2.7.0)

##### Features

- **users:** Add support for a user to see only one file diff per page
([e2a9e09](e2a9e09e79))

#### 1.6.0

##### 🚀 Features

- feat: add admin compliance policy settings API
([!2610](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2610))
by [Hannes Lange](https://gitlab.com/hlange4)

##### 🔄 Other Changes

- doc: fix typo
([!2603](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2603))
by [Guilhem Bonnefille](https://gitlab.com/gbonnefille)
- chore(deps): update golangci/golangci-lint docker tag to v2.7.1
([!2611](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2611))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(deps): update docker docker tag to v29.1.2
([!2609](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2609))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(deps): update golangci/golangci-lint docker tag to v2.7.0
([!2608](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2608))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)

###
[`v2.6.0`](https://gitlab.com/gitlab-org/api/client-go/blob/HEAD/CHANGELOG.md#01590-2025-11-04)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.5.0...v2.6.0)

##### Features

- **integrations:** add group integration API endpoints for Jira
([09e18ee](09e18ee598))

#### 0.158.0

##### 🚀 Features

- Add support to send variables for GraphQL queries
([!2562](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2562))
by [rafasf](https://gitlab.com/rafasf)

##### 🔄 Other Changes

- chore(deps): update module cel.dev/expr to v0.25.0
([!2560](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2560))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- chore(no-release): standardize GitLab name capitalization
([!2551](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2551))
by [Zubeen](https://gitlab.com/syedzubeen)
- chore(deps): update golangci/golangci-lint docker tag to v2.6.0
([!2558](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2558))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- refactor: moved comments to interface 2
([!2557](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2557))
by [Zubeen](https://gitlab.com/syedzubeen)
- refactor: moved comments to interface
([!2556](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2556))
by [Zubeen](https://gitlab.com/syedzubeen)
- refactor(test): avoid panic in tests with goroutines
([!2553](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2553))
by [Oleksandr Redko](https://gitlab.com/alexandear)

### [`v2.5.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.5.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.4.0...v2.5.0)

#### 2.5.0

##### 🚀 Features

- feat(workitems): Implement `UpdateWorkItem()`
([!2793](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2793))
by [Carlos Corona](https://gitlab.com/ccorona2)

##### 🔄 Other Changes

- chore(deps): update dependency golangci-lint to v2.11.2
([!2810](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2810))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)
- test(no-release): replace reflect.DeepEqual with testify
([!2809](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2809))
by [Oleksandr Redko](https://gitlab.com/alexandear)
- feat: allow OAuth success callback page to self-close when possible
([!2808](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2808))
by [Case Taintor](https://gitlab.com/case.taintor)
- chore(deps): update dependency golangci-lint to v2.11.1
([!2806](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2806))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)

###
[2.5.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.4.0...v2.5.0)
(2026-03-09)
##### Features

* allow OAuth success callback page to self-close when possible
([dca2e12](dca2e12095))
* **workitems:** Implement `UpdateWorkItem()`
([b93a55e](b93a55e316))

### [`v2.4.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.4.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.3.0...v2.4.0)

#### 2.4.0

##### 🚀 Features

- Reflect latest runner controller API changes
([!2803](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2803))
by [Timo Furrer](https://gitlab.com/timofurrer)

##### 🔄 Other Changes

- chore(deps): update docker docker tag to v29.3.0
([!2804](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2804))
by [GitLab Dependency
Bot](https://gitlab.com/gitlab-dependency-update-bot)

###
[2.4.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.3.0...v2.4.0)
(2026-03-06)

### [`v2.3.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.3.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.2.1...v2.3.0)

#### 2.3.0

##### 🚀 Features

- feat: add new endpoint for fetching all the runner manager information
([!2802](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2802))
by [Aayush](https://gitlab.com/Aayush-Saini)

###
[2.3.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.2.1...v2.3.0)
(2026-03-05)
##### Features

* add new endpoint for fetching all the runner manager information
([d4755b7](d4755b7966))

###
[`v2.2.1`](https://gitlab.com/gitlab-org/api/client-go/blob/HEAD/CHANGELOG.md#230-2026-03-05)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.2.0...v2.2.1)

##### Features

- add new endpoint for fetching all the runner manager information
([d4755b7](d4755b7966))

#### 2.2.1

##### 🐛 Bug Fixes

- fix: Add `/v2` suffix to module path.
([!2801](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2801))
by [Florian Forster](https://gitlab.com/fforster)

####
[2.2.1](https://gitlab.com/gitlab-org/api/client-go/compare/v2.2.0...v2.2.1)
(2026-03-04)

##### Bug Fixes

- Add `/v2` suffix to module path.
([4237f6a](4237f6aa29)),
closes
[#&#8203;2239](https://gitlab.com/gitlab-org/api/client-go/issues/2239)

#### 2.2.0

##### 🚀 Features

- feat(workitems): Implement `CreateWorkItem()`.
([!2751](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2751))
by [Florian Forster](https://gitlab.com/fforster)

###
[`v2.2.0`](https://gitlab.com/gitlab-org/api/client-go/blob/HEAD/CHANGELOG.md#230-2026-03-05)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.1.0...v2.2.0)

##### Features

- add new endpoint for fetching all the runner manager information
([d4755b7](d4755b7966))

#### 2.2.1

##### 🐛 Bug Fixes

- fix: Add `/v2` suffix to module path.
([!2801](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2801))
by [Florian Forster](https://gitlab.com/fforster)

####
[2.2.1](https://gitlab.com/gitlab-org/api/client-go/compare/v2.2.0...v2.2.1)
(2026-03-04)

##### Bug Fixes

- Add `/v2` suffix to module path.
([4237f6a](4237f6aa29)),
closes
[#&#8203;2239](https://gitlab.com/gitlab-org/api/client-go/issues/2239)

#### 2.2.0

##### 🚀 Features

- feat(workitems): Implement `CreateWorkItem()`.
([!2751](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2751))
by [Florian Forster](https://gitlab.com/fforster)

### [`v2.1.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.1.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v2.0.0...v2.1.0)

#### 2.1.0

##### 🚀 Features

- feat(workitems): Add more fields to WorkItem
([!2795](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2795))
by [Florian Forster](https://gitlab.com/fforster)

##### 🔄 Other Changes

- Implement body preserver to enable HTTP response body streaming
([!2746](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2746))
by [Timo Furrer](https://gitlab.com/timofurrer)

###
[2.1.0](https://gitlab.com/gitlab-org/api/client-go/compare/v2.0.0...v2.1.0)
(2026-03-03)
##### Features

* **workitems:** Add more fields to WorkItem
([7088f6f](7088f6f229))

### [`v2.0.0`](https://gitlab.com/gitlab-org/api/client-go/tags/v2.0.0)

[Compare
Source](https://gitlab.com/gitlab-org/api/client-go/compare/v1.46.0...v2.0.0)

#### 2.0.0

##### 💥 Breaking Changes

- Release client-go 2.0
([!2763](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2763))
by [Patrick Rice](https://gitlab.com/PatrickRice)

##### 🔄 Other Changes

- Addtl 2 0 changes
([!2796](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2796))
by [Patrick Rice](https://gitlab.com/PatrickRice)

###
[2.0.0](https://gitlab.com/gitlab-org/api/client-go/compare/v1.46.0...v2.0.0)
(2026-03-02)

* Release client-go 2.0
([47b65ee](47b65ee907))

##### Bug Fixes

* **ci:** update gocover-cobertura to v1.4.0 for Go 1.24+ compatibility
([1d03b20](1d03b20802))
* **group_members:** using ISOTime instead of time.Time for
BillableUserMembership.ExpiresAt
([e7e58c6](e7e58c69c1))
* package protection access level variable type
([5574bbb](5574bbbf2f))
* **workitems:** Handle absent status widget in `WorkItem`.
([859fb26](859fb26f28))

##### Features

* use Nullable[int64] for label priority
([096ed09](096ed098d1))

##### BREAKING CHANGES

* Release 2.0

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Monday (`* * * * 1`)
- Automerge
  - At any time (no schedule defined)

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

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.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://redirect.github.com/renovatebot/renovate).

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

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-11 07:00:29 +00:00