Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Rust crate unicode-width to 0.2.0 #13473

Merged
merged 1 commit into from
Nov 18, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 23, 2024

This PR contains the following updates:

Package Type Update Change
unicode-width workspace.dependencies minor 0.1.11 -> 0.2.0

Release Notes

unicode-rs/unicode-width (unicode-width)

v0.1.14

Compare Source


Configuration

📅 Schedule: Branch creation - "before 4am on Monday" (UTC), 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.

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


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link
Contributor Author

renovate bot commented Sep 23, 2024

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package [email protected] --precise 0.2.0
    Updating crates.io index
error: failed to select a version for the requirement `unicode-width = "^0.1"`
candidate versions found which didn't match: 0.2.0
location searched: crates.io index
required by package `annotate-snippets v0.9.2`
    ... which satisfies dependency `annotate-snippets = "^0.9.2"` (locked to 0.9.2) of package `ruff_python_parser v0.0.0 (/tmp/renovate/repos/github/astral-sh/ruff/crates/ruff_python_parser)`
    ... which satisfies path dependency `ruff_python_parser` (locked to 0.0.0) of package `red_knot_python_semantic v0.0.0 (/tmp/renovate/repos/github/astral-sh/ruff/crates/red_knot_python_semantic)`
    ... which satisfies path dependency `red_knot_python_semantic` (locked to 0.0.0) of package `red_knot v0.0.0 (/tmp/renovate/repos/github/astral-sh/ruff/crates/red_knot)`

@renovate renovate bot added the internal An internal refactor or improvement label Sep 23, 2024
Copy link
Contributor

github-actions bot commented Sep 23, 2024

ruff-ecosystem results

Linter (stable)

ℹ️ ecosystem check detected linter changes. (+2 -0 violations, +0 -0 fixes in 2 projects; 1 project error; 51 projects unchanged)

