Commit graph

3023 commits

Author SHA1 Message Date
Folke Lemaitre
6d0da34de9
fix(lsp): sort server names before setting keymaps
Sort server names so that `*` (wildcard) keymaps are registered before
named servers, ensuring server-specific keymaps take precedence.

Fixes #6956, Fixes #6903

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 08:55:20 +01:00
Folke Lemaitre
6dadcc2065
docs(typescript): add some docs on how to enable tsgo with vim global 2026-03-21 06:40:53 +01:00
Folke Lemaitre
8bcb620802
fix(tsgo): disable inlayHints.functionLikeReturnTypes by default. Too noisy 2026-03-21 06:40:32 +01:00
Folke Lemaitre
59126caa31
test: fix tests 2026-03-20 23:16:04 +01:00
Folke Lemaitre
4e9eac57ab
feat(oxc): added oxc extra for oxfmt and oxlint 2026-03-20 22:15:34 +01:00
Folke Lemaitre
9029d928d2
feat(typescript): split typescript extra in main, vtsls and tsgo 2026-03-20 21:40:30 +01:00
Folke Lemaitre
1b4be534f1
fix(util.plugin): single imports for extras 2026-03-20 20:42:57 +01:00
Folke Lemaitre
8764dfbc8f
perf(extras): never load nested extras 2026-03-20 20:14:37 +01:00
Folke Lemaitre
76cb567e5c
refactor(lsp): cleaner support for code_actions 2026-03-20 19:01:02 +01:00
Folke Lemaitre
53f4eabd77
fix(typescript): remove keymaps for non-existing code actions 2026-03-20 19:00:29 +01:00
Folke Lemaitre
ad25b31e51
fix(biome): added recommendation when root has biome config file 2026-03-20 16:09:49 +01:00
Folke Lemaitre
e54689ebdc
feat(lsp): auto add organizeImport keymaps for LSPs that support it 2026-03-20 16:06:44 +01:00
Folke Lemaitre
242f0983de
feat(biome): move biome extra from formatting.biome -> lang.typescript.biome 2026-03-20 15:59:25 +01:00
Folke Lemaitre
fbf52d5496
refactor(typescript): move typescript to sub module init 2026-03-20 15:58:39 +01:00
Folke Lemaitre
3b3d649333
fix(r): recommend for *.qmd instead of *qmd files 2026-03-20 14:39:02 +01:00
Folke Lemaitre
5450006ccd
fix(biome): biome mason install is no longer needed 2026-03-20 12:18:26 +01:00
Folke Lemaitre
36f594716b
feat(lazydev): make lspconfig types available on word lspconfig.settings 2026-03-20 12:14:02 +01:00
Folke Lemaitre
e6f26f0f23
feat(typescript): set vim.g.lazyvim_ts_lsp = "tsgo" to use the much faster experimental lsp server 2026-03-20 12:13:32 +01:00
Folke Lemaitre
b2830cfcc5
feat(biome): enable biome lsp for linting 2026-03-20 12:12:45 +01:00
Folke Lemaitre
50159fe344
feat(sidekick): ctrl+. focuses sidekick, but when already inside sidekick, hides it 2026-03-20 11:08:09 +01:00
Folke Lemaitre
6055e59613
style: format 2026-03-16 19:07:44 +01:00
Folke Lemaitre
954d8746e5
fix(biome): use biome-check in conform that also fixes linting issues and sorts imports 2026-03-16 18:11:45 +01:00
Rubin Bhandari
31caef21fd
refactor(dial): use inbuilt augends (#7035)
Dial now has built in augends for weekdays and Pythonic booleans


[monaqa/dial.nvim#augend-alias](https://github.com/monaqa/dial.nvim#augend-alias)

## Description

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)

<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [ ] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2026-03-01 14:45:56 +01:00
Folke Lemaitre
d0fe8c896f
revert(lsp): revert changes for #6456. Closes #6779 2026-03-01 10:50:17 +01:00
github-actions[bot]
fca0af57cc
chore(main): release 15.14.0 (#6738)
🤖 I have created a release *beep* *boop*
---


##
[15.14.0](https://github.com/LazyVim/LazyVim/compare/v15.13.0...v15.14.0)
(2026-03-01)


### Features

* **bufferline:** add &lt;leader&gt;bj keymap for BufferLinePick
([#6968](https://github.com/LazyVim/LazyVim/issues/6968))
([a50072f](a50072fa16))
* **dap:** close dap-float window with `q`.
([#6884](https://github.com/LazyVim/LazyVim/issues/6884))
([87c0027](87c0027892))
* **treesitter:** support query table in treesitter-textobjects mappings
([#6736](https://github.com/LazyVim/LazyVim/issues/6736))
([42c9f71](42c9f7152b))


### Bug Fixes

* **editor.overseer:** migrate to v2
([#6907](https://github.com/LazyVim/LazyVim/issues/6907))
([27824d7](27824d79a9))
* **fzf:** correct git_diff description from 'hunks' to 'files'
([#6983](https://github.com/LazyVim/LazyVim/issues/6983))
([e77d4ab](e77d4ab0d6))
* **lang.clang:** fix `clangd_extensions.nvim`
([#6804](https://github.com/LazyVim/LazyVim/issues/6804))
([730b691](730b69114d))
* **leap:** update urls to new leap.nvim repo. Fixes
[#6958](https://github.com/LazyVim/LazyVim/issues/6958)
([244af66](244af66f8b))
* **news:** resolve news.txt from $VIMRUNTIME first
([60fea62](60fea6236e)),
closes [#7019](https://github.com/LazyVim/LazyVim/issues/7019)
* **python:** set venv-selector.nvim override_notify = false
([#6936](https://github.com/LazyVim/LazyVim/issues/6936))
([b2917bd](b2917bd3bf))
* **terminal:** add -NoProfile to powershell shellcmdflag
([#6757](https://github.com/LazyVim/LazyVim/issues/6757))
([a507822](a507822c0f))
* **terminal:** partially revert previous mappings
([#6770](https://github.com/LazyVim/LazyVim/issues/6770))
([c64a617](c64a61734f))
* **treesitter:** fix `]c` textobject mappings when in diff mode
([#6911](https://github.com/LazyVim/LazyVim/issues/6911))
([16713e6](16713e6e12))
* **treesitter:** remove deleted jsonc parser
([#6848](https://github.com/LazyVim/LazyVim/issues/6848))
([92607e7](92607e79e0))
* **util.lsp:** `LazyVim.lsp.execute` only request single client
([#6904](https://github.com/LazyVim/LazyVim/issues/6904))
([a4e19e9](a4e19e9c9c))
* **util.lsp:** pass `formatters_by_ft` to `opts`
([#6894](https://github.com/LazyVim/LazyVim/issues/6894))
([03f1293](03f1293e33))
* **vtsls:** remove redundant deno logic, upstreamed in `nvim-lspconfig`
([#7011](https://github.com/LazyVim/LazyVim/issues/7011))
([8652c95](8652c95703))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-01 10:37:36 +01:00
Chomba
a50072fa16
feat(bufferline): add <leader>bj keymap for BufferLinePick (#6968)
## Summary
- Adds `<leader>bj` keymap to quickly pick a buffer using BufferLinePick

## Motivation
BufferLinePick provides a great UX for quickly jumping to buffers by
letter key, similar to LunarVim's buffer picker. This keymap makes it
easily discoverable.

## Changes
- Added `<leader>bj` → `:BufferLinePick` in bufferline plugin config

## Testing
- Tested locally with multiple buffers open
- Press `<Space>bj`, letter labels appear on tabs, press letter to jump
2026-03-01 10:36:15 +01:00
Phúc H. Lê Khắc
87c0027892
feat(dap): close dap-float window with q. (#6884)
## Description

nvim-dap-ui's widget window to preview value of object under the cursor
has ftype `dap-float`. Include it so it can be closed quickly like other
popup windows.

## Related Issue(s)

<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2026-03-01 10:35:14 +01:00
Frederick Zhang
b2917bd3bf
fix(python): set venv-selector.nvim override_notify = false (#6936)
## Description

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->
<!-- === GH HISTORY FORMAT FENCE === --> <!--
### [`%h`]({{.url}}/commits/%H) %s%n%n%b%n
--> <!-- === GH HISTORY FORMAT FENCE === -->
<!-- === GH HISTORY FENCE === -->
This is a new option in venv-selector.nvim which stops it from
overriding vim.notify, so that it no longer interferes with noice.nvim.
See also [1].

[1] https://github.com/linux-cultist/venv-selector.nvim/issues/240

<!-- === GH HISTORY FENCE === -->

## Related Issue(s)

<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->
N/A

## Screenshots

<!-- Add screenshots of the changes if applicable. -->
N/A

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2026-03-01 10:33:07 +01:00
plsplsplslol
3f91371e21
docs(ui): fix typo (#6978)
## Description
this extra disables scope, not scroll

## Related Issue(s)

## Screenshots

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2026-03-01 10:32:37 +01:00
Talles Borges
e77d4ab0d6
fix(fzf): correct git_diff description from 'hunks' to 'files' (#6983)
Fixes #6960

`FzfLua git_diff` runs `git diff --name-only` which lists changed
**files**, not hunks.

Updated the description from `"Git Diff (hunks)"` to `"Git Diff
(files)"` to accurately reflect the command behavior.
2026-03-01 10:31:41 +01:00
Iordanis Petkakis
730b69114d
fix(lang.clang): fix clangd_extensions.nvim (#6804)
## Description
`clangd_extensions.nvim` does not seem to take `server` key any more,
which was used to setup the plugin with clangd `cmd`, `init_options`
etc. Instead you only need to configure the clangd server via lspconfig
and the plugin separately according to my understanding.

Remove the unnecessary `opts.setup` which also requires the plugin
itself and loads it and make the plugin lazy-loaded on c/c++ files only.

References:
- https://github.com/p00f/clangd_extensions.nvim#configuration
-
https://github.com/p00f/clangd_extensions.nvim/issues/49#issuecomment-1719654413

PS: I don't do C/C++, so testers would be welcome.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
Fixes #6800
<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2026-03-01 10:13:30 +01:00
Iordanis Petkakis
03f1293e33
fix(util.lsp): pass formatters_by_ft to opts (#6894)
## Description
Here
c64a61734f/lua/lazyvim/util/lsp.lua (L50)
we call directly `conform.format` with our specific options.

`conform.nvim` also allows passing options such as `lsp_format` directly
to `formatter_by_ft` as also can be seen
[here](5420c4b5ea/doc/conform.txt (L20-L21)).
Those options are not passed when we call `conform.format(opts)` in the
LSP formatter.

So, we add these options. Also, fix the correct name for general format
options, since it had been changed at some time in `conform.nvim` and
that change made it to the plugin spec, but not here.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
Fixes #6893
<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2026-03-01 10:12:58 +01:00
Iordanis Petkakis
16713e6e12
fix(treesitter): fix ]c textobject mappings when in diff mode (#6911)
## Description
It seems that after
5985ca0cf1
the default `]c` Neovim mapping in diff mode broke. This is an attempt
to fix that.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
None, rather discussion #6910.
<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2026-03-01 10:11:09 +01:00
Iordanis Petkakis
92607e79e0
fix(treesitter): remove deleted jsonc parser (#6848)
## Description

d2350758b3
removed parsers not hosted on Github, `jsonc` among them. Remove it from
LazyVim as well. On a fresh new installation, there's no problem and it
doesn't even install, but on existing installation you get an error when
updating about parser not available.

<img width="2559" height="313" alt="2025-12-07_11-24"
src="https://github.com/user-attachments/assets/99802b66-ff39-4631-89c6-ee4f2516acf1"
/>

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
None
<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2026-03-01 10:08:09 +01:00
Iordanis Petkakis
8652c95703
fix(vtsls): remove redundant deno logic, upstreamed in nvim-lspconfig (#7011)
## Description
Since https://github.com/neovim/nvim-lspconfig/pull/4304
`nvim-lspconfig` has inherent deno logic to disambiguate between
deno/non-deno projects.

I believe it'd be better to remove the logic from LazyVim, since it
might lead to issues because of different behavior compared to
`nvim-lspconfig` defaults (whose logic doesn't only rely on the
existence of `deno/json`, but also looks for lock files and takes into
account which is the largest path with regards to the found pattern
files). It'd be better for users to change `root_dir` themselves if they
don't agree with the inherent logic.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
None
<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2026-03-01 10:06:18 +01:00
Folke Lemaitre
ecd31f844e
test(extras): handle plugins using url instead of short format
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:04:26 +01:00
akioweh
27824d79a9
fix(editor.overseer): migrate to v2 (#6907)
## Description

Overseer.nvim recently-ish released v2.  
This PR updates the extras config according to the breaking changes.

A few commands were removed and the `bindings` config key was renamed to
`keymaps`.

I've also taken the liberty of marking the plugin as not lazy since it
lazy-loads itself.
The impact on startup is ~<1ms, which I think is acceptable over
lazy.nvim command/keymap listener overhead, but this is open to
discussion 🤷

## Related Issue(s)

fixes #6876 

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2026-03-01 09:33:20 +01:00
Iordanis Petkakis
a4e19e9c9c
fix(util.lsp): LazyVim.lsp.execute only request single client (#6904)
## Description
`LazyVim.lsp.execute` uses `vim.lsp.buf_request` which sends the request
to all attached clients.

`LazyVim.lsp.execute` seems to me to be the equivalent of
[vim.lsp.buf.execute_command](922816877f/runtime/lua/vim/lsp/buf.lua (L1366-L1376)),
but adds the option to also open in Trouble. Otherwise the request is
being made the same way. This command will be deprecated in 0.12 and
it's advised to use `client:exec_cmd` instead.

Since LazyVim supports Neovim >=0.11.2, it makes sense to refactor the
corresponding codeblock and use `client:cmd_exec` instead (it's already
available in Neovim 0.11).

I only changed the necessary parts where `vim.lsp.buf_request` was being
used and not Trouble (when `opts.open = true`), since I'm not familiar
with its codebase. That's also why I went for extending `params` in the
`else` branch instead of adding `title` into original `params`, since I
didn't know how Trouble will react to this change. Not sure if maybe
there also needs to be some change there.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
Fixes #6900
<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2026-03-01 09:31:44 +01:00
Folke Lemaitre
244af66f8b
fix(leap): update urls to new leap.nvim repo. Fixes #6958 2026-03-01 09:30:39 +01:00
Folke Lemaitre
60fea6236e
fix(news): resolve news.txt from $VIMRUNTIME first
Plugins that ship their own `doc/news.txt` (e.g. rainbow-delimiters.nvim)
can shadow Neovim's bundled file when using `nvim_get_runtime_file()`.
First check $VIMRUNTIME, then fall back to the full runtimepath.

Fixes #7019
2026-03-01 09:17:53 +01:00
Iordanis Petkakis
c64a61734f
fix(terminal): partially revert previous mappings (#6770)
## Description
Commit 4efd0e2bea introduced some changes
to terminal mappings. I tested in a new LazyVim installation and
`sidekick.nvim` is not affected by `<C-/>` any more.

The mappings `hide_underscore` and `hide_slash` don't let user to create
new terminals with `2<C-/>`, `3<C-/>` and so on. Instead they hide the
terminal and user can't open split terminals next to each other any
more.

Therefore, I believe it would be a better default to revert these 2
mappings explicitly.

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
None
<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-11-11 09:35:25 +01:00
AK47are
a507822c0f
fix(terminal): add -NoProfile to powershell shellcmdflag (#6757)
## Description

changing the PowerShell profile might accidentally cause errors in
Neovim (see [issue](https://github.com/LazyVim/LazyVim/issues/4805)),
which is a subtle bug. Add the `-NoProfile` flag to ensure Neovim is not
affected by profile.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-11-06 12:40:40 +01:00
Thomas Vandal
42c9f7152b
feat(treesitter): support query table in treesitter-textobjects mappings (#6736)
## Description

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

`treesitter-textobjects` mappings accept a table query (for the "move"
mappings, at least, I haven't checked the others). Currently, in
LazyVim, using a table causes an error due to the assumption that
`query` is a string in the `config` function that creates the keymap
description. This PR adds a simple loop to gather the queries from a
table and join them with "or" in the description.

Here is an example config and the resulting error. Everything works as
expected with the PR and string (single) queries still behave as
expected.

```lua
  {
    "nvim-treesitter/nvim-treesitter-textobjects",
    opts = {
      move = {
        keys = {
          goto_next_start = { ["]j"] = { "@function.outer", "@class.outer" } },
          goto_next_end = { ["]J"] = { "@function.outer", "@class.outer" } },
          goto_previous_start = { ["[j"] = { "@function.outer", "@class.outer" } },
          goto_previous_end = { ["[J"] = { "@function.outer", "@class.outer" } },
        },
      },
    },
  }
```

```lua
Failed to run `config` for nvim-treesitter-textobjects

...vim-local/opt/LazyVim/lua/lazyvim/plugins/treesitter.lua:174: attempt to call method 'gsub' (a nil value)

# stacktrace:
  - repos/nvim-local/opt/LazyVim/lua/lazyvim/plugins/treesitter.lua:174
  - vim/shared.lua:0 _in_ **tbl_map**
  - repos/nvim-local/opt/LazyVim/lua/lazyvim/plugins/treesitter.lua:197 _in_ **config**
```



## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-11-03 07:51:07 +01:00
github-actions[bot]
28db03f958
chore(main): release 15.13.0
🤖 I have created a release *beep* *boop*
---


## [15.13.0](https://github.com/LazyVim/LazyVim/compare/v15.12.2...v15.13.0) (2025-11-01)


### Features

* **snacks:** `snacks.gh` integration. Enabled by default, unless the `util.octo` extra is enabled. ([5e981f9](5e981f9a8c))


### Bug Fixes

* **treesitter:** remove node requirement ([6b52a30](6b52a3059e))

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
2025-11-01 13:44:04 +01:00
Folke Lemaitre
5e981f9a8c
feat(snacks): snacks.gh integration. Enabled by default, unless the util.octo extra is enabled. 2025-11-01 13:41:53 +01:00
Folke Lemaitre
6b52a3059e
fix(treesitter): remove node requirement 2025-10-31 17:28:02 +01:00
github-actions[bot]
064e61058b
chore(update): update repository (#6712)
Automated changes by
[create-pull-request](https://github.com/peter-evans/create-pull-request)
GitHub action

Co-authored-by: folke <292349+folke@users.noreply.github.com>
2025-10-28 16:14:16 +01:00
folke
cd745b14f8 chore(build): auto-generate docs 2025-10-26 15:06:24 +00:00
Folke Lemaitre
29fb479522
style: remove some vim.lsp calls during startup 2025-10-26 16:04:45 +01:00
github-actions[bot]
d72127eb93
chore(main): release 15.12.2 (#6703)
🤖 I have created a release *beep* *boop*
---


##
[15.12.2](https://github.com/LazyVim/LazyVim/compare/v15.12.1...v15.12.2)
(2025-10-26)


### Bug Fixes

* **lsp.keymaps:** make cond -&gt; enabled work again. Closes
[#6697](https://github.com/LazyVim/LazyVim/issues/6697)
([1a40162](1a40162714))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-26 12:27:05 +01:00