Debian Package Tracker
Register | Log in
Subscribe

ruff

Fast linter for Python, written in Rust

Choose email to subscribe with

general
  • source: ruff (main)
  • version: 0.0.291+dfsg1-4
  • maintainer: Debian Python Team (DMD)
  • uploaders: Jelmer Vernooij [DMD]
  • arch: all any
  • std-ver: 4.6.2.0
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • unstable: 0.0.291+dfsg1-4
versioned links
  • 0.0.291+dfsg1-4: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • python3-ruff (1 bugs: 0, 0, 1, 0)
  • ruff (3 bugs: 1, 1, 1, 0)
action needed
The package has not entered testing even though the delay is over normal
The package has not entered testing even though the 5-day delay is over. Check why.
Created: 2025-05-10 Last update: 2025-10-10 02:04
version in VCS is newer than in repository, is it time to upload? normal
vcswatch reports that this package seems to have a new changelog entry (version 0.8.4-1, distribution UNRELEASED) and new commits in its VCS. You should consider whether it's time to make an upload.

Here are the relevant commit messages:
commit 48d6201f84d64525d963c7b6417988a4b84b038b
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Fri Sep 26 14:34:01 2025 +0100

    Drop patches that no longer apply

commit f0ab0a668a7cca6614bcc09c5110dc450eff8baf
Merge: 065d9b26 90fb9382
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Fri Sep 26 10:33:14 2025 +0100

    Merge branch 'debian/main' of https://salsa.debian.org/jelmer/ruff into debian/main

commit 90fb93820542ea510d246d9e885647be4ef85a3a
Author: Anton Gladky <gladk@debian.org>
Date:   Wed Jul 2 20:55:57 2025 +0200

    chore: Add salsa-ci.yml for Debian CI integration

commit f44163cba799d88deef40fe0e574f5fe2608df6c
Author: Andreas Tille <tille@debian.org>
Date:   Fri Apr 11 10:08:57 2025 +0200

    Add watch file

commit 065d9b260bee3aae4afd3a57219511387980e4bf
Merge: 7514a8e5 3bb0dac2
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Wed Dec 25 23:15:51 2024 +0000

    Update to 0.8.4