apache/airflow (+2 -0 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --no-preview --select ALL

+ clients/python/pyproject.toml:27:1: RUF200 Failed to parse pyproject.toml: invalid type: map, expected a sequence
+ pyproject.toml:58:1: RUF200 Failed to parse pyproject.toml: invalid type: map, expected a sequence

pandas-dev/pandas (+0 -0 violations, +0 -0 fixes)


pypa/setuptools (error)

ruff failed
  Cause: Failed to parse /home/runner/work/ruff/ruff/checkouts/pypa:setuptools/ruff.toml
  Cause: TOML parse error at line 8, column 1
  |
8 | [lint]
  | ^^^^^^
Unknown rule selector: `UP027`

Changes by rule (1 rules affected)

code total + violation - violation + fix - fix
RUF200 2 2 0 0 0

Linter (preview)

ℹ️ ecosystem check detected linter changes. (+8340 -8359 violations, +0 -66 fixes in 9 projects; 1 project error; 44 projects unchanged)

apache/airflow (+6178 -6179 violations, +0 -58 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --preview --select ALL

- airflow/api/__init__.py:32:5: DOC201 `return` is not documented in docstring
- airflow/api/__init__.py:32:5: DOC501 Raised exception `AirflowException` missing from docstring
+ airflow/api/__init__.py:43:15: DOC501 Raised exception `AirflowException` missing from docstring
+ airflow/api/__init__.py:44:5: DOC201 `return` is not documented in docstring
- airflow/api/auth/backend/deny_all.py:38:5: DOC201 `return` is not documented in docstring
+ airflow/api/auth/backend/deny_all.py:44:5: DOC201 `return` is not documented in docstring
- airflow/api/client/__init__.py:27:5: DOC201 `return` is not documented in docstring
+ airflow/api/client/__init__.py:38:5: DOC201 `return` is not documented in docstring
... 9019 additional changes omitted for rule DOC201
- airflow/api/common/delete_dag.py:43:5: DOC501 Raised exception `AirflowException` missing from docstring
- airflow/api/common/delete_dag.py:43:5: DOC501 Raised exception `DagNotFound` missing from docstring
+ airflow/api/common/delete_dag.py:61:15: DOC501 Raised exception `AirflowException` missing from docstring
+ airflow/api/common/delete_dag.py:64:15: DOC501 Raised exception `DagNotFound` missing from docstring
... 2949 additional changes omitted for rule DOC501
- airflow/api/common/mark_tasks.py:186:5: DOC402 `yield` is not documented in docstring
+ airflow/api/common/mark_tasks.py:190:13: DOC402 `yield` is not documented in docstring
- airflow/api_fastapi/common/db/common.py:33:5: DOC402 `yield` is not documented in docstring
+ airflow/api_fastapi/common/db/common.py:47:9: DOC402 `yield` is not documented in docstring
+ airflow/assets/__init__.py:128:8: PLR1714 Consider merging multiple comparisons: `value in ("self", "context")`. Use a `set` if the elements are hashable.
- airflow/assets/__init__.py:128:8: PLR1714 Consider merging multiple comparisons: `value in {"self", "context"}`.
- airflow/assets/__init__.py:238:9: DOC402 `yield` is not documented in docstring
+ airflow/assets/__init__.py:243:9: DOC402 `yield` is not documented in docstring
... 329 additional changes omitted for rule DOC402
+ airflow/decorators/__init__.pyi:117:25: PYI041 Use `float` instead of `int | float`
- airflow/decorators/__init__.pyi:117:25: PYI041 [*] Use `float` instead of `int | float`
+ airflow/decorators/__init__.pyi:256:25: PYI041 Use `float` instead of `int | float`
- airflow/decorators/__init__.pyi:256:25: PYI041 [*] Use `float` instead of `int | float`
+ airflow/jobs/job.py:308:39: PYI041 Use `float` instead of `int | float`
- airflow/jobs/job.py:308:39: PYI041 [*] Use `float` instead of `int | float`
... 53 additional changes omitted for rule PYI041
- airflow/models/dag.py:1038:36: PYI061 `Literal[None, ...]` can be replaced with `Literal[...] | None`
- airflow/models/dagrun.py:1317:23: RUF038 `Literal[True, False]` can be replaced with `bool`
- airflow/models/dagrun.py:1439:23: RUF038 `Literal[True, False]` can be replaced with `bool`
+ airflow/www/decorators.py:55:27: PLR1714 Consider merging multiple comparisons: `k in ("val", "value")`. Use a `set` if the elements are hashable.
- airflow/www/decorators.py:55:27: PLR1714 Consider merging multiple comparisons: `k in {"val", "value"}`.
+ airflow/www/views.py:4340:21: PLR1714 Consider merging multiple comparisons: `parsed_url.scheme in ("http", "https")`. Use a `set` if the elements are hashable.
- airflow/www/views.py:4340:21: PLR1714 Consider merging multiple comparisons: `parsed_url.scheme in {"http", "https"}`.
... 35 additional changes omitted for rule PLR1714
+ clients/python/pyproject.toml:27:1: RUF200 Failed to parse pyproject.toml: invalid type: map, expected a sequence
+ pyproject.toml:58:1: RUF200 Failed to parse pyproject.toml: invalid type: map, expected a sequence
... 12380 additional changes omitted for project

apache/superset (+1170 -1172 violations, +0 -8 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --preview --select ALL

+ RELEASING/changelog.py:104:9: DOC201 `return` is not documented in docstring
- RELEASING/changelog.py:107:9: DOC201 `return` is not documented in docstring
+ RELEASING/changelog.py:113:13: DOC201 `return` is not documented in docstring
- RELEASING/changelog.py:52:9: DOC201 `return` is not documented in docstring
+ RELEASING/changelog.py:54:13: DOC201 `return` is not documented in docstring
- RELEASING/changelog.py:87:9: DOC201 `return` is not documented in docstring
... 1824 additional changes omitted for rule DOC201
- scripts/benchmark_migration.py:43:5: DOC501 Raised exception `Exception` missing from docstring
+ scripts/benchmark_migration.py:51:11: DOC501 Raised exception `Exception` missing from docstring
- scripts/cancel_github_workflows.py:162:5: DOC501 Raised exception `ClickException` missing from docstring
+ scripts/cancel_github_workflows.py:164:15: DOC501 Raised exception `ClickException` missing from docstring
... 2340 additional changes omitted for project

aws/aws-sam-cli (+1 -1 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --preview

+ tests/integration/publish/publish_app_integ_base.py:60:16: PLR1714 Consider merging multiple comparisons: `f.suffix in (".yaml", ".json")`. Use a `set` if the elements are hashable.
- tests/integration/publish/publish_app_integ_base.py:60:16: PLR1714 Consider merging multiple comparisons: `f.suffix in {".yaml", ".json"}`.

bokeh/bokeh (+407 -406 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --preview --select ALL

+ examples/advanced/extensions/parallel_plot/parallel_plot.py:107:5: DOC201 `return` is not documented in docstring
- examples/advanced/extensions/parallel_plot/parallel_plot.py:15:5: DOC201 `return` is not documented in docstring
- examples/basic/data/server_sent_events_source.py:53:9: DOC402 `yield` is not documented in docstring
+ examples/basic/data/server_sent_events_source.py:60:13: DOC402 `yield` is not documented in docstring
- examples/interaction/js_callbacks/js_on_event.py:16:5: DOC201 `return` is not documented in docstring
+ examples/interaction/js_callbacks/js_on_event.py:21:5: DOC201 `return` is not documented in docstring
+ examples/models/daylight.py:83:12: DTZ901 Use of `datetime.datetime.min` without timezone information
- examples/models/gauges.py:33:5: DOC201 `return` is not documented in docstring
+ examples/models/gauges.py:34:5: DOC201 `return` is not documented in docstring
... 395 additional changes omitted for rule DOC201
- src/bokeh/__init__.py:63:5: DOC202 Docstring should not have a returns section because the function doesn't return anything
... 803 additional changes omitted for project

latchbio/latch (+2 -3 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --preview

- src/latch/types/metadata.py:500:45: PYI061 `Literal[None, ...]` can be replaced with `Literal[...] | None`
+ src/latch_cli/services/stop_pod.py:22:8: PLR1714 Consider merging multiple comparisons: `res.status_code in (403, 404)`. Use a `set` if the elements are hashable.
- src/latch_cli/services/stop_pod.py:22:8: PLR1714 Consider merging multiple comparisons: `res.status_code in {403, 404}`.
+ src/latch_cli/snakemake/single_task_snakemake.py:362:8: PLR1714 Consider merging multiple comparisons: `parsed.scheme not in ("", "docker")`. Use a `set` if the elements are hashable.
- src/latch_cli/snakemake/single_task_snakemake.py:362:8: PLR1714 Consider merging multiple comparisons: `parsed.scheme not in {"", "docker"}`.

pandas-dev/pandas (+0 -4 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --preview

- pandas/core/groupby/groupby.py:4069:39: PYI061 `Literal[None, ...]` can be replaced with `Literal[...] | None`
- pandas/core/groupby/indexing.py:299:39: PYI061 `Literal[None, ...]` can be replaced with `Literal[...] | None`
- pandas/io/html.py:1027:28: PYI061 `Literal[None, ...]` can be replaced with `Literal[...] | None`
- pandas/io/html.py:223:32: PYI061 `Literal[None, ...]` can be replaced with `Literal[...] | None`

python/typeshed (+1 -4 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --preview --select E,F,FA,I,PYI,RUF,UP,W

- stdlib/ast.pyi:1480:16: RUF038 `Literal[True, False]` can be replaced with `bool`
- stdlib/ast.pyi:1481:35: RUF038 `Literal[True, False]` can be replaced with `bool`
- stdlib/ast.pyi:1484:45: RUF038 `Literal[True, False]` can be replaced with `bool`
+ stdlib/statistics.pyi:160:15: PYI041 Use `float` instead of `int | float`
- stubs/pyxdg/xdg/Menu.pyi:97:11: RUF038 `Literal[True, False, ...]` can be replaced with `Literal[...] | bool`

zulip/zulip (+581 -589 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --preview --select ALL

- analytics/lib/fixtures.py:19:5: DOC201 `return` is not documented in docstring
- analytics/lib/fixtures.py:19:5: DOC501 Raised exception `AssertionError` missing from docstring
+ analytics/lib/fixtures.py:56:15: DOC501 Raised exception `AssertionError` missing from docstring
+ analytics/lib/fixtures.py:77:5: DOC201 `return` is not documented in docstring
+ confirmation/models.py:125:5: DOC201 `return` is not documented in docstring
- confirmation/models.py:279:5: DOC201 `return` is not documented in docstring
+ confirmation/models.py:283:5: DOC201 `return` is not documented in docstring
- confirmation/models.py:298:5: DOC201 `return` is not documented in docstring
... 857 additional changes omitted for rule DOC201
- confirmation/models.py:298:5: DOC501 Raised exception `InvalidError` missing from docstring
+ confirmation/models.py:304:15: DOC501 Raised exception `InvalidError` missing from docstring
... 1160 additional changes omitted for project

wntrblm/nox (+0 -1 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --preview

- nox/command.py:33:16: RUF038 `Literal[True, False, ...]` can be replaced with `Literal[...] | bool`

... Truncated remaining completed project reports due to GitHub comment length restrictions

pypa/setuptools (error)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --preview

ruff failed
  Cause: Failed to parse /home/runner/work/ruff/ruff/checkouts/pypa:setuptools/ruff.toml
  Cause: TOML parse error at line 8, column 1
  |
8 | [lint]
  | ^^^^^^
Unknown rule selector: `UP027`

Changes by rule (13 rules affected)

code total + violation - violation + fix - fix
DOC201 12115 6057 6058 0 0
DOC501 3924 1962 1962 0 0
DOC402 408 204 204 0 0
DOC202 158 79 79 0 0
PYI041 67 1 0 0 66
PLR1714 62 31 31 0 0
PYI061 14 0 14 0 0
RUF038 7 0 7 0 0
DOC502 4 2 2 0 0
RUF200 2 2 0 0 0
DOC403 2 1 1 0 0
DTZ901 1 1 0 0 0
RUF100 1 0 1 0 0

Formatter (stable)

ℹ️ ecosystem check encountered format errors. (no format changes; 1 project error)

pypa/setuptools (error)

ruff failed
  Cause: Failed to parse /home/runner/work/ruff/ruff/checkouts/pypa:setuptools/ruff.toml
  Cause: TOML parse error at line 8, column 1
  |
8 | [lint]
  | ^^^^^^
Unknown rule selector: `UP027`

Formatter (preview)

ℹ️ ecosystem check encountered format errors. (no format changes; 1 project error)

pypa/setuptools (error)

ruff format --preview

ruff failed
  Cause: Failed to parse /home/runner/work/ruff/ruff/checkouts/pypa:setuptools/ruff.toml
  Cause: TOML parse error at line 8, column 1
  |
8 | [lint]
  | ^^^^^^
Unknown rule selector: `UP027`

@MichaReiser MichaReiser added the breaking Breaking API change label Sep 23, 2024
@MichaReiser
Copy link
Member

We should hold back on this until the next minor release because some characters now resolve to a different width, which is a breaking change for the formatter and E501.

Hmm, it also seems that we're now blocked on #10832, unless we can use cargo patch.

@MichaReiser MichaReiser added this to the v0.7 milestone Sep 23, 2024
@AlexWaygood AlexWaygood modified the milestones: v0.7, v0.8 Oct 8, 2024
@MichaReiser
Copy link
Member

I reviewed the usages of width to understand if we're affected by the breaking change where \n.width` no returns 1 instead of zero and I think we're good.

Let's ship this with the next minor, just to be safe.

@MichaReiser MichaReiser force-pushed the renovate/unicode-width-0.x branch from 42846d1 to 08898b0 Compare October 20, 2024 14:28
@AlexWaygood AlexWaygood changed the base branch from main to ruff-0.8 November 16, 2024 19:40
@renovate renovate bot force-pushed the renovate/unicode-width-0.x branch from 08898b0 to c6f364f Compare November 18, 2024 13:51
@renovate renovate bot changed the base branch from ruff-0.8 to main November 18, 2024 13:52
@MichaReiser MichaReiser force-pushed the renovate/unicode-width-0.x branch from c6f364f to 6237782 Compare November 18, 2024 13:54
@MichaReiser MichaReiser changed the base branch from main to ruff-0.8 November 18, 2024 13:54
@MichaReiser MichaReiser force-pushed the renovate/unicode-width-0.x branch from 6237782 to bb61e27 Compare November 18, 2024 13:56
@MichaReiser MichaReiser reopened this Nov 18, 2024
@MichaReiser MichaReiser merged commit 8fb9b12 into ruff-0.8 Nov 18, 2024
39 checks passed
@MichaReiser MichaReiser deleted the renovate/unicode-width-0.x branch November 18, 2024 17:16
@MichaReiser MichaReiser removed the internal An internal refactor or improvement label Nov 18, 2024
@MichaReiser
Copy link
Member

For the changelog: It can in rare circumstances change when the formatter breaks lines or when E501 reports lines as overlong.

@AlexWaygood AlexWaygood mentioned this pull request Nov 18, 2024
MichaReiser pushed a commit that referenced this pull request Nov 19, 2024
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
AlexWaygood pushed a commit that referenced this pull request Nov 19, 2024
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
MichaReiser pushed a commit that referenced this pull request Nov 20, 2024
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
MichaReiser pushed a commit that referenced this pull request Nov 20, 2024
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Breaking API change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants