chore(deps): update dependency black to v24.3.0 [security]
Metadata
Current evaluation
Merged automated dependency update upgrading black from v24.1.1 to v24.3.0 to patch CVE-2024-21503, a ReDoS vulnerability. The change passed CI checks and code coverage before being merged.
Suggested action: —
No scores available.
Issue body
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [black](https://togithub.com/psf/black) ([changelog](https://togithub.com/psf/black/blob/main/CHANGES.md)) | `==24.1.1` -> `==24.3.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
### GitHub Vulnerability Alerts
#### [CVE-2024-21503](https://nvd.nist.gov/vuln/detail/CVE-2024-21503)
Versions of the package black before 24.3.0 are vulnerable to Regular Expression Denial of Service (ReDoS) via the lines_with_leading_tabs_expanded function in the strings.py file. An attacker could exploit this vulnerability by crafting a malicious input that causes a denial of service.
Exploiting this vulnerability is possible when running Black on untrusted input, or if you habitually put thousands of leading tab characters in your docstrings.
---
### Release Notes
<details>
<summary>psf/black (black)</summary>
### [`v24.3.0`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2430)
[Compare Source](https://togithub.com/psf/black/compare/24.2.0...24.3.0)
##### Highlights
This release is a milestone: it fixes Black's first CVE security vulnerability. If you
run Black on untrusted input, or if you habitually put thousands of leading tab
characters in your docstrings, you are strongly encouraged to upgrade immediately to fix
[CVE-2024-21503](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-21503).
This release also fixes a bug in Black's AST safety check that allowed Black to make
incorrect changes to certain f-strings that are valid in Python 3.12 and higher.
##### Stable style
- Don't move comments along with delimiters, which could cause crashes ([#​4248](https://togithub.com/psf/black/issues/4248))
- Strengthen AST safety check to catch more unsafe changes to strings. Previous versions
of Black would incorrectly format the contents of certain unusual f-strings containing
nested strings with the same quote type. Now, Black will crash on such strings until
support for the new f-string syntax is implemented. ([#​4270](https://togithub.com/psf/black/issues/4270))
- Fix a bug where line-ranges exceeding the last code line would not work as expected
([#​4273](https://togithub.com/psf/black/issues/4273))
##### Performance
- Fix catastrophic performance on docstrings that contain large numbers of leading tab
characters. This fixes
[CVE-2024-21503](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-21503).
([#​4278](https://togithub.com/psf/black/issues/4278))
##### Documentation
- Note what happens when `--check` is used with `--quiet` ([#​4236](https://togithub.com/psf/black/issues/4236))
### [`v24.2.0`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2420)
[Compare Source](https://togithub.com/psf/black/compare/24.1.1...24.2.0)
##### Stable style
- Fixed a bug where comments where mistakenly removed along with redundant parentheses
([#​4218](https://togithub.com/psf/black/issues/4218))
##### Preview style
- Move the `hug_parens_with_braces_and_square_brackets` feature to the unstable style
due to an outstanding crash and proposed formatting tweaks ([#​4198](https://togithub.com/psf/black/issues/4198))
- Fixed a bug where base expressions caused inconsistent formatting of \*\* in tenary
expression ([#​4154](https://togithub.com/psf/black/issues/4154))
- Checking for newline before adding one on docstring that is almost at the line limit
([#​4185](https://togithub.com/psf/black/issues/4185))
- Remove redundant parentheses in `case` statement `if` guards ([#​4214](https://togithub.com/psf/black/issues/4214)).
##### Configuration
- Fix issue where *Black* would ignore input files in the presence of symlinks ([#​4222](https://togithub.com/psf/black/issues/4222))
- *Black* now ignores `pyproject.toml` that is missing a `tool.black` section when
discovering project root and configuration. Since *Black* continues to use version
control as an indicator of project root, this is expected to primarily change behavior
for users in a monorepo setup (desirably). If you wish to preserve previous behavior,
simply add an empty `[tool.black]` to the previously discovered `pyproject.toml`
([#​4204](https://togithub.com/psf/black/issues/4204))
##### Output
- Black will swallow any `SyntaxWarning`s or `DeprecationWarning`s produced by the `ast`
module when performing equivalence checks ([#​4189](https://togithub.com/psf/black/issues/4189))
##### Integrations
- Add a JSONSchema and provide a validate-pyproject entry-point ([#​4181](https://togithub.com/psf/black/issues/4181))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "" in timezone Etc/UTC, Automerge - "every weekend" in timezone Etc/UTC.
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/canonical/snapcraft).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged automated dependency update upgrading black from v24.1.1 to v24.3.0 to patch CVE-2024-21503, a ReDoS vulnerability. The change passed CI checks and code coverage before being merged. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged dependency update upgrading black from v24.1.1 to v24.3.0 to patch CVE-2024-21503 ReDoS vulnerability. Changes passed test coverage checks and were successfully merged into main. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged automated update upgrading black from 24.1.1 to 24.3.0. This resolves CVE-2024-21503, a ReDoS vulnerability in string processing. CI tests passed and project coverage remained stable. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #176 chore(deps): update dependency black to v24 | starbase | merged | Merged automated dependency update upgrading black from v23.3.0 to v24.1.1. The change passed CI, maintained 100% test coverage, received reviewer approval, and was successfully merged. | |
| #227 chore(deps): update dependency lint/black to v24 | craft-cli | merged | Merged an automated dependency update for black from v23.12.1 to v24.1.1. The pull request passed CI checks, received two approvals, and maintained existing code coverage before being merged to main. | |
| #1166 chore(deps): update dependency black to v23.7.0 | charmcraft | merged | Merged automated dependency update upgrading black from v23.3.0 to v23.7.0. The change passed CI checks and received reviewer approval before being merged into the main branch. | |
| #49 chore(deps): update dependency black to v23.3.0 | starbase | merged | Merged automated dependency update for black from v23.1.0 to v23.3.0. Approved by a reviewer, passed CI checks, and successfully merged into the main branch via the Renovate bot. | |
| #1443 chore(deps): update dependency black to v23.12.1 | charmcraft | merged | Merged automated dependency update for black from v23.11.0 to v23.12.1. Approved by two reviewers, passed CI checks, and successfully merged. | |
| #385 chore(deps): update dependency black to v23.10.0 | rockcraft | merged | Automated dependency update for black from v23.9.1 to v23.10.0. Approved by three reviewers, passed CI checks, and successfully merged. | |
| #1017 chore(deps): update dependency black to v23 | charmcraft | merged | Automated dependency update upgraded black from 22.12.0 to 23.1.0. The request passed CI checks, received approval, and was merged to keep the project's code formatter current. | |
| #1343 chore(deps): update dependency black to v23.10.0 | charmcraft | merged | Merged automated dependency update upgrading black from v23.9.1 to v23.10.0. Approved by three reviewers, passed CI checks, and successfully integrated into the main branch. | |
| #38 chore(deps): update dependency black to v23 | starbase | merged | Automatically updated the black dependency from v22.12.0 to v23.1.0. The change was reviewed, passed CI checks, and successfully merged. | |
| #1393 chore(deps): update dependency black to v23.11.0 | charmcraft | merged | The black dependency update to v23.11.0 was successfully merged. Automated by Renovate, it received reviewer approval and was merged despite unrelated test failures, completing the routine dependency update. |