Skip to content

Conversation

@asottile
Copy link
Member

@asottile asottile commented Nov 8, 2025

to better represent that these "languages" aren't actually languages at all and do not provision environments.

a future version will show a deprecation warning and eventually the aliases will be removed!

@qexat
Copy link

qexat commented Nov 8, 2025

finally! 🥳

@asottile asottile marked this pull request as ready for review November 8, 2025 20:16
@asottile asottile enabled auto-merge November 8, 2025 20:21
@asottile asottile merged commit 9143fc3 into main Nov 8, 2025
30 checks passed
@asottile asottile deleted the language-unsupported branch November 8, 2025 20:21
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Nov 14, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [pre-commit](https://github.com/pre-commit/pre-commit) | minor | `4.3.0` -> `4.4.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>pre-commit/pre-commit (pre-commit)</summary>

### [`v4.4.0`](https://github.com/pre-commit/pre-commit/blob/HEAD/CHANGELOG.md#440---2025-11-08)

[Compare Source](pre-commit/pre-commit@v4.3.0...v4.4.0)

\==================

##### Features

- Add `--fail-fast` option to `pre-commit run`.
  - [#&#8203;3528](pre-commit/pre-commit#3528) MR by [@&#8203;JulianMaurin](https://github.com/JulianMaurin).
- Upgrade `ruby-build` / `rbenv`.
  - [#&#8203;3566](pre-commit/pre-commit#3566) MR by [@&#8203;asottile](https://github.com/asottile).
  - [#&#8203;3565](pre-commit/pre-commit#3565) issue by [@&#8203;MRigal](https://github.com/MRigal).
- Add `language: unsupported` / `language: unsupported_script` as aliases
  for `language: system` / `language: script` (which will eventually be
  deprecated).
  - [#&#8203;3577](pre-commit/pre-commit#3577) MR by [@&#8203;asottile](https://github.com/asottile).
- Add support docker-in-docker detection for cgroups v2.
  - [#&#8203;3535](pre-commit/pre-commit#3535) MR by [@&#8203;br-rhrbacek](https://github.com/br-rhrbacek).
  - [#&#8203;3360](pre-commit/pre-commit#3360) issue by [@&#8203;JasonAlt](https://github.com/JasonAlt).

##### Fixes

- Handle when docker gives `SecurityOptions: null`.
  - [#&#8203;3537](pre-commit/pre-commit#3537) MR by [@&#8203;asottile](https://github.com/asottile).
  - [#&#8203;3514](pre-commit/pre-commit#3514) issue by [@&#8203;jenstroeger](https://github.com/jenstroeger).
- Fix error context for invalid `stages` in `.pre-commit-config.yaml`.
  - [#&#8203;3576](pre-commit/pre-commit#3576) MR by [@&#8203;asottile](https://github.com/asottile).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
@lightswitch05

This comment was marked as off-topic.

@asottile

This comment was marked as off-topic.

@lightswitch05

This comment was marked as off-topic.

@asottile

This comment was marked as off-topic.

@lightswitch05

This comment was marked as off-topic.

@asottile

This comment was marked as off-topic.

@lightswitch05

This comment was marked as off-topic.

@synalice
Copy link

That's really confusing... What's the rationale behind renaming system to unsupported? It gives an impression that you are not supposed to use system executables and that this functionality is deprecated.

@asottile
Copy link
Member Author

that's the correct impression and exactly the intention. it is the escape hatch and not a recommended way to use pre-commit

@synalice
Copy link

synalice commented Dec 30, 2025

Why though? What if you need to execute something like clang-format? It is not shipped as a python package because it's not a python program at all.

@asottile
Copy link
Member Author

pre-commit is not just a tool for python tools. but also there is a clang-format: https://github.com/ssciwr/clang-format-wheel?tab=readme-ov-file#use-from-pre-commit

@asottile
Copy link
Member Author

also again it's not going away. it's just making the naming more honest

@synalice
Copy link

also there is a clang-format

If you actually look at the implementation of that hook, you can see that they still invoke a binary from PATH, but now also have to setup a dummy python package — https://github.com/pre-commit/mirrors-clang-format. This just looks like a very unnecessary extra step...

also again it's not going away. it's just making the naming more honest

If anything, it feels like things are less honest now. People's first impression is that invoking binaries from PATH is "unsupported". Having a language called "system" was much more clear in its intentions.

Well, I guess is too late to argue about this now, since the PR is already merged :P

@asottile
Copy link
Member Author

the supported path is when pre-commit provisions the tools for you -- that's kind of the point. the unsupported path is you need some random set of installation and setup instructions for your contributors to get every random tool set up and working

@pre-commit pre-commit locked as off-topic and limited conversation to collaborators Dec 30, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Development

Successfully merging this pull request may close these issues.

5 participants