Commit Graph
44 Commits
Author SHA1 Message Date
Giteabotandsilverwind 12b20c7c99 chore(deps): update dependencies (#40168)
> [!NOTE]
> This PR body was truncated due to platform limits.

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 |
|---|---|---|---|---|---|---|
| [@primer/octicons](https://primer.style/octicons)
([source](https://redirect.github.com/primer/octicons)) | [`19.41.0` →
`19.42.0`](https://renovatebot.com/diffs/npm/@primer%2focticons/19.41.0/19.42.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@primer%2focticons/19.42.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@primer%2focticons/19.41.0/19.42.0?slim=true)
| dependencies | minor | |
|
[@typescript-eslint/parser](https://typescript-eslint.io/packages/parser)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`8.72.0` →
`8.72.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.72.0/8.72.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.72.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.72.0/8.72.1?slim=true)
| devDependencies | patch | |
| @​vitest/eslint-plugin | [`1.6.27` →
`1.6.28`](https://renovatebot.com/diffs/npm/@vitest%2feslint-plugin/1.6.27/1.6.28)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2feslint-plugin/1.6.28?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2feslint-plugin/1.6.27/1.6.28?slim=true)
| devDependencies | patch | |
| [astral-sh/setup-uv](https://redirect.github.com/astral-sh/setup-uv) |
`v10.3.0` → `v10.3.2` |
![age](https://developer.mend.io/api/mc/badges/age/github-tags/astral-sh%2fsetup-uv/v10.3.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/astral-sh%2fsetup-uv/v10.3.0/v10.3.2?slim=true)
| action | patch | `v10.3.3` |
| [chart.js](https://www.chartjs.org)
([source](https://redirect.github.com/chartjs/Chart.js)) | [`4.5.1` →
`4.6.1`](https://renovatebot.com/diffs/npm/chart.js/4.5.1/4.6.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/chart.js/4.6.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/chart.js/4.5.1/4.6.1?slim=true)
| dependencies | minor | |
| [cli/cli](https://redirect.github.com/cli/cli) | `2.103.2` → `2.103.3`
|
![age](https://developer.mend.io/api/mc/badges/age/github-releases/cli%2fcli/2.103.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/cli%2fcli/2.103.2/2.103.3?slim=true)
| | patch | |
|
[connectrpc.com/connect/v2](https://redirect.github.com/connectrpc/connect-go)
| `v2.0.1` → `v2.0.2` |
![age](https://developer.mend.io/api/mc/badges/age/go/connectrpc.com%2fconnect%2fv2/v2.0.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/connectrpc.com%2fconnect%2fv2/v2.0.1/v2.0.2?slim=true)
| require | patch | |
|
[crowdin/github-action](https://redirect.github.com/crowdin/github-action)
| `v3.4.0` → `v3.5.0` |
![age](https://developer.mend.io/api/mc/badges/age/github-tags/crowdin%2fgithub-action/v3.5.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/crowdin%2fgithub-action/v3.4.0/v3.5.0?slim=true)
| action | minor | |
| [djlint](https://redirect.github.com/djlint/djLint) | `==1.46.6` →
`==1.47.1` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/djlint/1.47.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/djlint/1.46.6/1.47.1?slim=true)
| dependency-groups | minor | `1.49.2` (+4) |
| [docker/login-action](https://redirect.github.com/docker/login-action)
| `v4.6.0` → `v4.7.0` |
![age](https://developer.mend.io/api/mc/badges/age/github-tags/docker%2flogin-action/v4.7.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/docker%2flogin-action/v4.6.0/v4.7.0?slim=true)
| action | minor | |
| [elasticsearch](https://hub.docker.com/_/elasticsearch)
([source](https://redirect.github.com/elastic/dockerfiles)) | `3f4d63c`
→ `ef5cafd` | | | service | digest | |
|
[eslint-plugin-unicorn](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn)
| [`78.0.0` →
`79.0.0`](https://renovatebot.com/diffs/npm/eslint-plugin-unicorn/78.0.0/79.0.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-unicorn/79.0.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-unicorn/78.0.0/79.0.0?slim=true)
| devDependencies | major | |
| [eslint-plugin-vue](https://eslint.vuejs.org)
([source](https://redirect.github.com/vuejs/eslint-plugin-vue)) |
[`10.11.1` →
`10.12.0`](https://renovatebot.com/diffs/npm/eslint-plugin-vue/10.11.1/10.12.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-vue/10.12.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-vue/10.11.1/10.12.0?slim=true)
| devDependencies | minor | |
|
[getmeili/meilisearch](https://redirect.github.com/meilisearch/meilisearch)
| `c94e58c` → `1f578fa` | | | service | digest | |
| [gitea.dev/sdk](https://gitea.com/gitea/go-sdk) | `v1.3.0` → `v1.5.0`
|
![age](https://developer.mend.io/api/mc/badges/age/go/gitea.dev%2fsdk/v1.5.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/gitea.dev%2fsdk/v1.3.0/v1.5.0?slim=true)
| require | minor | `v1.5.1` |
|
[github.com/buildkite/terminal-to-html/v3](https://redirect.github.com/buildkite/terminal-to-html)
| `v3.17.1` → `v3.17.3` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fbuildkite%2fterminal-to-html%2fv3/v3.17.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fbuildkite%2fterminal-to-html%2fv3/v3.17.1/v3.17.3?slim=true)
| require | patch | |
|
[github.com/dlclark/regexp2/v2](https://redirect.github.com/dlclark/regexp2)
| `v2.9.1` → `v2.11.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fdlclark%2fregexp2%2fv2/v2.11.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fdlclark%2fregexp2%2fv2/v2.9.1/v2.11.0?slim=true)
| require | minor | `v2.12.0` |
|
[github.com/getkin/kin-openapi](https://redirect.github.com/getkin/kin-openapi)
| `v0.151.0` → `v0.152.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgetkin%2fkin-openapi/v0.152.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgetkin%2fkin-openapi/v0.151.0/v0.152.0?slim=true)
| require | minor | |
|
[github.com/go-co-op/gocron/v2](https://redirect.github.com/go-co-op/gocron)
| `v2.22.0` → `v2.23.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-co-op%2fgocron%2fv2/v2.23.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-co-op%2fgocron%2fv2/v2.22.0/v2.23.0?slim=true)
| require | minor | |
|
[github.com/go-redsync/redsync/v4](https://redirect.github.com/go-redsync/redsync)
| `v4.18.0` → `v4.18.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-redsync%2fredsync%2fv4/v4.18.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-redsync%2fredsync%2fv4/v4.18.0/v4.18.1?slim=true)
| require | patch | |
| [github.com/google/pprof](https://redirect.github.com/google/pprof) |
`1facf8f` → `dbd0ed3` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fpprof/v0.0.0-20261026192309-dbd0ed30aa88?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fpprof/v0.0.0-20261016150608-1facf8f91b50/v0.0.0-20261026192309-dbd0ed30aa88?slim=true)
| require | digest | |
|
[gitlab.com/gitlab-org/api/client-go/v3](https://gitlab.com/gitlab-org/api/client-go)
| `v3.29.0` → `v3.39.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/gitlab.com%2fgitlab-org%2fapi%2fclient-go%2fv3/v3.39.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/gitlab.com%2fgitlab-org%2fapi%2fclient-go%2fv3/v3.29.0/v3.39.1?slim=true)
| require | minor | `v3.40.2` (+3) |
| [google.golang.org/grpc](https://redirect.github.com/grpc/grpc-go) |
`v1.84.0` → `v1.85.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgrpc/v1.85.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgrpc/v1.84.0/v1.85.0?slim=true)
| require | minor | |
| [katex](https://katex.org)
([source](https://redirect.github.com/KaTeX/KaTeX)) | [`0.19.0` →
`0.19.1`](https://renovatebot.com/diffs/npm/katex/0.19.0/0.19.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/katex/0.19.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/katex/0.19.0/0.19.1?slim=true)
| dependencies | patch | |
|
[markdownlint-cli](https://redirect.github.com/igorshubovych/markdownlint-cli)
| [`0.49.1` →
`0.50.0`](https://renovatebot.com/diffs/npm/markdownlint-cli/0.49.1/0.50.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/markdownlint-cli/0.50.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/markdownlint-cli/0.49.1/0.50.0?slim=true)
| devDependencies | minor | |
|
[material-icon-theme](https://redirect.github.com/material-extensions/vscode-material-icon-theme/blob/main/README.md)
([source](https://redirect.github.com/material-extensions/vscode-material-icon-theme))
| [`5.39.0` →
`5.40.0`](https://renovatebot.com/diffs/npm/material-icon-theme/5.39.0/5.40.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/material-icon-theme/5.40.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/material-icon-theme/5.39.0/5.40.0?slim=true)
| devDependencies | minor | |
| [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | `v1.60.1` →
`v1.61.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/modernc.org%2fsqlite/v1.61.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/modernc.org%2fsqlite/v1.60.1/v1.61.0?slim=true)
| require | minor | `v1.61.1` |
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm/npm/pnpm))
| [`12.14.0` →
`12.16.1`](https://renovatebot.com/diffs/npm/pnpm/12.14.0/12.16.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/12.16.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/12.14.0/12.16.1?slim=true)
| packageManager | minor | |
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm/npm/pnpm))
| [`>= 12.14.0` → `>=
12.16.1`](https://renovatebot.com/diffs/npm/pnpm/12.14.0/12.16.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/12.16.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/12.14.0/12.16.1?slim=true)
| engines | minor | |
| [postcss](https://postcss.org/)
([source](https://redirect.github.com/postcss/postcss)) | [`8.5.31` →
`8.5.32`](https://renovatebot.com/diffs/npm/postcss/8.5.31/8.5.32) |
![age](https://developer.mend.io/api/mc/badges/age/npm/postcss/8.5.32?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss/8.5.31/8.5.32?slim=true)
| dependencies | patch | |
| [renovate](https://renovatebot.com)
([source](https://redirect.github.com/renovatebot/renovate)) |
[`44.172.2` →
`44.190.1`](https://octochangelog.com/compare?repo=renovatebot%2Frenovate&from=44.172.2&to=44.190.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/renovate/44.190.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/renovate/44.172.2/44.190.1?slim=true)
| | minor | `44.200.0` (+21) |
|
[renovatebot/github-action](https://redirect.github.com/renovatebot/github-action)
| `v46.3.9` → `v46.3.10` |
![age](https://developer.mend.io/api/mc/badges/age/github-tags/renovatebot%2fgithub-action/v46.3.10?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/renovatebot%2fgithub-action/v46.3.9/v46.3.10?slim=true)
| action | patch | `v46.3.12` (+1) |
|
[typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint))
| [`8.72.0` →
`8.72.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.72.0/8.72.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.72.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.72.0/8.72.1?slim=true)
| devDependencies | patch | |
| [vite](https://vite.dev)
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite))
| [`8.3.4` →
`8.3.5`](https://renovatebot.com/diffs/npm/vite/8.3.4/8.3.5) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vite/8.3.5?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/8.3.4/8.3.5?slim=true)
| dependencies | patch | |

---

### Release Notes

<details>
<summary>primer/octicons (@&#8203;primer/octicons)</summary>

###
[`v19.42.0`](https://redirect.github.com/primer/octicons/releases/tag/%40primer/octicons%4019.42.0)

[Compare
Source](https://redirect.github.com/primer/octicons/compare/@primer/octicons@19.41.0...@primer/octicons@19.42.0)

##### Minor Changes

- [#&#8203;1381](https://redirect.github.com/primer/octicons/pull/1381)
[`d25ce68df9d08abd65431a8a48b45446432f1b45`](https://redirect.github.com/primer/octicons/commit/d25ce68df9d08abd65431a8a48b45446432f1b45)
Thanks [@&#8203;edokoa](https://redirect.github.com/edokoa)! - Add the
16px `git-draft-agent`, `git-pull-request-agent`, `check-agent`,
`git-que-merge-agent`, `git-closed-agent`, and `git-merge-agent` icons
for agent-assisted draft, open, ready-to-merge, queued, closed, and
merged pull request states.

</details>

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

###
[`v8.72.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8721-2026-10-26)

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

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.72.1)
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>astral-sh/setup-uv</summary>

###
[`v10.3.2`](https://redirect.github.com/astral-sh/setup-uv/releases/tag/v10.3.2):
🌈 update known checksums for 0.13.5

[Compare
Source](https://redirect.github.com/astral-sh/setup-uv/compare/v10.3.1...v10.3.2)

#### Changes

#### 🧰 Maintenance

- chore: update known checksums for 0.13.5
@&#8203;[github-actions\[bot\]](https://redirect.github.com/apps/github-actions)
([#&#8203;1103](https://redirect.github.com/astral-sh/setup-uv/issues/1103))

#### 📚 Documentation

- docs: update version references to v10.3.1
@&#8203;[github-actions\[bot\]](https://redirect.github.com/apps/github-actions)
([#&#8203;1102](https://redirect.github.com/astral-sh/setup-uv/issues/1102))

###
[`v10.3.1`](https://redirect.github.com/astral-sh/setup-uv/releases/tag/v10.3.1):
🌈 preserve cache error class names in save-cache bundle

[Compare
Source](https://redirect.github.com/astral-sh/setup-uv/compare/v10.3.0...v10.3.1)

#### Changes

This release includes a fix so that multiple concurrent workflows trying
to upload the same cache no longer warn

`##[warning]Failed to save: Unable to reserve cache with key ...,
another job may be creating this cache.`

#### 🐛 Bug fixes

- fix: preserve cache error class names in save-cache bundle
[@&#8203;dannyward630](https://redirect.github.com/dannyward630)
([#&#8203;1093](https://redirect.github.com/astral-sh/setup-uv/issues/1093))

#### 🧰 Maintenance

- chore: update known checksums for 0.13.4
@&#8203;[github-actions\[bot\]](https://redirect.github.com/apps/github-actions)
([#&#8203;1099](https://redirect.github.com/astral-sh/setup-uv/issues/1099))
- chore: update known checksums for 0.13.2/0.13.3
@&#8203;[github-actions\[bot\]](https://redirect.github.com/apps/github-actions)
([#&#8203;1098](https://redirect.github.com/astral-sh/setup-uv/issues/1098))
- chore: update known checksums for 0.13.1
@&#8203;[github-actions\[bot\]](https://redirect.github.com/apps/github-actions)
([#&#8203;1094](https://redirect.github.com/astral-sh/setup-uv/issues/1094))
- Verify npm dependency signatures before builds
[@&#8203;zaniebot](https://redirect.github.com/zaniebot)
([#&#8203;1027](https://redirect.github.com/astral-sh/setup-uv/issues/1027))

#### 📚 Documentation

- docs: cache-dependency-glob matches relative to the working directory
[@&#8203;flange-ipb](https://redirect.github.com/flange-ipb)
([#&#8203;1092](https://redirect.github.com/astral-sh/setup-uv/issues/1092))
- docs: update version references to v10.3.0
@&#8203;[github-actions\[bot\]](https://redirect.github.com/apps/github-actions)
([#&#8203;1090](https://redirect.github.com/astral-sh/setup-uv/issues/1090))

#### ⬆️ Dependency updates

- chore(deps): roll up Dependabot updates
[@&#8203;eifinger](https://redirect.github.com/eifinger)
([#&#8203;1101](https://redirect.github.com/astral-sh/setup-uv/issues/1101))

</details>

<details>
<summary>chartjs/Chart.js (chart.js)</summary>

###
[`v4.6.1`](https://redirect.github.com/chartjs/Chart.js/releases/tag/v4.6.1)

[Compare
Source](https://redirect.github.com/chartjs/Chart.js/compare/v4.5.1...v4.6.1)

### Essential Links

- [npm](https://www.npmjs.com/package/chart.js)
- [Migration
guide](https://www.chartjs.org/docs/4.6.1/migration/v4-migration.html)
- [Docs](https://www.chartjs.org/docs/4.6.1/)
- [API](https://www.chartjs.org/docs/4.6.1/api/)
- [Samples](https://www.chartjs.org/docs/4.6.1/samples/information.html)

*
[#&#8203;12355](https://redirect.github.com/chartjs/Chart.js/issues/12355)
fix: trusted publishing fix + version 4.6.1 bump

Thanks to [@&#8203;etimberg](https://redirect.github.com/etimberg)

</details>

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

###
[`v2.103.3`](https://redirect.github.com/cli/cli/releases/tag/v2.103.3):
GitHub CLI 2.103.3

[Compare
Source](https://redirect.github.com/cli/cli/compare/v2.103.2...v2.103.3)

##### What's Changed

##### 🐛 Fixes

- fix(gh auth status): explain expired expiring tokens with
`--no-refresh` by [@&#8203;babakks](https://redirect.github.com/babakks)
in [#&#8203;14815](https://redirect.github.com/cli/cli/pull/14815)

**Full Changelog**:
<https://github.com/cli/cli/compare/v2.103.2...v2.103.3>

</details>

<details>
<summary>connectrpc/connect-go (connectrpc.com/connect/v2)</summary>

###
[`v2.0.2`](https://redirect.github.com/connectrpc/connect-go/releases/tag/v2.0.2)

[Compare
Source](https://redirect.github.com/connectrpc/connect-go/compare/v2.0.1...v2.0.2)

#### What's Changed

##### Bugfixes

- Fix data race reading ClientInfo after a cancelled call by
[@&#8203;emcfarlane](https://redirect.github.com/emcfarlane) in
[#&#8203;1036](https://redirect.github.com/connectrpc/connect-go/pull/1036)
- List JSON charset variants in Accept-Post by
[@&#8203;emcfarlane](https://redirect.github.com/emcfarlane) in
[#&#8203;1037](https://redirect.github.com/connectrpc/connect-go/pull/1037)
- Flush response headers in ServerStream.SendHeaders over HTTP by
[@&#8203;raveesh-me](https://redirect.github.com/raveesh-me) in
[#&#8203;1035](https://redirect.github.com/connectrpc/connect-go/pull/1035)
- Stop reading oversized messages after rejecting them by
[@&#8203;stefanvanburen](https://redirect.github.com/stefanvanburen) in
[#&#8203;1039](https://redirect.github.com/connectrpc/connect-go/pull/1039)

#### New Contributors

- [@&#8203;raveesh-me](https://redirect.github.com/raveesh-me) made
their first contribution in
[#&#8203;1035](https://redirect.github.com/connectrpc/connect-go/pull/1035)

**Full Changelog**:
<https://github.com/connectrpc/connect-go/compare/v2.0.1...v2.0.2>

</details>

<details>
<summary>crowdin/github-action</summary>

###
[`v3.5.0`](https://redirect.github.com/crowdin/github-action/releases/tag/v3.5.0)

[Compare
Source](https://redirect.github.com/crowdin/github-action/compare/v3.4.0...v3.5.0)

#### What's Changed

- CLI
[5.5.0](https://redirect.github.com/crowdin/crowdin-cli/releases/tag/5.5.0)
by [@&#8203;andrii-bodnar](https://redirect.github.com/andrii-bodnar)

**Full Changelog**:
<https://github.com/crowdin/github-action/compare/v3.4.0...v3.5.0>

</details>

<details>
<summary>djlint/djLint (djlint)</summary>

###
[`v1.47.1`](https://redirect.github.com/djlint/djLint/blob/HEAD/CHANGELOG.md#1471---2026-10-26)

[Compare
Source](https://redirect.github.com/djlint/djLint/compare/v1.47.0...v1.47.1)

##### Fix

- `preserve-inline` in the `js` setting `brace_style` takes effect, so
`{ bubbles: true }` stays on one line in a `<script>` or in an attribute
formatted with `--format-attribute-js-json`. It used to be dropped
before the code was formatted.
- The json schema allows any option under `css` and `js`, so a strict
validator such as Tombi no longer reports `indent_size` there.

###
[`v1.47.0`](https://redirect.github.com/djlint/djLint/blob/HEAD/CHANGELOG.md#1470---2026-10-22)

[Compare
Source](https://redirect.github.com/djlint/djLint/compare/v1.46.6...v1.47.0)

##### Feature

- New option `--sort-load-tags` / `sort_load_tags` sorts the libraries
in a `{% load %}` tag and drops the ones written twice, so `{% load
static i18n %}` becomes `{% load i18n static %}`. In `{% load a b from
library %}` the names before `from` are sorted. It is off by default:
where two libraries define a tag or filter of the same name, the one
loaded last wins, so sorting can change which one a template uses.
- The formatter drops the spaces `H012` reports around an attribute's
`=`, so `<div class = "a">` becomes `<div class="a">`.

##### Changed

- `H010` reports the names the formatter lowercases, in any mix of case,
so `Width="3"` is now reported. A framework binding such as `:itemID` or
`@ID` and a longer name such as `data-ID` no longer are, since the
formatter leaves their case alone.
- `H018` is not reported under `--close-void-tags`, since the formatter
then writes the `/>` ending the rule reports. `--ignore-case` already
worked this way for `H009` and `H010`.

##### Fix

- `H020` reports an empty pair whose end tag has whitespace before its
`>`, such as `<div></div\n>`.
- `H026` reports a `class` or `id` holding only whitespace, such as
`class=" "`, and one written with spaces around the `=`.
- `H033` reports an action padded at both ends once. It used to report
it twice, unless an attribute before `action` happened to make the two
reports look the same.
- Markup written inside an attribute value, as in `<p title="<img
src='a'>">`, is text, and `H005`, `H008`, `H010`, `H012`, `D018`,
`J018`, `H024`, `H026`, `H029` and `H033` no longer report it. `H046`
and `H051` read `tabindex` and `role` from the tag's own attributes, so
`tabindex=1` written in a value or in the page text is not reported
either.
- `T001` and `T027` read a tag holding a dict, such as `{{ f({"a": {"b":
1}}) }}`, up to the `}}` that closes it rather than the first `}}`
inside it.
- `T032` steps over an escaped quote in a string, so the spaces in `{{
x|default:"a \"b c\"" }}` are not reported.
- `H015` reports a heading followed by a tag on the same line anywhere
in the file. It used to look only at the last line.
- The rules that read a tag's attributes step over a template tag
written in it, including a handlebars `{{{attrs}}}` and a dict as in `{{
{'class': 'x'}|xmlattr }}`, so `<img {{ attrs }} src='a'>` is reported
by `H008`, which used to stop reading at the `{{`.
- `T038` steps over a string in a block tag, so the `{%` in `{% with
a="{%" %}` does not cut the tag short.

##### Performance

- The rules that read a tag's attributes stop at a stray `<`, and
`H015`, `H030`, `H036`, `T001`, `T027`, `T038` and `T039` no longer read
the rest of the document again for each tag. A file holding thousands of
unclosed tags or headings on one line is linted in a fraction of a
second, where it used to take minutes.

</details>

<details>
<summary>docker/login-action</summary>

###
[`v4.7.0`](https://redirect.github.com/docker/login-action/releases/tag/v4.7.0)

[Compare
Source](https://redirect.github.com/docker/login-action/compare/v4.6.0...v4.7.0)

- Preserve explicit ECR settings in `registry-auth` by
[@&#8203;crazy-max](https://redirect.github.com/crazy-max) in
[#&#8203;1089](https://redirect.github.com/docker/login-action/pull/1089)
- Use registry hosts for scoped credentials by
[@&#8203;crazy-max](https://redirect.github.com/crazy-max) in
[#&#8203;1088](https://redirect.github.com/docker/login-action/pull/1088)
- Raise Docker Hub OIDC max expiry to 6 hours by
[@&#8203;crazy-max](https://redirect.github.com/crazy-max) in
[#&#8203;1068](https://redirect.github.com/docker/login-action/pull/1068)
- Log Docker Hub OIDC token exchange progress by
[@&#8203;crazy-max](https://redirect.github.com/crazy-max) in
[#&#8203;1061](https://redirect.github.com/docker/login-action/pull/1061)
- Bump
[@&#8203;aws-sdk/client-ecr](https://redirect.github.com/aws-sdk/client-ecr)
and
[@&#8203;aws-sdk/client-ecr-public](https://redirect.github.com/aws-sdk/client-ecr-public)
to 3.1154.0 in
[#&#8203;1093](https://redirect.github.com/docker/login-action/pull/1093)
- Bump
[@&#8203;docker/actions-toolkit](https://redirect.github.com/docker/actions-toolkit)
from 0.94.0 to 0.107.0 in
[#&#8203;1100](https://redirect.github.com/docker/login-action/pull/1100)
- Bump [@&#8203;humanfs/node](https://redirect.github.com/humanfs/node)
from 0.16.7 to 0.16.8 in
[#&#8203;1077](https://redirect.github.com/docker/login-action/pull/1077)
- Bump csv-parse from 7.0.1 to 7.0.3 in
[#&#8203;1078](https://redirect.github.com/docker/login-action/pull/1078)
- Bump handlebars from 4.7.9 to 4.7.10 in
[#&#8203;1091](https://redirect.github.com/docker/login-action/pull/1091)
- Bump js-yaml from 5.2.2 to 5.5.0 in
[#&#8203;1066](https://redirect.github.com/docker/login-action/pull/1066)
- Bump postcss from 8.5.22 to 8.5.26 in
[#&#8203;1071](https://redirect.github.com/docker/login-action/pull/1071)
- Bump postcss-selector-parser from 7.1.1 to 7.1.6 in
[#&#8203;1092](https://redirect.github.com/docker/login-action/pull/1092)
- Bump source-map-js from 1.2.1 to 1.2.2 in
[#&#8203;1090](https://redirect.github.com/docker/login-action/pull/1090)
- Bump undici from 6.27.0 to 6.29.1 in
[#&#8203;1085](https://redirect.github.com/docker/login-action/pull/1085)
- Bump uuid from 14.0.1 to 14.0.3 in
[#&#8203;1096](https://redirect.github.com/docker/login-action/pull/1096)

**Full Changelog**:
<https://github.com/docker/login-action/compare/v4.6.0...v4.7.0>

</details>

<details>
<summary>sindresorhus/eslint-plugin-unicorn
(eslint-plugin-unicorn)</summary>

###
[`v79.0.0`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v79.0.0)

[Compare
Source](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/compare/v78.0.0...v79.0.0)

#### Breaking

- `no-top-level-side-effects`: Focus on mutations of globals, and remove
it from the `unopinionated` preset
([#&#8203;3915](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3915))
[`24abac4`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/24abac48)
- Unknown calls are no longer reported by default. Enable the new
[`checkUnknownCalls`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-top-level-side-effects.md#checkunknowncalls)
option for stricter checking.
- Mutations of globals, like `document.title = 'x'` and
`Object.assign(globalThis, …)`, are now reported, also in declarations
and default exports. You may see new reports.

#### Improvements

- Infer types from JSDoc `@type`, `@param`, and `@returns` annotations
in rules that use type information
([#&#8203;3941](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3941))
[`2b4bfab`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/2b4bfab0)
- Handle template literals without expressions like strings in more
rules
([#&#8203;3943](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3943))
[`8bd8c06`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/8bd8c063)
- Autofix more code that contains comments, while keeping the comments
([#&#8203;3939](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3939))
[`87baf82`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/87baf82f)
- Fix autofixes in many rules that could produce broken code or wrong
parentheses
([#&#8203;3917](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3917))
[`fed7eac`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/fed7eac2)
- Make autofixes safer in many rules
- Fixes that can change behavior in rare cases are now suggestions, for
example in `prefer-spread`, `prefer-math-min-max`,
`prefer-modern-dom-apis`, and `prefer-switch`.
- Improve performance
[`175efaf`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/175efaf1)
[`3dd8fd2`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/3dd8fd28)
- `comment-content`: Add
[`ignore`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/comment-content.md#ignore)
option
([#&#8203;3950](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3950))
[`3fe046e`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/3fe046e6)
- `consistent-function-scoping`: Ignore functions in Vitest hoisted
factories
([#&#8203;3905](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3905))
[`98912a9`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/98912a91)
- `custom-error-definition`: Ignore abstract TypeScript classes
([#&#8203;3934](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3934))
[`ee3501f`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/ee3501fb)
- `no-non-function-verb-prefix`: Ignore shorthand destructuring
([#&#8203;3926](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3926))
[`76e5760`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/76e5760b)
- `no-top-level-side-effects`: Recognize more config helpers
([#&#8203;3916](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3916))
[`d459c51`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/d459c511)
- `no-useless-coercion`: Preserve boolean return types in TypeScript
([#&#8203;3904](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3904))
[`bef1571`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/bef15714)
- `prefer-array-some`: Check `.find()` results used as booleans
([#&#8203;3913](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3913))
[`c957bf3`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/c957bf3d)
- `prefer-default-parameters`: Skip unsafe logical OR fallbacks
([#&#8203;3951](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3951))
[`bcec97a`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/bcec97a4)
- `prefer-includes`: Skip incompatible TypeScript search values
([#&#8203;3927](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3927))
[`d66441a`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/d66441aa)
- `prefer-includes-over-repeated-comparisons`: Report negated and typed
loose comparisons
([#&#8203;3935](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3935))
[`6e21cb1`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/6e21cb1b)
- `prefer-includes-over-repeated-comparisons`: Preserve TypeScript union
narrowing
([#&#8203;3910](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3910))
[`b5c479d`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/b5c479d8)
- `prefer-literal-ascii`: Preserve escaped trailing spaces in templates
([#&#8203;3911](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3911))
[`360094b`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/360094bb)
- `prefer-minimal-ternary`: Skip minimizations that break types
([#&#8203;3892](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3892))
[`f022d6d`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/f022d6d1)
- `prefer-modern-math-apis`: Use suggestions for changes that can affect
numeric results
([#&#8203;3914](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3914))
[`8af7c17`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/8af7c172)
- `prefer-simple-condition-first`: Improve `typeof` comparisons and
guards
([#&#8203;3948](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3948))
[`ee3edf0`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/ee3edf06)
- `prefer-simplified-conditions`: Handle equivalent logical expressions
([#&#8203;3938](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3938))
[`a0b2788`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/a0b2788b)
- `prefer-simplified-conditions`: Factor common terms in longer chains
and static templates
([#&#8203;3942](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3942))
[`0d8c8bc`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/0d8c8bcb)
- `prefer-smaller-scope`: Check TypeScript type aliases
([#&#8203;3928](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3928))
[`290d922`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/290d922c)
- `prefer-string-raw`: Preserve TypeScript literal types in autofixes
([#&#8203;3912](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3912))
[`0611546`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/06115464)
- `prefer-ternary`: Preserve consecutive early-return guards
([#&#8203;3945](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3945))
[`3fa840f`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/3fa840fe)
- `require-post-message-target-origin`: Skip incompatible typed methods
([#&#8203;3925](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3925))
[`387194b`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/387194bd)
- `throw-new-error`: Ignore calls that return functions
([#&#8203;3894](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3894))
[`5e35def`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/5e35def7)

***

</details>

<details>
<summary>vuejs/eslint-plugin-vue (eslint-plugin-vue)</summary>

###
[`v10.12.0`](https://redirect.github.com/vuejs/eslint-plugin-vue/blob/HEAD/CHANGELOG.md#10120)

[Compare
Source](https://redirect.github.com/vuejs/eslint-plugin-vue/compare/v10.11.1...v10.12.0)

##### New rules

- Added new
[`vue/no-content-outside-block`](https://eslint.vuejs.org/rules/no-content-outside-block.html)
rule
([#&#8203;3119](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3119))
- Added new
[`vue/no-define-model-default`](https://eslint.vuejs.org/rules/no-define-model-default.html)
rule
([#&#8203;3146](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3146))
- Added new
[`vue/no-props-shadow`](https://eslint.vuejs.org/rules/no-props-shadow.html)
rule
([#&#8203;3118](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3118))

##### New rule options

- Added `required` option to
[`vue/block-lang`](https://eslint.vuejs.org/rules/block-lang.html) to
report components that omit a required block entirely
([#&#8203;3125](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3125))
- Added `ignoreMixins` option to
[`vue/require-explicit-emits`](https://eslint.vuejs.org/rules/require-explicit-emits.html)
rule
([#&#8203;3141](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3141))

##### Fixed false negatives (may result in more lint issues)

- Added support for refs detected by type information, such as refs
returned from composables, to
[`vue/no-ref-as-operand`](https://eslint.vuejs.org/rules/no-ref-as-operand.html)
rule
([#&#8203;3144](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3144))
- Fixed
[`vue/no-dupe-keys`](https://eslint.vuejs.org/rules/no-dupe-keys.html)
not reporting `defineModel()` names that collide with a prop, another
model, or a `<script setup>` variable
([#&#8203;3163](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3163))
- Fixed
[`vue/no-dupe-keys`](https://eslint.vuejs.org/rules/no-dupe-keys.html)
not reporting `<script setup>` variables that shadow a prop while
aliasing a different one, such as `const foo = toRef(props, 'bar')`
([#&#8203;3124](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3124))
- Fixed
[`vue/no-multi-spaces`](https://eslint.vuejs.org/rules/no-multi-spaces.html)
not reporting multiple spaces in the tags of some top-level blocks, e.g.
`<script setup>`
([#&#8203;3162](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3162))
- Fixed
[`vue/no-ref-as-operand`](https://eslint.vuejs.org/rules/no-ref-as-operand.html)
and
[`vue/no-ref-object-reactivity-loss`](https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html)
to also check refs created with `useTemplateRef()`
([#&#8203;3154](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3154))
- Fixed
[`vue/no-unused-properties`](https://eslint.vuejs.org/rules/no-unused-properties.html)
not reporting unused non-props properties in components that use
`$props` as a whole (e.g. `v-bind="$props"`)
([#&#8203;3161](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3161))
- Fixed
[`vue/padding-lines-in-component-definition`](https://eslint.vuejs.org/rules/padding-lines-in-component-definition.html)
to check every pair of adjacent properties, not only the first, when
`withinOption` or `withinEach` is not set
([#&#8203;3155](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3155))
- Fixed
[`vue/require-default-prop`](https://eslint.vuejs.org/rules/require-default-prop.html),
[`vue/no-boolean-default`](https://eslint.vuejs.org/rules/no-boolean-default.html),
[`vue/no-required-prop-with-default`](https://eslint.vuejs.org/rules/no-required-prop-with-default.html)
and
[`vue/require-valid-default-prop`](https://eslint.vuejs.org/rules/require-valid-default-prop.html)
not handling defaults that are passed to `withDefaults()` by reference
or spread instead of an inline object literal
([#&#8203;3114](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3114))

##### Fixed false positives (may result in fewer lint issues)

- Changed
[`vue/singleline-html-element-content-newline`](https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html)
and
[`vue/multiline-html-element-content-newline`](https://eslint.vuejs.org/rules/multiline-html-element-content-newline.html)
rules to ignore `router-link` and `nuxt-link` elements by default
([#&#8203;3165](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3165))
- Fixed
[`vue/no-undef-properties`](https://eslint.vuejs.org/rules/no-undef-properties.html)
false positives for properties returned via `...toRefs(reactive({ ...
}))` from `setup()`
([#&#8203;3134](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3134))
- Fixed
[`vue/require-typed-ref`](https://eslint.vuejs.org/rules/require-typed-ref.html)
false positives when an explicit type annotation already applies to the
`ref()` call
([#&#8203;3123](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3123))
- Fixed
[`vue/v-if-else-key`](https://eslint.vuejs.org/rules/v-if-else-key.html)
false positive for components with a bound `:key`
([#&#8203;3150](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3150))

##### Other changes

- Removed Reactivity Transform support from
[`vue/no-ref-object-reactivity-loss`](https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html),
since the Reactivity Transform proposal was dropped from Vue
([#&#8203;3126](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3126))
- Changed
[`vue/html-self-closing`](https://eslint.vuejs.org/rules/html-self-closing.html)
to treat Vue's special `<slot>` and `<template>` elements as components
(`html.component` option) instead of normal HTML elements
([#&#8203;3164](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3164))
- Changed
[`vue/attributes-order`](https://eslint.vuejs.org/rules/attributes-order.html)
rule to provide a suggestion instead of an autofix when the fix would
move a binding across `v-bind="object"`
([#&#8203;3145](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3145))
- Improved performance of
[`vue/no-reserved-component-names`](https://eslint.vuejs.org/rules/no-reserved-component-names.html)
by no longer rebuilding its reserved name sets for every file
([#&#8203;3147](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3147))

</details>

<details>
<summary>gitea/go-sdk (gitea.dev/sdk)</summary>

### [`v1.5.0`](https://gitea.com/gitea/go-sdk/releases/tag/v1.5.0)

[Compare Source](https://gitea.com/gitea/go-sdk/compare/v1.4.0...v1.5.0)

#### What's Changed

- feat: allow PAT-authenticated clients to manage access tokens in
[#&#8203;840](https://gitea.com/gitea/go-sdk/pulls/840)
- fix(pull): surface the server's error when a merge is refused in
[#&#8203;870](https://gitea.com/gitea/go-sdk/pulls/870)
- feat(hook): add name option to webhooks in
[#&#8203;867](https://gitea.com/gitea/go-sdk/pulls/867)
- feat: cover the API options gitea-cli still calls raw in
[#&#8203;862](https://gitea.com/gitea/go-sdk/pulls/862)
- ci: implement gitea's cache-seeder in
[#&#8203;866](https://gitea.com/gitea/go-sdk/pulls/866)
- Add bitbucketserver and forgejo migration service types in
[#&#8203;868](https://gitea.com/gitea/go-sdk/pulls/868)
- chore(deps): update dependencies in
[#&#8203;869](https://gitea.com/gitea/go-sdk/pulls/869)
- chore: remove the Client wrapper generator in
[#&#8203;865](https://gitea.com/gitea/go-sdk/pulls/865)
- feat: add force push and stale approval fields to branch protections
in [#&#8203;864](https://gitea.com/gitea/go-sdk/pulls/864)

#### Contributors

- [@&#8203;sedlund](https://redirect.github.com/sedlund)
- [@&#8203;Svtter](https://redirect.github.com/Svtter)
- [@&#8203;SudhanshuSingh](https://redirect.github.com/SudhanshuSingh)
- [@&#8203;bircni](https://redirect.github.com/bircni)
- [@&#8203;silverwind](https://redirect.github.com/silverwind)
- [@&#8203;lunny](https://redirect.github.com/lunny)
- [@&#8203;renovate-bot](https://redirect.github.com/renovate-bot)

#### New Contributors

- [@&#8203;Svtter](https://redirect.github.com/Svtter) made their first
contribution in [#&#8203;870](https://gitea.com/gitea/go-sdk/pulls/870)
- [@&#8203;bircni](https://redirect.github.com/bircni) made their first
contribution in [#&#8203;862](https://gitea.com/gitea/go-sdk/pulls/862)
- [@&#8203;SudhanshuSingh](https://redirect.github.com/SudhanshuSingh)
made their first contribution in
[#&#8203;864](https://gitea.com/gitea/go-sdk/pulls/864)

**Full Changelog**:
[v1.4.0...v1.5.0](https://gitea.com/gitea/go-sdk/compare/v1.4.0...v1.5.0)

### [`v1.4.0`](https://gitea.com/gitea/go-sdk/releases/tag/v1.4.0)

[Compare Source](https://gitea.com/gitea/go-sdk/compare/v1.3.0...v1.4.0)

#### What's Changed

- fix: retry server version lookup after failure in
[#&#8203;829](https://gitea.com/gitea/go-sdk/pulls/829)
- chore(deps): update dependencies, adapt to Gitea 28 in
[#&#8203;863](https://gitea.com/gitea/go-sdk/pulls/863)
- chore: update golangci-lint for Go 1.27.2, exclude dagger from
Renovate in [#&#8203;861](https://gitea.com/gitea/go-sdk/pulls/861)

**Note**: Gitea skipped 1.28, so the project and workflow run
approve/cancel/logs APIs are now gated on Gitea 28.0.0. Clients pinning
`SetGiteaVersion("1.28.0")` must switch to `"28.0.0"`.

#### Contributors

- [@&#8203;noeljackson](https://redirect.github.com/noeljackson)
- [@&#8203;silverwind](https://redirect.github.com/silverwind)
- [@&#8203;renovate-bot](https://redirect.github.com/renovate-bot)

**Full Changelog**:
[v1.3.0...v1.4.0](https://gitea.com/gitea/go-sdk/compare/v1.3.0...v1.4.0)

Written by Claude.

</details>

<details>
<summary>buildkite/terminal-to-html
(github.com/buildkite/terminal-to-html/v3)</summary>

###
[`v3.17.3`](https://redirect.github.com/buildkite/terminal-to-html/releases/tag/v3.17.3)

[Compare
Source](https://redirect.github.com/buildkite/terminal-to-html/compare/v3.17.2...v3.17.3)

####
[v3.17.3](https://redirect.github.com/buildkite/terminal-to-html/tree/v3.17.3)

[Full
Changelog](https://redirect.github.com/buildkite/terminal-to-html/compare/v3.17.2...v3.17.3)

This release provides the Linux, macOS, and Windows binaries missing
from v3.17.2. Apart from the version number, application code is
unchanged from v3.17.2.

##### Changed

- Prepare versioned binaries for v3.17.3.
[#&#8203;293](https://redirect.github.com/buildkite/terminal-to-html/pull/293)
([@&#8203;wolfeidau](https://redirect.github.com/wolfeidau))
- Document the draft-first binary release process, including artifact
verification and immutable release restrictions.
[#&#8203;292](https://redirect.github.com/buildkite/terminal-to-html/pull/292)
([@&#8203;wolfeidau](https://redirect.github.com/wolfeidau))

##### Included from v3.17.2

- Remove `html/template` from the rendering path to avoid a runtime trap
when rendering with TinyGo, while preserving the generated HTML.
[#&#8203;282](https://redirect.github.com/buildkite/terminal-to-html/pull/282)
([@&#8203;dannymidnight](https://redirect.github.com/dannymidnight))
- Raise the minimum supported Go version to **1.26.10** and update the
development/CI Go Docker image.
[#&#8203;290](https://redirect.github.com/buildkite/terminal-to-html/pull/290)
([@&#8203;wolfeidau](https://redirect.github.com/wolfeidau))
- Bump `golang.org/x/sys` to 0.47.0.
[#&#8203;280](https://redirect.github.com/buildkite/terminal-to-html/pull/280)
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])

###
[`v3.17.2`](https://redirect.github.com/buildkite/terminal-to-html/releases/tag/v3.17.2)

[Compare
Source](https://redirect.github.com/buildkite/terminal-to-html/compare/v3.17.1...v3.17.2)

####
[v3.17.2](https://redirect.github.com/buildkite/terminal-to-html/tree/v3.17.2)

[Full
Changelog](https://redirect.github.com/buildkite/terminal-to-html/compare/v3.17.1...v3.17.2)

##### Fixed

- Remove `html/template` from the rendering path to avoid a runtime trap
when rendering with TinyGo, while preserving the generated HTML.
[#&#8203;282](https://redirect.github.com/buildkite/terminal-to-html/pull/282)
([@&#8203;dannymidnight](https://redirect.github.com/dannymidnight))

##### Changed

- Raise the minimum supported Go version from 1.25.0 to 1.26.10.
[#&#8203;290](https://redirect.github.com/buildkite/terminal-to-html/pull/290)
([@&#8203;wolfeidau](https://redirect.github.com/wolfeidau))

##### Dependency updates

- Update the development/CI Go Docker image from 1.26.4 to 1.26.10.
[#&#8203;281](https://redirect.github.com/buildkite/terminal-to-html/pull/281),
[#&#8203;290](https://redirect.github.com/buildkite/terminal-to-html/pull/290)
- Bump `golang.org/x/sys` from 0.46.0 to 0.47.0.
[#&#8203;280](https://redirect.github.com/buildkite/terminal-to-html/pull/280)
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])

</details>

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

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

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

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

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

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

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

</details>

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

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

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

#### What's Changed

- openapi2conv: push path-level body/formData parameters into operations
by [@&#8203;Yi-111-a](https://redirect.github.com/Yi-111-a) in
[#&#8203;1340](https://redirect.github.com/getkin/kin-openapi/pull/1340)
- fix(openapi3): resolve transitive component refs in JSON Schema
2020-12 validation by
[@&#8203;Yi-111-a](https://redirect.github.com/Yi-111-a) in
[#&#8203;1342](https://redirect.github.com/getkin/kin-openapi/pull/1342)
- openapi3: honor readOnly/writeOnly from allOf schemas in required
checks by [@&#8203;ybai08](https://redirect.github.com/ybai08) in
[#&#8203;1343](https://redirect.github.com/getkin/kin-openapi/pull/1343)
- openapi3: resolve $refs of Components.Links by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1344](https://redirect.github.com/getkin/kin-openapi/pull/1344)
- openapi3: marshal a schema's empty type list as absent rather than
null by [@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1345](https://redirect.github.com/getkin/kin-openapi/pull/1345)
- openapi3: drop the Header dump from its content/schema error by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1346](https://redirect.github.com/getkin/kin-openapi/pull/1346)
- openapi3gen: always propagate field tag by
[@&#8203;phooijenga](https://redirect.github.com/phooijenga) in
[#&#8203;1347](https://redirect.github.com/getkin/kin-openapi/pull/1347)
- routers/gorillamux: return an error instead of panicking when
registering routes by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1348](https://redirect.github.com/getkin/kin-openapi/pull/1348)
- openapi3: report $refs to null nodes as unresolved instead of
panicking by [@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1349](https://redirect.github.com/getkin/kin-openapi/pull/1349)
- openapi3: validate null servers, server variables, tags and components
without panicking by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1351](https://redirect.github.com/getkin/kin-openapi/pull/1351)
- openapi2conv: fix FromV3Parameter panics on binary schema refs and
value-less schemas by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1352](https://redirect.github.com/getkin/kin-openapi/pull/1352)
- openapi3filter: parse integer values as base 10 by
[@&#8203;LuisFigueroaG](https://redirect.github.com/LuisFigueroaG) in
[#&#8203;1353](https://redirect.github.com/getkin/kin-openapi/pull/1353)
- openapi3filter: decode spaceDelimited and pipeDelimited query objects
by [@&#8203;ybai08](https://redirect.github.com/ybai08) in
[#&#8203;1350](https://redirect.github.com/getkin/kin-openapi/pull/1350)
- Case-sensitive usmarshalling with json/v2 by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1355](https://redirect.github.com/getkin/kin-openapi/pull/1355)
- openapi3filter: decode deepObject and non-exploded form object
properties of urlencoded bodies by
[@&#8203;ybai08](https://redirect.github.com/ybai08) in
[#&#8203;1354](https://redirect.github.com/getkin/kin-openapi/pull/1354)
- openapi3: keep $ref siblings on a schema reached through a cycle by
[@&#8203;Yi-111-a](https://redirect.github.com/Yi-111-a) in
[#&#8203;1357](https://redirect.github.com/getkin/kin-openapi/pull/1357)
- tests: go around encoding/json/v2's randomness in error message by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1361](https://redirect.github.com/getkin/kin-openapi/pull/1361)
- tests: remove actual network calls from tests by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1362](https://redirect.github.com/getkin/kin-openapi/pull/1362)
- tests: run more in parallel by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1363](https://redirect.github.com/getkin/kin-openapi/pull/1363)
- openapi3: ignore reference siblings in OpenAPI 3.0 by
[@&#8203;lucky798213](https://redirect.github.com/lucky798213) in
[#&#8203;1268](https://redirect.github.com/getkin/kin-openapi/pull/1268)
- openapi3: WalkSchemas and WalkParameters stop on a callback cycle by
[@&#8203;reuvenharrison](https://redirect.github.com/reuvenharrison) in
[#&#8203;1364](https://redirect.github.com/getkin/kin-openapi/pull/1364)
- openapi3filter: validate response headers described with content by
[@&#8203;LuisFigueroaG](https://redirect.github.com/LuisFigueroaG) in
[#&#8203;1358](https://redirect.github.com/getkin/kin-openapi/pull/1358)
- openapi3filter: honor ExcludeRequestQueryParams for path item
parameters by
[@&#8203;LuisFigueroaG](https://redirect.github.com/LuisFigueroaG) in
[#&#8203;1365](https://redirect.github.com/getkin/kin-openapi/pull/1365)
- openapi3: handle fields next to $ref as OpenAPI 3.0, 3.1 and 3.2
specify by [@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1371](https://redirect.github.com/getkin/kin-openapi/pull/1371)
- changelog: fixup rebased messes by
[@&#8203;fenollp](https://redirect.github.com/fenollp) in
[#&#8203;1372](https://redirect.github.com/getkin/kin-openapi/pull/1372)

#### New Contributors

- [@&#8203;ybai08](https://redirect.github.com/ybai08) made their first
contribution in
[#&#8203;1343](https://redirect.github.com/getkin/kin-openapi/pull/1343)
- [@&#8203;phooijenga](https://redirect.github.com/phooijenga) made
their first contribution in
[#&#8203;1347](https://redirect.github.com/getkin/kin-openapi/pull/1347)

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

</details>

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

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

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

#### What's Changed

- feat(scheduler): WithStartAtGrace opt-in tolerance for late first-run
dispatch by
[@&#8203;JohnRoesler](https://redirect.github.com/JohnRoesler) in
[#&#8203;945](https://redirect.github.com/go-co-op/gocron/pull/945)
- fix(executor,scheduler): use injected clock for job timing and guard
reschedule loop by
[@&#8203;JohnRoesler](https://redirect.github.com/JohnRoesler) in
[#&#8203;946](https://redirect.github.com/go-co-op/gocron/pull/946)
- fix(executor): attribute scheduling delay to the tick that actually
fired by [@&#8203;JohnRoesler](https://redirect.github.com/JohnRoesler)
in [#&#8203;948](https://redirect.github.com/go-co-op/gocron/pull/948)
- refactor(scheduler): extract shared first-run logic from
selectNewJob/selectStart by
[@&#8203;JohnRoesler](https://redirect.github.com/JohnRoesler) in
[#&#8203;947](https://redirect.github.com/go-co-op/gocron/pull/947)
- build(deps): bump actions/setup-go from 6 to 7 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;949](https://redirect.github.com/go-co-op/gocron/pull/949)
- build(deps): bump actions/setup-python from 6 to 7 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;950](https://redirect.github.com/go-co-op/gocron/pull/950)
- ci: updating golangci-lint to 2.13.1 to support go 1.27 by
[@&#8203;manuelarte](https://redirect.github.com/manuelarte) in
[#&#8203;954](https://redirect.github.com/go-co-op/gocron/pull/954)
- Exclude stable Go version in CI workflow by
[@&#8203;JohnRoesler](https://redirect.github.com/JohnRoesler) in
[#&#8203;968](https://redirect.github.com/go-co-op/gocron/pull/968)
- docs: removing retired go report badge by
[@&#8203;manuelarte](https://redirect.github.com/manuelarte) in
[#&#8203;952](https://redirect.github.com/go-co-op/gocron/pull/952)
- build(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203

> [!IMPORTANT]
> ✂ PR body was truncated to here.


</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
  - At any time (no schedule defined)

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

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

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

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

---------

Co-authored-by: silverwind <me@silverwind.io>
2026-11-02 19:30:55 +00:00
Giteabotandsilverwind 7e164fe61a chore(deps): update dependencies, migrate to connectrpc.com/connect v2 (#39854)
Co-authored-by: silverwind <me@silverwind.io>
2026-10-22 01:48:49 +00:00
silverwind 428d72d26f chore: re-enable and extend unescaped-html-literal eslint rule (#39832)
https://github.com/go-gitea/gitea/pull/38046 accidentally dropped
`gitea/unescaped-html-literal` from the eslint config, so it has been
off since. Raised in
https://github.com/go-gitea/gitea/pull/39829#issuecomment-6246720235.

- Re-enable the rule, exempting e2e tests like unit tests
- Detect tags anywhere in strings and template chunks, not only at the
start
- Allow `htmlRaw` templates, they escape like `html`
- Fix the existing violations, which escapes the heatmap tooltip and
shortcut keys
2026-10-18 07:37:17 +00:00
Giteabotandsilverwind 27d876e311 chore(deps): update dependencies, add new lint rules, fix lint (#39601)
Co-authored-by: silverwind <me@silverwind.io>
2026-10-05 10:11:50 +00:00
silverwind 99573bde0e chore(lint): apply the main eslint config to vue files (#39545)
Vue files only got `eslint-plugin-vue` rules, so stylistic and
TypeScript rules never ran on them, and `import-x` could not see cycles
between `.ts` and `.vue` files.

- Apply the main ESLint config to `.vue` files
- Let `import-x` parse `.vue` files, which surfaced a cycle between
`repo-findfile.ts` and `RepoFileSearch.vue`
- Fix the resulting lint issues

`vue-eslint-parser` is added as a direct dependency because `import-x`
resolves parsers by package name, see
https://github.com/un-ts/eslint-plugin-import-x/issues/381.
2026-10-03 00:47:13 +00:00
silverwindandbircni 857d3d3df3 chore: update eslint, enable more rules and fix their findings (#39438)
Update eslint and its plugins, enable more rules and fix their findings:

1. `unicorn/no-unsafe-string-replacement` found that uploading a file
whose name contains `$&` inserted a broken markdown link, because
`String#replace` expands such patterns in the replacement string
2. `@typescript-eslint/require-await` removes `async` from functions
that never await
3. Plugin rules not covered by a preset are now listed explicitly

---------

Co-authored-by: bircni <bircni@icloud.com>
2026-09-26 07:20:39 +00:00
silverwind 309c872ce5 chore: update eslint plugins and configure new unicorn rules (#39357)
Update all eslint plugins and configure the new unicorn rules.

The new unicorn CSS rules stay off because stylelint already covers most
of them.

`unicorn/prefer-iterator-helpers` is disabled because it forces too-new
browser requirements onto Gitea.

No new violations in the code.
2026-09-18 23:58:36 +00:00
silverwindandwxiaoguang 7c280c0ce6 refactor: replace jquery.are-you-sure with first-party code (#39233)
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-09-06 14:43:49 +08:00
silverwindandwxiaoguang 61be9fcdfa chore: update eslint and stylelint configs and re-sync modern-normalize (#38982)
- update the vendored `modern-normalize` to v3.0.1
- require descriptions for lint disables in TS and CSS, same as we
already have in Go.
- disable core rules covered by `regexp/*` and `unicorn/*`, and ones
that cannot fire
- stop applying vitest rules to the playwright files in `tests/e2e`
- enable 7 stylelint rules, mostly `no-unknown` and `no-invalid` checks
- drop 2 unnecessary vendor prefixes (safari v17+, chrome v120+)
- look up ids via `querySelector` with `CSS.escape` instead of
`getElementById`
- remove stale doc about `@ts-expect-error`, it's forbidden
- misc dev doc fixes

Every declaration that `modern-normalize` v3 removes was checked against
chromium, webkit and firefox defaults first. The `hr` color and the
`:-moz-focusring` outline are kept as documented deviations, dropping
those does change rendering.

---------

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-08-20 09:57:56 -04:00
silverwind df71d5f5e2 test: run frontend unit tests in browsers (#38860)
Run them in headless [vitest browser
mode](https://vitest.dev/guide/browser/) in chromium and firefox.
Similar UX than current tests, it's about 5 times as slow (goes from 1s
to 5s on my machine), but definitely worth it as it removes all
happy-dom problems.

---------

Signed-off-by: silverwind <me@silverwind.io>
2026-08-17 22:22:54 +00:00
Giteabot a8fe401613 chore(deps): update dependencies (#38851) 2026-08-10 15:50:32 +02:00
silverwindandwxiaoguang b3b9c4903e chore(deps): update eslint, remove eslint-plugin-sonarjs (#38536)
- update eslint and related dependencies, `eslint-plugin-unicorn` to v72
with new rules enabled
- remove `eslint-plugin-sonarjs` (mostly obsolete or slow rules)
- extract shared eslint args into `ESLINT_ARGS` make variable
- rewrite ignore patterns in `eslint.json.config.ts` as explicit
root-relative paths: add `data` (local server data failed `lint-json`),
drop `node_modules` (ignored by default)
- fix a broken link in `CONTRIBUTING.md` (discovered during markdown
linting with eslint, but decided to not add that yet)

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-07-20 10:08:34 +02:00
silverwindandClaude e8d2c493bb chore: update eslint-plugin-unicorn to v70 (#38310)
Bumps to https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v70.0.0,
enable all new rules, no violations.

---------

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.8) <noreply@anthropic.com>
2026-07-02 14:09:37 -07:00
silverwindandbircni c52a07dcfe chore: remove eslint-plugin-array-func (#38294)
The rules from `eslint-plugin-array-func` are redundant with
`eslint-plugin-unicorn`:

- `from-map` → `unicorn/prefer-array-from-map`
- `no-unnecessary-this-arg` → `unicorn/no-array-method-this-argument`
- `prefer-flat` / `prefer-flat-map` → `unicorn/prefer-array-flat` /
`unicorn/prefer-array-flat-map` (already disabled here)

The two remaining rules (`avoid-reverse`, `prefer-array-from`) are niche
and not worth carrying an extra dependency for.

Co-authored-by: bircni <bircni@icloud.com>
2026-07-01 20:16:42 +00:00
silverwind a64131e22d chore: update eslint plugins and config (#38264)
1. Bump all eslint dependencies, enable some of the new unicorn rules
2. Remove `eslint-plugin-de-morgan`, it sometimes causes readability
issues
3. Disable some of the unicorn rules that are known to produce
false-positives
4. Remove obsolete type cast
5. Fix one violation of
https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-dom-node-replace-children.md

---------

Signed-off-by: silverwind <me@silverwind.io>
2026-06-30 13:53:29 +00:00
silverwindandwxiaoguang 804b9bf120 chore: upgrade eslint plugins, remove eslint-plugin-github (#38046)
- Bump `eslint`, `typescript-eslint` and `eslint-plugin-unicorn` (to
v68), and configure the rules added in unicorn v66/v67/v68.
- Remove `eslint-plugin-github` and its workarounds (rules, type stub,
pnpm peer override, in-code `eslint-disable` comments); the rules worth
keeping are covered by `unicorn` equivalents.
- Apply the resulting fixes and autofixes across the JS codebase.

_Prepared with Claude (Opus 4.8)._

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-06-21 08:07:13 +02:00
wxiaoguang 250a38abb5 chore: migrate unescaped-html-literal eslint rule to our repo and fix more cases (#38072) 2026-06-11 16:37:22 +02:00
silverwindandClaude a61598884f feat(editor): broaden language detection in web code editor (#37619)
Use
https://github.com/github-linguist/linguist/blob/main/lib/linguist/languages.yml
to substantially improve syntax higlighting in Codemirror. File is
generated on-demand only.

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-10 04:51:46 +00:00
d5831b9385 Frontend iframe renderer framework: 3D models, OpenAPI (#37233)
Introduces a frontend external-render framework that runs renderer
plugins inside an `iframe` (loaded via `srcdoc` to keep the CSP
`sandbox` directive working without origin-related console noise), and
migrates the 3D viewer and OpenAPI/Swagger renderers onto it. PDF and
asciicast paths are refactored to share the same `data-render-name`
mechanism.

Adds e2e coverage for 3D, PDF, asciicast and OpenAPI render paths, plus
a regression for the `RefTypeNameSubURL` double-escape on non-ASCII
branch names.

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: Claude (Opus 4.6) <noreply@anthropic.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-04-17 22:30:17 +00:00
wxiaoguangandsilverwind 2644bb8490 Remove htmx (#37224)
Close #35059

Slightly improved the "fetch action" framework and started adding tests for it.

---------

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: silverwind <me@silverwind.io>
2026-04-15 17:26:26 +00:00
wxiaoguang 6bcb666a9d Refactor htmx and fetch-action related code (#37186)
This is the first step (the hardest part):

* repo file list last commit message lazy load
* admin server status monitor
* watch/unwatch (normal page, watchers page)
* star/unstar (normal page, watchers page)
* project view, delete column
* workflow dispatch, switch the branch
* commit page: load branches and tags referencing this commit

The legacy "data-redirect" attribute is removed, it only makes the page
reload (sometimes using an incorrect link).

Also did cleanup for some devtest pages.
2026-04-13 18:53:55 +00:00
silverwindandClaude 3a9cab034b Update JS dependencies and misc tweaks (#37064)
- Update all JS deps
- Regenerate SVGs
- Add new eslint rules from unicorn
- Update typescript config for 6.0, remove deprecated options in favor
of `strict` with disablements, remove implicit dom libs.
- Set vite log level during `watch-frontend` to `warn` to avoid
confusing URLs or HMR spam from the dev server to keep the log concise.
Overridable via `FRONTEND_DEV_LOG_LEVEL`.

Co-authored-by: Claude (Opus 4.6) <noreply@anthropic.com>
2026-04-01 20:15:02 +02:00
e2e8509239 Replace Monaco with CodeMirror (#36764)
- Replace monaco-editor with CodeMirror 6
- Add `--color-syntax-*` CSS variables for all syntax token types,
shared by CodeMirror, Chroma and EasyMDE
- Consolidate chroma CSS into a single theme-independent file
(`modules/chroma.css`)
- Syntax colors in the code editor now match the code view and
light/dark themes
- Code editor is now 12px instead of 14px font size to match code view
and GitHub
- Use a global style for kbd elements
- When editing existing files, focus will be on codemirror instead of
filename input.
- Keyboard shortcuts are roughtly the same as VSCode
- Add a "Find" button, useful for mobile
- Add context menu similar to Monaco
- Add a command palette (Ctrl/Cmd+Shift+P or F1) or via button
- Add clickable URLs via Ctrl/Cmd+click
- Add e2e test for the code editor
- Remove `window.codeEditors` global
- The main missing Monaco features are hover types and semantic rename
but these were not fully working because monaco operated only on single
files and only for JS/TS/HTML/CSS/JSON.

| | Monaco (main) | CodeMirror (cm) | Delta |
|---|---|---|---|
| **Build time** | 7.8s | 5.3s | **-32%** |
| **JS output** | 25 MB | 14 MB | **-44%** |
| **CSS output** | 1.2 MB | 1012 KB | **-17%** |
| **Total (no maps)** | 23.3 MB | 12.1 MB | **-48%** |

Fixes: #36311
Fixes: #14776
Fixes: #12171

<img width="1333" height="555" alt="image"
src="https://github.com/user-attachments/assets/f0fe3a28-1ed9-4f22-bf25-2b161501d7ce"
/>

---------

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2026-03-31 21:50:45 +00:00
0ec66b5380 Migrate from webpack to vite (#37002)
Replace webpack with Vite 8 as the frontend bundler. Frontend build is
around 3-4 times faster than before. Will work on all platforms
including riscv64 (via wasm).

`iife.js` is a classic render-blocking script in `<head>` (handles web
components/early DOM setup). `index.js` is loaded as a `type="module"`
script in the footer. All other JS chunks are also module scripts
(supported in all browsers since 2018).

Entry filenames are content-hashed (e.g. `index.C6Z2MRVQ.js`) and
resolved at runtime via the Vite manifest, eliminating the `?v=` cache
busting (which was unreliable in some scenarios like vscode dev build).

Replaces: https://github.com/go-gitea/gitea/pull/36896
Fixes: https://github.com/go-gitea/gitea/issues/17793
Signed-off-by: silverwind <me@silverwind.io>
Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Claude (Opus 4.6) <noreply@anthropic.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-03-29 10:24:30 +00:00
ae0bc0222a Update to eslint 10 (#36925)
- Enable a few more rules, fix issues. The 2 `value` issues are
false-positives.
- Add exact types for `window.pageData` and
`window.notificationSettings`.
- peerDependencyRules for eslint-plugin-github unrestricted, the plugin
works in v10, but does not declare compatibility, pending
https://github.com/github/eslint-plugin-github/issues/680.
- Added
[eslint-plugin-de-morgan](https://github.com/azat-io/eslint-plugin-de-morgan),
no violations.

---------

Signed-off-by: silverwind <me@silverwind.io>
Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Claude (Opus 4.6) <noreply@anthropic.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2026-03-23 07:49:25 +00:00
6e7bc1e635 Update JS deps (#36850)
Gets rid of all open vulns except
https://github.com/microsoft/monaco-editor/issues/5248. Cursorly tested,
works.

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2026-03-08 07:29:27 +01:00
427954ba6e Add keyboard shortcuts for repository file and code search (#36416)
Resolves #36417: Add GitHub-like keyboard shortcuts for repository
navigation:
- Press `T` to focus the "Go to file" search input
- Press `S` to focus the "Search code" input
- Press `Escape` to clear and unfocus search inputs

---------

Signed-off-by: Micah Kepe <micahkepe@gmail.com>
Signed-off-by: silverwind <me@silverwind.io>
Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-02-23 17:20:56 +08:00
silverwindandClaude Opus 4.6 18e0746b7b Rework e2e tests (#36634)
- Replace the e2e tests initialization with a simple bash script,
removing the previous Go harness.
- `make test-e2e` is the single entry point. It always starts a fully
isolated ephemeral Gitea instance with its own temp directory, SQLite
database, and config — no interference with the developer's running
instance.
- A separate `gitea-e2e` binary is built via `EXECUTABLE_E2E` using
`TEST_TAGS` (auto-includes sqlite with `CGO_ENABLED=1`), keeping the
developer's regular `gitea` binary untouched.
- No more split into database-specific e2e tests. Test timeouts are
strict, can be relaxed later if needed.
- Simplified and streamlined the playwright config and test files.
- Remove all output generation of playwright and all references to
visual testing.
- Tests run on Chrome locally, Chrome + Firefox on CI.
- Simplified CI workflow — visible separate steps for frontend, backend,
and test execution.
- All exported env vars use `GITEA_TEST_E2E_*` prefix.
- Use `GITEA_TEST_E2E_FLAGS` to pass flags to playwright, e.g.
`GITEA_TEST_E2E_FLAGS="--ui" make test-e2e` for UI mode or
`GITEA_TEST_E2E_FLAGS="--headed" make test-e2e` for headed mode.
- Use `GITEA_TEST_E2E_DEBUG=1 make test-e2e` to show Gitea server
output.

---------

Signed-off-by: silverwind <me@silverwind.io>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:26:47 -08:00
2cb8f6a9a5 Remove redundant linter rules (#36658)
Clean up linter configs, removing redundant rules or dead disables. One
new rule enabled, no violations. Many revive rules had same or better
rules in staticcheck or govet.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2026-02-18 03:38:18 +00:00
silverwind 09a88fb17e Misc typescript tweaks (#36523)
Some minor refactors, disable one obsolete lint rule, fix another. The
tribute type issue is not fully fixed and I'm pretty sure it must be an
error in their types.
2026-02-10 05:09:56 +00:00
7883f6dde9 Remove and forbid @ts-expect-error (#36513)
Removes `@ts-expect-error` in the code base and forbids it.

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-02-02 01:00:34 +08:00
silverwind 224b7881d9 Forbid localStorage access in eslint (#36461)
Followup to
https://github.com/go-gitea/gitea/commit/59f812bc1cc52f15d66d1b233f11e43339c09cec,
enforce using our localStorage wrapper in eslint.

Also did a few tweaks in the eslint config, like removing the incomplete
list of globals, this is a non-issue with typescript.

---------

Signed-off-by: silverwind <me@silverwind.io>
2026-01-27 19:59:51 +00:00
silverwind 5925433fe6 Update JS dependencies, adjust webpack config, misc fixes (#36431)
1. Upgrade to [jQuery
4.0](https://blog.jquery.com/2026/01/17/jquery-4-0-0/). Two of the
removed APIs are in use by fomantic, but there are [polyfills
present](https://github.com/go-gitea/gitea/blob/a3a3e581aa387969ce6410ab54c4775e9023ec40/web_src/fomantic/build/components/dropdown.js#L15-L17)
so it continues to work.
2. Remove manual naming of webpack chunks. I was running into below
webpack error and I see no reason for this manual chunk naming which is
prone to naming collisions. Also, the webpack build now shows all output
assets. This change will result in longer asset filenames, but webpack
should now be able to guarentee that the names are without collisions.
    ````
    ERROR in SplitChunksPlugin
    Cache group "defaultVendors" conflicts with existing chunk.
Both have the same name "--------" and existing chunk is not a parent of
the selected modules.
Use a different name for the cache group or make sure that the existing
chunk is a parent (e. g. via dependOn).
    HINT: You can omit "name" to automatically create a name.
BREAKING CHANGE: webpack < 5 used to allow to use an entrypoint as
splitChunk. This is no longer allowed when the entrypoint is not a
parent of the selected modules.
Remove this entrypoint and add modules to cache group's 'test' instead.
If you need modules to be evaluated on startup, add them to the existing
entrypoints (make them arrays). See migration guide of more info.
3. Fix test issue related to `p > div` which is invalid as per HTML spec
because `div` is not [phrasing
content](https://html.spec.whatwg.org/multipage/dom.html#phrasing-content-2)
and therefor can not be a descendant of `p`. This is related to
https://github.com/capricorn86/happy-dom/pull/2007.
4. Add webpack globals
5. Remove obsolete docs glob
6. fix security issue for `seroval` package
7. disable [vitest isolate](https://vitest.dev/config/isolate.html) for
30% faster JS tests, which are all pure.
2026-01-24 07:35:46 +00:00
silverwind 4a9ac53862 Migrate to import.meta.env and clean up types and eslint (#36362)
`import.meta.env` is supported in both vitest and webpack [as of
recent](https://github.com/webpack/webpack/pull/19996), so replace all
previous use of `process.env` with it. Current usage is limited to test
files, I've also verified it works in actual frontend code.

`webpack/module` is added to typescript types which includes the
definition for `import.meta.env`. I've also made the eslint globals more
precise. Finally, `__webpack_public_path__` is removed from our type
definitions because `webpack/module` also provides it.
2026-01-15 11:01:23 +00:00
silverwind 2859b0602a Update JS deps (#36354)
- Update all JS deps
- Regenerate SVGs
- Enable new lint rules and fix issues
- Tested affected dependencies
2026-01-13 04:06:58 +00:00
silverwind ad49b7bf31 Update JS deps and eslint enhancements (#36147)
- Update all JS deps
- Tested affected `dependencies`
- Replace eslint `unstable_native_nodejs_ts_config` with optional `jiti`
dependency. This will be more compatible with editor integrations that
may not pass this flag.
- Enable additional eslint rules, no new issues
- Move `typescript` to `devDependencies` because `make frontend` works
without it
2025-12-17 17:35:33 +00:00
46d7adefe0 Enable TypeScript strictNullChecks (#35843)
A big step towards enabling strict mode in Typescript.

There was definitely a good share of potential bugs while refactoring
this. When in doubt, I opted to keep the potentially broken behaviour.
Notably, the `DOMEvent` type is gone, it was broken and we're better of
with type assertions on `e.target`.

---------

Signed-off-by: silverwind <me@silverwind.io>
Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-12-03 02:13:16 +00:00
silverwind 9668913d76 Update JS deps, fix deprecations (#36040)
- Update JS deps
- Regenerate SVGs
- Fix air `bin` deprecation
- Fix `monaco.languages.typescript` deprecation
- Remove `eslint-plugin-no-use-extend-native`, it's unnecessary with
typescript
- Enable new `@typescript-eslint` rules
- Disable `@typescript-eslint/no-redundant-type-constituents`, this rule
has bugs when not running under `strictNullChecks` (pending in
https://github.com/go-gitea/gitea/pull/35843).
2025-11-27 23:58:10 +00:00
silverwind 1baca49870 Update JS deps (#35978)
Update JS deps, regenerate SVGs, fixed lint issues and did cursory
testing of UI.
2025-11-20 21:53:44 +00:00
silverwind fe25997157 Enable vue/require-typed-ref eslint rule (#35764)
Enable https://eslint.vuejs.org/rules/require-typed-ref 
and fix discovered issues.
2025-10-29 17:42:06 +08:00
silverwind d69eede59b Update JS dependencies (#35759)
- Update all JS dependencies
- Added new unicorn rules
- `updates` now also supports updating `packageManager` and `engines`,
and I see no reason not to do that, so I think we can try keeping these
updated as well. If something in the build breaks because of this, I
will revert and exclude `pnpm` from updating further, but as far as I
understand, only corepack respects this field and pnpm itself does not
care about it.
- Regenerate SVGs.
2025-10-28 17:32:11 +00:00
silverwind e03a68c48b Misc tool tweaks (#35734)
Some minor tooling tweaks:

- Ignore .venv in golangci-lint
- Move go tools to tools directory (e.g. everything that is not "build")
- Enable reportUnusedInlineConfigs in eslint, no current violations
- Apply modernize fix in code-batch-process, modernize cli did
apparently not catch it because of the `go:build ignore` tag.
2025-10-23 09:07:39 +00:00
silverwind 49a0a11f55 Update JS deps, misc tweaks (#35643)
- Update all JS dependencies
- Enable eslint `no-useless-assignment` and fix 2 discovered issues
- Replace `gitea-vscode` svg with new `octicon-vscode`
- Remove now-unused `@ts-expect-error` comments
- Change Monaco wrapping behaviour to match the wrapping in code view:
no wrapping indent and break on any character.
2025-10-12 21:07:15 +00:00
silverwind 69e595cdd8 Update eslint to v9 (#35485)
Update eslint and all plugins. Many plugins still do not ship type
definitions so I had to add stubs. Also, I had to put a few typescript
error expectations because if some unknown error in the types.

`eslint-plugin-no-jquery` is disabled because it's not compatible with
eslint 9 flat config
(https://github.com/wikimedia/eslint-plugin-no-jquery/issues/311).
2025-09-14 19:15:06 +03:00