commit 3bb0dac23569fb607e781ca8e401c6eba71b14dd
Author: Dhruv Manilawala <dhruvmanila@gmail.com>
Date:   Thu Dec 19 18:45:42 2024 +0530

    Bump version to 0.8.4 (#15064)

commit 40cba5dc8aa79fef488bcae366abf7efefb04faa
Author: Alex Waygood <Alex.Waygood@Gmail.com>
Date:   Thu Dec 19 13:03:41 2024 +0000

    [red-knot] Cleanup various `todo_type!()` messages (#15063)
    
    Co-authored-by: Micha Reiser <micha@reiser.io>

commit 596d80cc8e9b4e2380712597a881ec2ad3609b96
Author: Dylan <53534755+dylwil3@users.noreply.github.com>
Date:   Thu Dec 19 06:56:45 2024 -0600

    [`perflint`] Parenthesize walrus expressions in autofix for `manual-list-comprehension` (`PERF401`) (#15050)

commit d8b9a366c820750d52650ac42668771ef9fcebe1
Author: Alex Waygood <Alex.Waygood@Gmail.com>
Date:   Thu Dec 19 12:45:17 2024 +0000

    Disable actionlint hook by default when running pre-commit locally (#15061)

commit 85e71ba91ae5adc8fb3b764681c21c8959f71346
Author: Taras Matsyk <x@tar7k.com>
Date:   Thu Dec 19 13:26:40 2024 +0100

    [`flake8-bandit`] Check `S105` for annotated assignment (#15059)
    
    ## Summary
    
    A follow up PR on https://github.com/astral-sh/ruff/issues/14991
    Ruff ignores hardcoded passwords for typed variables. Add a rule to
    catch passwords in typed code bases
    
    ## Test Plan
    
    Includes 2 more test typed variables

commit 2802cbde29ea85ae6a01870aac34b5b788346fc0
Author: Douglas Creager <dcreager@dcreager.net>
Date:   Wed Dec 18 14:37:17 2024 -0500

    Don't special-case class instances in unary expression inference (#15045)
    
    We have a handy `to_meta_type` that does the right thing for class
    instances, and also works for all of the other types that are “instances
    of” something. Unless I'm missing something, this should let us get rid
    of the catch-all clause in one fell swoop.
    
    cf #14548

commit ed2bce6ebb56c84c5ecd22cbe8aac4a887c403ca
Author: InSync <insyncwithfoo@gmail.com>
Date:   Thu Dec 19 01:31:24 2024 +0700

    [red-knot] Report invalid exceptions (#15042)
    
    Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>

commit f0012df68653835752c32d47ebba06320c7e48cf
Author: InSync <insyncwithfoo@gmail.com>
Date:   Wed Dec 18 22:39:55 2024 +0700

    Fix typos in `RUF043.py` (#15044)
    
    (Accidentally introduced in #14966.)

commit 0fc4e8f795f2cc4ad0ea2b3c3d592ed50da29caf
Author: Micha Reiser <micha@reiser.io>
Date:   Wed Dec 18 13:22:33 2024 +0100

    Introduce `InferContext` (#14956)
    
    ## Summary
    
    I'm currently on the fence about landing the #14760 PR because it's
    unclear how we'd support tracking used and unused suppression comments
    in a performant way:
    * Salsa adds an "untracked" dependency to every query reading
    accumulated values. This has the effect that the query re-runs on every
    revision. For example, a possible future query
    `unused_suppression_comments(db, file)` would re-run on every
    incremental change and for every file. I don't expect the operation
    itself to be expensive, but it all adds up in a project with 100k+ files
    * Salsa collects the accumulated values by traversing the entire query
    dependency graph. It can skip over sub-graphs if it is known that they
    contain no accumulated values. This makes accumulators a great tool for
    when they are rare; diagnostics are a good example. Unfortunately,
    suppressions are more common, and they often appear in many different
    files, making the "skip over subgraphs" optimization less effective.
    
    Because of that, I want to wait to adopt salsa accumulators for type
    check diagnostics (we could start using them for other diagnostics)
    until we have very specific reasons that justify regressing incremental
    check performance.
    
    This PR does a "small" refactor that brings us closer to what I have in
    #14760 but without using accumulators. To emit a diagnostic, a method
    needs:
    
    * Access to the db
    * Access to the currently checked file
    
    This PR introduces a new `InferContext` that holds on to the db, the
    current file, and the reported diagnostics. It replaces the
    `TypeCheckDiagnosticsBuilder`. We pass the `InferContext` instead of the
    `db` to methods that *might* emit diagnostics. This simplifies some of
    the `Outcome` methods, which can now be called with a context instead of
    a `db` and the diagnostics builder. Having the `db` and the file on a
    single type like this would also be useful when using accumulators.
    
    This PR doesn't solve the issue that the `Outcome` types feel somewhat
    complicated nor that it can be annoying when you need to report a
    `Diagnostic,` but you don't have access to an `InferContext` (or the
    file). However, I also believe that accumulators won't solve these
    problems because:
    
    * Even with accumulators, it's necessary to have a reference to the file
    that's being checked. The struggle would be to get a reference to that
    file rather than getting a reference to `InferContext`.
    * Users of the `HasTy` trait (e.g., a linter) don't want to bother
    getting the `File` when calling `Type::return_ty` because they aren't
    interested in the created diagnostics. They just want to know what
    calling the current expression would return (and if it even is a
    callable). This is what the different methods of `Outcome` enable today.
    I can ask for the return type without needing extra data that's only
    relevant for emitting a diagnostic.
    
    A shortcoming of this approach is that it is now a bit confusing when to
    pass `db` and when an `InferContext`. An option is that we'd make the
    `file` on `InferContext` optional (it won't collect any diagnostics if
    `None`) and change all methods on `Type` to take `InferContext` as the
    first argument instead of a `db`. I'm interested in your opinion on
    this.
    
    Accumulators are definitely harder to use incorrectly because they
    remove the need to merge the diagnostics explicitly and there's no risk
    that we accidentally merge the diagnostics twice, resulting in
    duplicated diagnostics. I still value performance more over making our
    life slightly easier.

commit ac81c72bf3e5c8c8196adb82133cd3b53793fb48
Author: InSync <insyncwithfoo@gmail.com>
Date:   Wed Dec 18 18:53:48 2024 +0700

    [`ruff`] Ambiguous pattern passed to `pytest.raises()` (`RUF043`) (#14966)

commit c0b7c36d435441788b5a1f2330a66613656a3e47
Author: David Salvisberg <david.salvisberg@seantis.ch>
Date:   Wed Dec 18 08:50:49 2024 +0100

    [`ruff`] Avoid false positives for RUF027 for typing context bindings. (#15037)
    
    Closes #14000
    
    ## Summary
    
    For typing context bindings we know that they won't be available at
    runtime. We shouldn't recommend a fix, that will result in name errors
    at runtime.
    
    ## Test Plan
    
    `cargo nextest run`

commit e8e461da6a5156e7c0e62ef20f4bc7896a17ca9f
Author: Douglas Creager <dcreager@dcreager.net>
Date:   Tue Dec 17 16:58:23 2024 -0500

    Prioritize attribute in from/import statement (#15041)
    
    This tweaks the new semantics from #15026 a bit when a symbol could be
    interpreted both as an attribute and a submodule of a package. For
    `from...import`, we should actually prioritize the attribute, because of
    how the statement itself is implemented [1].
    
    > 1. check if the imported module has an attribute by that name
    > 2. if not, attempt to import a submodule with that name and then check
    the imported module again for that attribute
    
    [1] https://docs.python.org/3/reference/simple_stmts.html#the-import-statement

commit 91c9168dd764ba8fbc72da634f56e1375474bda0
Author: Douglas Creager <dcreager@dcreager.net>
Date:   Tue Dec 17 14:23:34 2024 -0500

    Handle nested imports correctly in `from ... import` (#15026)
    
    #14946 fixed our handling of nested imports with the `import` statement,
    but didn't touch `from...import` statements.
    
    cf
    https://github.com/astral-sh/ruff/issues/14826#issuecomment-2525344515

commit 80577a49f86808854ca933c409e4965d9f62fa26
Author: Micha Reiser <micha@reiser.io>
Date:   Tue Dec 17 18:01:58 2024 +0100

    Upgrade salsa in fuzzer script (#15040)

commit f463fa7b7c80a4e522672de8c03b7e6a4f8d088a
Author: cake-monotone <cake.monotone@gmail.com>
Date:   Wed Dec 18 01:37:07 2024 +0900

    [red-knot] Narrowing For Truthiness Checks (`if x` or `if not x`) (#14687)
    
    ## Summary
    
    Fixes #14550.
    
    Add `AlwaysTruthy` and `AlwaysFalsy` types, representing the set of objects whose `__bool__` method can only ever return `True` or `False`, respectively, and narrow `if x` and `if not x` accordingly.
    
    
    ## Test Plan
    
    - New Markdown test for truthiness narrowing `narrow/truthiness.md`
    - unit tests in `types.rs` and `builders.rs` (`cargo test --package
    red_knot_python_semantic --lib -- types`)

commit c3b6139f394a0e24cba0b5b1166daa80aba601a6
Author: Micha Reiser <micha@reiser.io>
Date:   Tue Dec 17 16:50:33 2024 +0100

    Upgrade salsa (#15039)
    
    The only code change is that Salsa now requires the `Db` to implement
    `Clone` to create "lightweight" snapshots.

commit c9fdb1f5e3a4d0d60b4537741f2c9c19e2426038
Author: InSync <insyncwithfoo@gmail.com>
Date:   Tue Dec 17 22:07:07 2024 +0700

    [`pylint`] Preserve original value format (`PLR6104`) (#14978)
    
    ## Summary
    
    Resolves #11672.
    
    ## Test Plan
    
    `cargo nextest run` and `cargo insta test`.
    
    ---------
    
    Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>

commit 463046ae0724c31ca98bc69ef5252c22cd2212c0
Author: Alex Waygood <Alex.Waygood@Gmail.com>
Date:   Tue Dec 17 12:55:50 2024 +0000

    [red-knot] Explicitly test diagnostics are emitted for unresolvable submodule imports (#15035)

commit dcb99cc8171aa579256f53ca3277a6ac524f5224
Author: Micha Reiser <micha@reiser.io>
Date:   Tue Dec 17 12:45:36 2024 +0100

    Fix stale File status in tests (#15030)
    
    ## Summary
    
    Fixes https://github.com/astral-sh/ruff/issues/15027
    
    The `MemoryFileSystem::write_file` API automatically creates
    non-existing ancestor directoryes
    but we failed to update the status of the now created ancestor
    directories in the `Files` data structure.
    
    
    ## Test Plan
    
    Tested that the case in https://github.com/astral-sh/ruff/issues/15027
    now passes regardless of whether the *Simple* case is commented out or
    not

commit 7c2e7cf25e2b04f7b52052ed4c0710a593ebe4a1
Author: InSync <insyncwithfoo@gmail.com>
Date:   Tue Dec 17 16:33:15 2024 +0700

    [red-knot] Basic support for other legacy `typing` aliases (#14998)
    
    ## Summary
    
    Resolves #14997.
    
    ## Test Plan
    
    Markdown tests.

commit 867a8f949705a41777fd1b8eb3dd4c4aae31dc17
Author: Wei Lee <weilee.rx@gmail.com>
Date:   Tue Dec 17 16:32:48 2024 +0900

    feat(AIR302): extend the following rules (#15015)
    
    
    ## Summary
    
    
    Airflow 3.0 removes various deprecated functions, members, modules, and
    other values. They have been deprecated in 2.x, but the removal causes
    incompatibilities that we want to detect. This PR deprecates the
    following names.
    
    * `airflow.api_connexion.security.requires_access_dataset` →
    `airflow.api_connexion.security.requires_access_asset`
    * `airflow.auth.managers.base_auth_manager.is_authorized_dataset` →
    `airflow.auth.managers.base_auth_manager.is_authorized_asset`
    * `airflow.auth.managers.models.resource_details.DatasetDetails` →
    `airflow.auth.managers.models.resource_details.AssetDetails`
    * `airflow.lineage.hook.DatasetLineageInfo` →
    `airflow.lineage.hook.AssetLineageInfo`
    * `airflow.security.permissions.RESOURCE_DATASET` →
    `airflow.security.permissions.RESOURCE_ASSET`
    * `airflow.www.auth.has_access_dataset` →
    `airflow.www.auth.has_access_dataset.has_access_asset`
    * remove `airflow.datasets.DatasetAliasEvent`
    * `airflow.datasets.Dataset` → `airflow.sdk.definitions.asset.Asset`
    * `airflow.Dataset` → `airflow.sdk.definitions.asset.Asset`
    * `airflow.datasets.DatasetAlias` →
    `airflow.sdk.definitions.asset.AssetAlias`
    * `airflow.datasets.DatasetAll` →
    `airflow.sdk.definitions.asset.AssetAll`
    * `airflow.datasets.DatasetAny` →
    `airflow.sdk.definitions.asset.AssetAny`
    * `airflow.datasets.metadata` → `airflow.sdk.definitions.asset.metadata`
    * `airflow.datasets.expand_alias_to_datasets` →
    `airflow.sdk.definitions.asset.expand_alias_to_assets`
    * `airflow.datasets.manager.dataset_manager` → `airflow.assets.manager`
    * `airflow.datasets.manager.resolve_dataset_manager` →
    `airflow.assets.resolve_asset_manager`
    * `airflow.datasets.manager.DatasetManager` →
    `airflow.assets.AssetManager`
    * `airflow.listeners.spec.dataset.on_dataset_created` →
    `airflow.listeners.spec.asset.on_asset_created`
    * `airflow.listeners.spec.dataset.on_dataset_changed` →
    `airflow.listeners.spec.asset.on_asset_changed`
    * `airflow.timetables.simple.DatasetTriggeredTimetable` →
    `airflow.timetables.simple.AssetTriggeredTimetable`
    * `airflow.timetables.datasets.DatasetOrTimeSchedule` →
    `airflow.timetables.assets.AssetOrTimeSchedule`
    *
    `airflow.providers.amazon.auth_manager.avp.entities.AvpEntities.DATASET`
    → `airflow.providers.amazon.auth_manager.avp.entities.AvpEntities.ASSET`
    * `airflow.providers.amazon.aws.datasets.s3.create_dataset` →
    `airflow.providers.amazon.aws.assets.s3.create_asset`
    *
    `airflow.providers.amazon.aws.datasets.s3.convert_dataset_to_openlineage`
    →
    `airflow.providers.amazon.aws.datasets.s3.convert_dataset_to_openlineage`
    * `airflow.providers.amazon.aws.datasets.s3.sanitize_uri` →
    `airflow.providers.amazon.aws.assets.s3.sanitize_uri`
    *
    `airflow.providers.common.io.datasets.file.convert_dataset_to_openlineage`
    → `airflow.providers.common.io.assets.file.convert_asset_to_openlineage`
    * `airflow.providers.common.io.datasets.file.sanitize_uri` →
    `airflow.providers.common.io.assets.file.sanitize_uri`
    * `airflow.providers.common.io.datasets.file.create_dataset` →
    `airflow.providers.common.io.assets.file.create_asset`
    * `airflow.providers.google.datasets.bigquery.sanitize_uri` →
    `airflow.providers.google.assets.bigquery.sanitize_uri`
    * `airflow.providers.google.datasets.gcs.create_dataset` →
    `airflow.providers.google.assets.gcs.create_asset`
    * `airflow.providers.google.datasets.gcs.sanitize_uri` →
    `airflow.providers.google.assets.gcs.sanitize_uri`
    * `airflow.providers.google.datasets.gcs.convert_dataset_to_openlineage`
    → `airflow.providers.google.assets.gcs.convert_asset_to_openlineage`
    *
    `airflow.providers.fab.auth_manager.fab_auth_manager.is_authorized_dataset`
    →
    `airflow.providers.fab.auth_manager.fab_auth_manager.is_authorized_asset`
    * `airflow.providers.openlineage.utils.utils.DatasetInfo` →
    `airflow.providers.openlineage.utils.utils.AssetInfo`
    * `airflow.providers.openlineage.utils.utils.translate_airflow_dataset`
    → `airflow.providers.openlineage.utils.utils.translate_airflow_asset`
    * `airflow.providers.postgres.datasets.postgres.sanitize_uri` →
    `airflow.providers.postgres.assets.postgres.sanitize_uri`
    * `airflow.providers.mysql.datasets.mysql.sanitize_uri` →
    `airflow.providers.mysql.assets.mysql.sanitize_uri`
    * `airflow.providers.trino.datasets.trino.sanitize_uri` →
    `airflow.providers.trino.assets.trino.sanitize_uri`
    
    In additional to the newly added rules above, the message for
    `airflow.contrib.*` and `airflow.subdag.*` has been extended,
    `airflow.sensors.external_task.ExternalTaskSensorLink` error has been
    fixed and the test fixture has been reorganized
    
    ## Test Plan
    
    A test fixture is included in the PR.

commit e22718f25f1e2ad53703b303511800b72be37763
Author: w0nder1ng <94079074+w0nder1ng@users.noreply.github.com>
Date:   Tue Dec 17 02:30:32 2024 -0500

    [`perflint`] Simplify finding the loop target in `PERF401` (#15025)
    
    Fixes #15012.
    
    ```python
    def f():
        # panics when the code can't find the loop variable
        values = [1, 2, 3]
        result = []
        for i in values:
            result.append(i + 1)
        del i
    ```
    
    I'm not sure exactly why this test case panics, but I suspect the `del
    i` removes the binding from the semantic model's symbols.
    
    I changed the code to search for the correct binding by directly
    iterating through the bindings. Since we know exactly which binding we
    want, this should find the loop variable without any complications.

commit dcdc6e7c64c66ac57fbdb8868b102ea0f20c695e
Author: Dhruv Manilawala <dhruvmanila@gmail.com>
Date:   Tue Dec 17 09:49:39 2024 +0530

    [red-knot] Avoid undeclared path when raising conflicting declarations (#14958)
    
    ## Summary
    
    This PR updates the logic when raising conflicting declarations
    diagnostic to avoid the undeclared path if present.
    
    The conflicting declaration diagnostics is added when there are two or
    more declarations in the control flow path of a definition whose type
    isn't equivalent to each other. This can be seen in the following
    example:
    
    ```py
    if flag:
            x: int
    x = 1  # conflicting-declarations: Unknown, int
    ```
    
    After this PR, we'd avoid considering "Unknown" as part of the
    conflicting declarations. This means we'd still flag it for the
    following case:
    
    ```py
    if flag:
            x: int
    else:
            x: str
    x = 1  # conflicting-declarations: int, str
    ```
    
    A solution that's local to the exception control flow was also explored
    which required updating the logic for merging the flow snapshot to avoid
    considering declarations using a flag. This is preserved here:
    https://github.com/astral-sh/ruff/compare/dhruv/control-flow-no-declarations?expand=1.
    
    The main motivation to avoid that is we don't really understand what the
    user experience is w.r.t. the Unknown type and the
    conflicting-declaration diagnostics. This makes us unsure on what the
    right semantics are as to whether that diagnostics should be raised or
    not and when to raise them. For now, we've decided to move forward with
    this PR and could decide to adopt another solution or remove the
    conflicting-declaration diagnostics in the future.
    
    Closes: #13966
    
    ## Test Plan
    
    Update the existing mdtest case. Add an additional case specific to
    exception control flow to verify that the diagnostic is not being raised
    now.

commit 4ddf9228f6b24db05c9de4a121b35a0892ea3792
Author: Douglas Creager <dcreager@dcreager.net>
Date:   Mon Dec 16 16:15:40 2024 -0500

    Bind top-most parent when importing nested module (#14946)
    
    When importing a nested module, we were correctly creating a binding for
    the top-most parent, but we were binding that to the nested module, not
    to that parent module. Moreover, we weren't treating those submodules as
    members of their containing parents. This PR addresses both issues, so
    that nested imports work as expected.
    
    As discussed in ~Slack~ whatever chat app I find myself in these days
    :smile:, this requires keeping track of which modules have been imported
    within the current file, so that when we resolve member access on a
    module reference, we can see if that member has been imported as a
    submodule. If so, we return the submodule reference immediately, instead
    of checking whether the parent module's definition defines the symbol.
    
    This is currently done in a flow insensitive manner. The `SemanticIndex`
    now tracks all of the modules that are imported (via `import`, not via
    `from...import`). The member access logic mentioned above currently only
    considers module imports in the file containing the attribute
    expression.
    
    ---------
    
    Co-authored-by: Carl Meyer <carl@astral.sh>

commit 6d72be2683a6fe835bb297f69609095fec96a9cd
Author: Alex Waygood <Alex.Waygood@Gmail.com>
Date:   Mon Dec 16 17:45:46 2024 +0000

    Bump zizmor pre-commit hook to the latest version and fix new warnings (#15022)

commit 712c88674930e0fd174d3730b25dbf827914cacd
Author: Alex Waygood <Alex.Waygood@Gmail.com>
Date:   Mon Dec 16 17:32:49 2024 +0000

    Add `actionlint` as a pre-commit hook (with shellcheck integration) (#15021)

commit 50739f91dc415ac3a8b56b2296a8e47f70ae663d
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Mon Dec 16 22:48:37 2024 +0530

    Update dependency mdformat-mkdocs to v4 (#15011)
    
    This PR contains the following updates:
    
    | Package | Change | Age | Adoption | Passing | Confidence |
    |---|---|---|---|---|---|
    |
    [mdformat-mkdocs](https://redirect.github.com/kyleking/mdformat-mkdocs)
    ([changelog](https://redirect.github.com/kyleking/mdformat-mkdocs/releases))
    | `==3.1.1` -> `==4.0.0` |
    [![age](https://developer.mend.io/api/mc/badges/age/pypi/mdformat-mkdocs/4.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/mdformat-mkdocs/4.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/mdformat-mkdocs/3.1.1/4.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/mdformat-mkdocs/3.1.1/4.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
    |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>kyleking/mdformat-mkdocs (mdformat-mkdocs)</summary>
    
    ###
    [`v4.0.0`](https://redirect.github.com/KyleKing/mdformat-mkdocs/releases/tag/v4.0.0)
    
    [Compare
    Source](https://redirect.github.com/kyleking/mdformat-mkdocs/compare/v3.1.1...v4.0.0)
    
    #### What's Changed
    
    - fix!: add newline after title for consistency with MKDocs style by
    [@&#8203;KyleKing](https://redirect.github.com/KyleKing) in
    [https://github.com/KyleKing/mdformat-mkdocs/pull/44](https://redirect.github.com/KyleKing/mdformat-mkdocs/pull/44)
    
    **Full Changelog**:
    https://github.com/KyleKing/mdformat-mkdocs/compare/v3.1.1...v4.0.0
    
    </details>
    
    ---
    
    ### 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.
    
    ---
    
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
    this box
    
    ---
    
    This PR was generated by [Mend Renovate](https://mend.io/renovate/).
    View the [repository job
    log](https://developer.mend.io/github/astral-sh/ruff).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS41OC4xIiwidXBkYXRlZEluVmVyIjoiMzkuNTguMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->
    
    ---------
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    Co-authored-by: Dhruv Manilawala <dhruvmanila@gmail.com>
    Co-authored-by: Kyle King <KyleKing@users.noreply.github.com>

commit 6a5eff60171a8b17158ee7b890ef36708e0e1f6a
Author: Dylan <53534755+dylwil3@users.noreply.github.com>
Date:   Mon Dec 16 09:09:27 2024 -0600

    [`pydocstyle`] Skip leading whitespace for `D403` (#14963)
    
    This PR introduces three changes to `D403`, which has to do with
    capitalizing the first word in a docstring.
    
    1. The diagnostic and fix now skip leading whitespace when determining
    what counts as "the first word".
    2. The name has been changed to `first-word-uncapitalized` from
    `first-line-capitalized`, for both clarity and compliance with our rule
    naming policy.
    3. The diagnostic message and documentation has been modified slightly
    to reflect this.
    
    Closes #14890

commit a623d8f7c44cd63897489cad0faed1538d4373c8
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Mon Dec 16 11:13:49 2024 +0000

    Update pre-commit dependencies (#15008)
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>

commit aa429b413f8a7de9eeee14f8e54fdcb3b199b7b7
Author: Dhruv Manilawala <dhruvmanila@gmail.com>
Date:   Mon Dec 16 16:26:40 2024 +0530

    Check diagnostic refresh support from client capability (#15014)
    
    ## Summary
    
    Per the LSP spec, the property name is `workspace.diagnostics` with an
    `s` at the end but the `lsp-types` dependency uses
    `workspace.diagnostic` (without an `s`). Our fork contains this fix
    (https://github.com/astral-sh/lsp-types/commit/0f58d628799182647f688908ba752a33f854fb3a)
    so we should avoid the hardcoded value.
    
    The implication of this is that the client which doesn't support
    workspace refresh capability didn't support the [dynamic
    configuration](https://docs.astral.sh/ruff/editors/features/#dynamic-configuration)
    feature because the server would _always_ send the workspace refresh
    request but the client would ignore it. We have a fallback logic to
    publish the diagnostics instead:
    
    
    https://github.com/astral-sh/ruff/blob/5f6fc3988b5ce19790746921bd80cde9b646d690/crates/ruff_server/src/server/api/notifications/did_change_watched_files.rs#L28-L40
    
    fixes: #15013
    
    ## Test Plan
    
    ### VS Code
    
    
    https://github.com/user-attachments/assets/61ac8e6f-aa20-41cc-b398-998e1866b5bc
    
    ### Neovim
    
    
    
    https://github.com/user-attachments/assets/4131e13c-3fba-411c-9bb7-478d26eb8d56

commit 425c248232c017e8779ebc82f62dbe643839a700
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Mon Dec 16 08:48:51 2024 +0100

    Update Rust crate colored to v2.2.0 (#15010)
    
    This PR contains the following updates:
    
    | Package | Type | Update | Change |
    |---|---|---|---|
    | [colored](https://redirect.github.com/mackwic/colored) |
    workspace.dependencies | minor | `2.1.0` -> `2.2.0` |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>mackwic/colored (colored)</summary>
    
    ###
    [`v2.2.0`](https://redirect.github.com/mackwic/colored/compare/v2.1.0...v2.2.0)
    
    [Compare
    Source](https://redirect.github.com/mackwic/colored/compare/v2.1.0...v2.2.0)
    
    </details>
    
    ---
    
    ### 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.
    
    ---
    
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
    this box
    
    ---
    
    This PR was generated by [Mend Renovate](https://mend.io/renovate/).
    View the [repository job
    log](https://developer.mend.io/github/astral-sh/ruff).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS41OC4xIiwidXBkYXRlZEluVmVyIjoiMzkuNTguMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit bcd944347d972daa3a82ba38449778ebd56d70c0
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun Dec 15 20:26:21 2024 -0500

    Update dependency monaco-editor to v0.52.2 (#15006)

commit 86eff81c6ac127e9b79c88a0fc71cc851644e095
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun Dec 15 20:26:14 2024 -0500

    Update Rust crate thiserror to v2.0.7 (#15005)

commit 24ace6856050894e0379ea5d61a3ba55afb66006
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun Dec 15 20:26:08 2024 -0500

    Update Rust crate serde to v1.0.216 (#15004)

commit b664505d7bef35bb4e1ea4b690e8f7c9d3764d66
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun Dec 15 20:25:59 2024 -0500

    Update Rust crate libc to v0.2.168 (#15003)

commit aa575da1e7d6240f500b9ad31d2bc439c7596aee
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun Dec 15 20:25:52 2024 -0500

    Update Rust crate fern to v0.7.1 (#15002)

commit 921eb2acb3ea6767fd6cdd9bc4ef7fdb3c081cee
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun Dec 15 20:25:46 2024 -0500

    Update Rust crate chrono to v0.4.39 (#15001)

commit 8665d2dc95d5eb05ecef1c078977294ef69cdf2b
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun Dec 15 20:25:39 2024 -0500

    Update Rust crate bstr to v1.11.1 (#15000)

commit 1cc27c995c5d2c430e8b837a5c7c4536435b42a3
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun Dec 15 20:25:10 2024 -0500

    Update NPM Development dependencies (#14999)

commit a93bc2af6b169fec5586977e32bbff67df870d4e
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun Dec 15 20:25:04 2024 -0500

    Update dependency ruff to v0.8.3 (#15007)

commit d848182340079299f71cfdfb647e1ae2d00835b6
Author: Alex Waygood <Alex.Waygood@Gmail.com>
Date:   Sun Dec 15 19:37:45 2024 +0000

    Pin mdformat plugins in pre-commit (#14992)

commit 7173e6a20b3a26549fb695d77978476218244904
Author: InSync <insyncwithfoo@gmail.com>
Date:   Sun Dec 15 23:07:29 2024 +0700

    Use stripping block (`|-`) for page descriptions (#14980)
    
    ## Summary
    
    Resolves #14976.
    
    Currently, we uses this "[plain
    scalar](https://yaml.org/spec/1.2.2/#733-plain-style)" format:
    
    ```yaml
    description: Checks for `if key in dictionary: del dictionary[key]`.
    ```
    
    Plain scalar must not contain the sequence `: `, however, so the above
    is invalid.
    
    This PR changes that to:
    
    ```yaml
    description: |-
      Checks for `if key in dictionary: del dictionary[key]`.
    ```
    
    `|` denotes a "[block
    scalar](https://yaml.org/spec/1.2.2/#81-block-scalar-styles)", whereas
    [the `-` chomping
    indicator](https://yaml.org/spec/1.2.2/#8112-block-chomping-indicator)
    requires that a trailing newline, if any, must be stripped.
    
    ## Test Plan
    
    
    ![](https://github.com/user-attachments/assets/f00b606a-d6fe-46ac-a1c5-6a8665204ea3)

commit 4a7536dc941018fcfbeaecbf1464621b7ac1a5e2
Author: w0nder1ng <94079074+w0nder1ng@users.noreply.github.com>
Date:   Sun Dec 15 10:22:04 2024 -0500

    [`perflint`] Fix panic in `perf401` (#14971)
    
    Fixes #14969.
    
    The issue was that this line:
    
    ```rust
    let from_assign_to_loop = TextRange::new(binding_stmt.end(), for_stmt.start());
    ```
    
    was not safe if the binding was after the target. The only way (at least
    that I can think of) this can happen is if they are in different scopes,
    so it now checks for that before checking if there are usages between
    the two.

commit 2d15d7d1af96873a6a95f39118e8e4f4d308d696
Author: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com>
Date:   Sun Dec 15 16:20:04 2024 +0100

    Improve the documentation of E201/E202 (#14983)
    
    ## Summary
    
    The summary is misleading, as well as the
    `whitespace-after-open-bracket` and `whitespace-before-close-bracket`
    names - it's not only brackets, but also parentheses and braces. Align
    the documentation with the actual behaviour.
    
    Don't change the names, but align the documentation with the behaviour.
    
    ## Test Plan
    
    No test (documentation).

commit 112e9d2d8258e72dcf5c21c7d811957f12325af1
Author: Rebecca Chen <rchen152@gmail.com>
Date:   Sun Dec 15 04:04:51 2024 -0800

    [ruff_python_ast] Add name and default functions to TypeParam. (#14964)
    
    ## Summary
    
    This change adds `name` and `default` functions to `TypeParam` to access
    the corresponding attributes more conveniently. I currently have these
    as helper functions in code built on top of ruff_python_ast, and they
    seemed like they might be generally useful.
    
    ## Test Plan
    
    Ran the checks listed in CONTRIBUTING.md#development.
    
    ---------
    
    Co-authored-by: Micha Reiser <micha@reiser.io>
    Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>

commit 1389cb8e593e3476c813ba931e4a9677b6863cdd
Author: Alex Waygood <Alex.Waygood@Gmail.com>
Date:   Sun Dec 15 02:00:52 2024 +0000

    [red-knot] Emit an error if a bare `Annotated` or `Literal` is used in a type expression (#14973)

commit fa46ba2306c62a2d6bb3c1abcd7ba0afb26d9421
Author: Alex Waygood <Alex.Waygood@Gmail.com>
Date:   Sun Dec 15 01:15:10 2024 +0000

    [red-knot] Fix bugs relating to assignability of dynamic `type[]` types (#14972)

commit 7514a8e508361a17de76b10eaa7fe7f959230436
Merge: 01db3604 2128ad8e
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Fri Sep 27 12:39:16 2024 +0100

    New upstream release.

commit 01db3604175d6fdaffa04bf8c7b00c71b643a0ca
Author: James McCoy <jamessan@debian.org>
Date:   Sun Jun 16 13:45:25 2024 -0400

    release package ruff version 0.0.291+dfsg1-4
    
    Signed-off-by: James McCoy <jamessan@debian.org>

commit 596f131e611906c5f1fd7ad1c2f006d979792ae1
Author: James McCoy <jamessan@debian.org>
Date:   Tue Jun 11 17:24:31 2024 -0400

    Add relax-strum patch to fix build with strum 0.26
    
    Signed-off-by: James McCoy <jamessan@debian.org>

commit 39a6704e7080e4610bedd077b37a9839df676c34
Author: James McCoy <jamessan@debian.org>
Date:   Tue Jun 11 17:23:15 2024 -0400

    Remove older-notify patch
    
    rust-notify 6.1.1 is now available in unstable
    
    Signed-off-by: James McCoy <jamessan@debian.org>

commit 9e321f23248fa7003a89fdd6c030747ee14b701c
Merge: ca62f153 cfeb6ab0
Author: Jelmer Vernooij <jelmer@debian.org>
Date:   Thu Apr 4 20:03:37 2024 +0000

    Merge branch 'debian/main' into 'debian/main'
    
    Overhaul debian/copyright file
    
    See merge request python-team/packages/ruff!1

commit cfeb6ab0c3b20930f0e010d017e0258bf47115e3
Author: Vincent Blut <vincent.debian@free.fr>
Date:   Wed Apr 3 14:08:07 2024 +0200

    Overhaul debian/copyright file

commit ca62f1531d05d666f2ddfa84acb0357cd9670221
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Tue Apr 2 23:02:45 2024 +0100

    Change Maintainer to Debian Python Team, moving myself to Uploaders.

commit bb2d8b21d70d85f3a06f0a1d1b33dcaf2f965841
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Feb 1 21:26:15 2024 +0000

    releasing package ruff version 0.0.291+dfsg1-3

commit 5933184ae9494d043ca6f96346bbb1e0c90be0ce
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Feb 1 21:26:00 2024 +0000

    Add patch find-ruff: hardcode path to ruff on Debian. Closes: #1058753

commit 361a63869b48f08ee8bc99bfffa5ae5219ac068a
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Feb 1 21:06:18 2024 +0000

    Fix build; update dependencies

commit 333a90b61f4e99acc74c5e1308982044b95a4af6
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Mon Nov 13 21:04:14 2023 +0000

    Drop mood check, depends on imperative

commit d732fa633780cbf790d09a4b2f8417725fcec078
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Wed Nov 8 09:35:27 2023 +0000

    releasing package ruff version 0.0.291+dfsg1-2

commit bc0556f522ef705569eb6c1c5aa098622c88e301
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Wed Nov 8 09:32:21 2023 +0000

    python3-ruff: Add dependency on ruff itself. Closes: #1055559

commit 662753e56580ae8db8043837ac708e7822c4f482
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Tue Nov 7 01:00:24 2023 +0000

    Update to 0.0.291+dfsg1

commit e7c71f0a857037a4355c8997c6dc66d04af2d35f
Merge: e0fe7d5b 424ef042
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Tue Nov 7 00:59:50 2023 +0000

    Merge tag 'upstream/0.0.291+dfsg1' into debian/main

commit e0fe7d5bcee213d583de8a51ecbc5bb366fa0f46
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Nov 2 12:47:20 2023 +0000

    releasing package ruff version 0.0.291-1

commit 084f92da858ec184d895472bc32551ba571be3e4
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Fri Oct 27 13:47:10 2023 +0100

    Split package

commit 885b7976e09485297b8912b63aaf37d73cd58765
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Mon Oct 16 22:34:18 2023 +0100

    Add shlibs:Depends

commit 8b34e9ebd5efff59f583b81e56b6b8adaec1439c
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Mon Oct 16 22:33:56 2023 +0100

    Fix drop-clap-complete-command

commit 80667cbf180aaf6ab7d27663edbbe840c4787318
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Mon Oct 16 22:33:45 2023 +0100

    Add copyright files

commit 97d62b128aa362c5cb9664be3f048b7881fc3d08
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Mon Oct 16 21:41:42 2023 +0100

    Drop env filter for tracing-subscriber, not present in Debian

commit fe871bf46a19b60c61f46d82965f5e1dd814691e
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Mon Oct 16 21:32:27 2023 +0100

    Add more dependencies

commit 645c76f2e117b1fc418c00fd2f5a8e6708aec989
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Mon Oct 16 21:06:57 2023 +0100

    Revert accidental patches

commit 0aab1d17c033f7c084829c017517f3b4378db217
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Mon Oct 16 18:37:04 2023 +0100

    Fix mimalloc dep

commit 0a536dc8bf0ca3650a69509d8a023a0954808b1b
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Mon Sep 25 15:44:16 2023 +0100

    refresh patches

commit f2f34cb7ac7577bbbd46db3f39f63785cc58ae64
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Mon Sep 25 15:40:39 2023 +0100

    Undo patches

commit 2433f97ed1bd07a637e1e3d60cd9c493b795a2bc
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Mon Sep 25 15:34:50 2023 +0100

    Use older itoa

commit 6412bb070179435b7bf7503f73aac470ca929302
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Mon Sep 25 15:31:23 2023 +0100

    Drop building benchmark, add more deps

commit 1ed885dd1792a4f547a29d5996bcf0003d17ebb3
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Sat Sep 23 23:22:34 2023 +0100

    Use older notify

commit 7a14c9e27b04f627dab05cd3f89287342cd4887a
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Sat Sep 23 04:22:01 2023 +0100

    sync upstream

commit b975ef3859dc8a72af889c7ea9a5e07d1c77b386
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Sat Sep 23 04:21:46 2023 +0100

    More compatibility work

commit 0df9a78b4b0b0c0f0d01d21314e8cc5105be001a
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Sat Sep 23 03:06:04 2023 +0100

    Update changelog version

commit 776449dafb78764f09f87844e51cd40334039606
Merge: 08a261f6 8bfe9bda
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Sat Sep 23 03:05:53 2023 +0100

    Merge tag 'v0.0.291' into debian/main
    
    v0.0.291

commit 08a261f637b6274a7eab51df393a224f31e29288
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Fri Sep 22 21:17:04 2023 +0100

    Fix repository

commit 392fd6681b732c60e0c58db11b95fcb33f1e0a48
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Sep 14 15:43:20 2023 +0100

    Drop wasm-bindgen-test dep

commit 3ff5699c41e50b5fea2479d40791c5bbb1a731bb
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Sep 14 14:42:32 2023 +0000

    Relax test case version

commit cae315780df6a1bd946bb5c975c76f7f3bee58b4
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Sep 14 15:41:28 2023 +0100

    Set source format

commit 97f586cf9c4b3e1594a8744fb5bfd1eeb38d6063
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Sep 14 15:36:13 2023 +0100

    update patches

commit 80c3d4f6682f61dbaf04269e9554d020eca88a4f
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Sep 14 15:33:39 2023 +0100

    Refresh patches

commit c87400e252ee652034f4d0ffe43485b5325f8f5e
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Sep 14 15:31:39 2023 +0100

    relax more deps

commit 0c2b3709236bab7e905d1bb56c9fb11a95c3d422
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Sep 14 15:29:48 2023 +0100

    Add more dependencies

commit 0018fff506f071fd58b3c6c172c1b463bcb86325
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Sep 14 15:28:53 2023 +0100

    Allow newer clap-complete-command, toml

commit 6facbc88a3656ddfa8dfb90731e9916fbf9837f3
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Sep 14 15:04:21 2023 +0100

    add patch packaged-deps

commit 7a2847aacd98299c8b6d051a53e9c7cd4460508c
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Wed Sep 13 21:53:25 2023 +0100

    Fix cargo config

commit 9f360e71ab42b25778ab83582769b3b0d6269499
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Wed Sep 13 20:50:04 2023 +0000

    Ignore backup files

commit dda88f281ed58b4e60bf103f5d27b2188c011c99
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Wed Sep 13 20:43:27 2023 +0000

    Set Vcs- headers

commit 898bea4fca70ded2fa43f1f892350a31976afc1c
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Wed Sep 13 21:42:27 2023 +0100

    Update dependencies

commit b6bed4edf85f18edc64ab4f6f69977f8df591140
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date:   Thu Aug 10 10:01:21 2023 +0100

    Initial debian packaging
Created: 2024-09-30 Last update: 2025-10-04 21:31
lintian reports 3 warnings normal
Lintian reports 3 warnings about this package. You should make the package lintian clean getting rid of them.
Created: 2024-06-17 Last update: 2024-06-17 05:43
debian/patches: 33 patches to forward upstream low

Among the 33 debian patches available in version 0.0.291+dfsg1-4 of the package, we noticed the following issues:

  • 33 patches where the metadata indicates that the patch has not yet been forwarded upstream. You should either forward the patch upstream or update the metadata to document its real status.
Created: 2023-11-19 Last update: 2024-06-17 09:40
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.2 instead of 4.6.2.0).
Created: 2024-04-07 Last update: 2025-02-27 13:25
testing migrations
  • excuses:
    • Migration status for ruff (- to 0.0.291+dfsg1-4): BLOCKED: Rejected/violates migration policy/introduces a regression
    • Issues preventing migration:
    • ∙ ∙ Updating ruff would introduce bugs in testing: #1074734, #1108905
    • Additional info:
    • ∙ ∙ Piuparts tested OK - https://piuparts.debian.org/sid/source/r/ruff.html
    • ∙ ∙ 480 days old (needed 5 days)
    • Not considered
news
[rss feed]
  • [2025-05-11] ruff REMOVED from testing (Debian testing watch)
  • [2025-04-08] ruff 0.0.291+dfsg1-4 MIGRATED to testing (Debian testing watch)
  • [2024-08-17] ruff REMOVED from testing (Debian testing watch)
  • [2024-06-24] ruff 0.0.291+dfsg1-4 MIGRATED to testing (Debian testing watch)
  • [2024-06-16] Accepted ruff 0.0.291+dfsg1-4 (source) into unstable (James McCoy)
  • [2024-02-02] Accepted ruff 0.0.291+dfsg1-3 (source) into unstable (Jelmer Vernooij) (signed by: Jelmer Vernooij)
  • [2023-11-08] Accepted ruff 0.0.291+dfsg1-2 (source) into unstable (Jelmer Vernooij) (signed by: Jelmer Vernooij)
  • [2023-11-07] Accepted ruff 0.0.291+dfsg1-1 (source all amd64) into unstable (Debian FTP Masters) (signed by: Jelmer Vernooij)
bugs [bug history graph]
  • all: 6
  • RC: 2
  • I&N: 2
  • M&W: 2
  • F&P: 0
  • patch: 0
links
  • homepage
  • lintian (0, 3)
  • buildd: logs, cross
  • popcon
  • browse source code
  • edit tags
  • other distros
  • screenshots
  • debian patches

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing