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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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 [@​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  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 2128ad8e3c6ee38d1634a44887fa7c0054f0e72c Merge: 424ef042 ae39ce56 Author: Jelmer Vernooij <jelmer@jelmer.uk> Date: Fri Sep 27 11:14:14 2024 +0000 Import upstream version 0.6.8 commit ae39ce56c0cc1f8ac15f980c0b457b16b67c1f2a Author: Micha Reiser <micha@reiser.io> Date: Thu Sep 26 14:09:03 2024 +0200 Bump version to 0.6.8 (#13522) commit ff2d214e112e7c1183a818cccb8d66b014eee0e7 Author: Micha Reiser <micha@reiser.io> Date: Thu Sep 26 13:57:05 2024 +0200 Don't skip over imports and other nodes containing nested statements in import collector (#13521) commit 9442cd8fae338e869a0be92b3b17b8dda3562238 Author: Micha Reiser <micha@reiser.io> Date: Thu Sep 26 08:44:33 2024 +0200 Parenthesize `match..case` `if` guards (#13513) commit 8012707348aac296124542b5e5217b1ec833fb7b Author: Micha Reiser <micha@reiser.io> Date: Thu Sep 26 08:35:22 2024 +0200 Align formatting of patterns in match-cases with expression formatting in clause headers (#13510) commit d7ffe460546164e57c66daee51f53bdcb811eeaf Author: Charlie Marsh <charlie.r.marsh@gmail.com> Date: Wed Sep 25 19:58:35 2024 -0400 Disable the `typeset` plugin (#13517) ## Summary There seems to be a bad interaction between enabling anchorlinks and the `typeset` plugin. I think the former is more important than the latter... so disabling the latter for now. ## Test Plan Before:  After:  commit 7c83af419cc04b07e3bafaff8c233a5ffa447daf Author: haarisr <122410226+haarisr@users.noreply.github.com> Date: Wed Sep 25 13:44:19 2024 -0700 red-knot: Implement the `not` operator for all `Type` variants (#13432) Signed-off-by: haaris <haarisrahman@gmail.com> Co-authored-by: Carl Meyer <carl@oddbird.net> commit bbb044ebda2890061dba6ec53d3d55e0932041ba Author: Zanie Blue <contact@zanie.dev> Date: Wed Sep 25 10:03:25 2024 -0500 Detect tuples bound to variadic positional arguments i.e. `*args` (#13512) In https://github.com/astral-sh/ruff/pull/13503, we added supported for detecting variadic keyword arguments as dictionaries, here we use the same strategy for detecting variadic positional arguments as tuples. commit 481065238b7f90fe756aa6bd989cf9d3973d4654 Author: Zanie Blue <contact@zanie.dev> Date: Wed Sep 25 10:03:09 2024 -0500 Avoid UP028 false negatives with non-reference shadowed bindings of loop variables (#13504) Closes https://github.com/astral-sh/ruff/issues/13266 Avoids false negatives for shadowed bindings that aren't actually references to the loop variable. There are some shadowed bindings we need to support still, e.g., `del` requires the loop variable to exist. commit 11f06e0d5524ada77ee6faa5304d25319031f115 Author: Zanie Blue <contact@zanie.dev> Date: Wed Sep 25 10:02:59 2024 -0500 Detect SIM910 when using variadic keyword arguments, i.e., `**kwargs` (#13503) Closes https://github.com/astral-sh/ruff/issues/13493 commit f27a8b8c7abdd06c6b24b86791db31aa4295a6c7 Author: Dylan <53534755+dylwil3@users.noreply.github.com> Date: Wed Sep 25 09:58:57 2024 -0500 [internal] `ComparableExpr` (f)strings and bytes made invariant under concatenation (#13301) commit ca0ae0a484906dd29a55a97572df527667330507 Author: Vince van Noort <vince.vannoort@channable.com> Date: Wed Sep 25 11:14:12 2024 +0200 [pylint] Implement `boolean-chained-comparison` (`R1716`) (#13435) Co-authored-by: Micha Reiser <micha@reiser.io> commit be1d5e33680c3e2e71b452ad1ed651dcc6f37f55 Author: TomerBin <tomerbin98@gmail.com> Date: Wed Sep 25 03:02:26 2024 +0300 [red-knot] Add `Type::bool` and boolean expression inference (#13449) commit 03503f7f566be367f577c7077c717dd578249bca Author: Simon Brugman <sbrugman@users.noreply.github.com> Date: Tue Sep 24 14:55:32 2024 +0200 C401 message missing closing parenthesis (#13498) commit ff4b6d11fa458ea6718cabd07b224442670df38f Author: Charlie Marsh <charlie.r.marsh@gmail.com> Date: Mon Sep 23 18:09:00 2024 -0400 Detect basic wildcard imports in ruff analyze graph (#13486) ## Summary I guess we can just ignore the `*` entirely for now? This will add the `__init__.py` for anything that's importing a package. commit 96e7f3f96f21d0ab32a11ae10d90049f5547f3ef Author: Charlie Marsh <charlie.r.marsh@gmail.com> Date: Mon Sep 23 09:48:43 2024 -0400 Exit gracefully on broken pipe errors (#13485) ## Summary Closes https://github.com/astral-sh/ruff/issues/13483. Closes https://github.com/astral-sh/ruff/issues/13442. ## Test Plan ``` ❯ cargo run analyze graph ../django | head -n 10 Compiling ruff v0.6.7 (/Users/crmarsh/workspace/ruff/crates/ruff) Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.63s Running `target/debug/ruff analyze graph ../django` warning: `ruff analyze graph` is experimental and may change without warning { "/Users/crmarsh/workspace/django/django/__init__.py": [ "/Users/crmarsh/workspace/django/django/apps/__init__.py", "/Users/crmarsh/workspace/django/django/conf/__init__.py", "/Users/crmarsh/workspace/django/django/urls/__init__.py", "/Users/crmarsh/workspace/django/django/utils/log.py", "/Users/crmarsh/workspace/django/django/utils/version.py" ], "/Users/crmarsh/workspace/django/django/__main__.py": [ "/Users/crmarsh/workspace/django/django/core/management/__init__.py" ``` commit 90dc7438ee836f17add5067ecc2fe1e050a78c9b Author: Charlie Marsh <charlie.r.marsh@gmail.com> Date: Mon Sep 23 09:43:09 2024 -0400 Avoid panic when analyze graph hits broken pipe (#13484) ## Summary I think we should also make the change that @BurntSushi recommended in the linked issue, but this gets rid of the panic. See: https://github.com/astral-sh/ruff/issues/13483 See: https://github.com/astral-sh/ruff/issues/13442 ## Test Plan ``` warning: `ruff analyze graph` is experimental and may change without warning { "/Users/crmarsh/workspace/django/django/__init__.py": [ "/Users/crmarsh/workspace/django/django/apps/__init__.py", "/Users/crmarsh/workspace/django/django/conf/__init__.py", "/Users/crmarsh/workspace/django/django/urls/__init__.py", "/Users/crmarsh/workspace/django/django/utils/log.py", "/Users/crmarsh/workspace/django/django/utils/version.py" ], "/Users/crmarsh/workspace/django/django/__main__.py": [ "/Users/crmarsh/workspace/django/django/core/management/__init__.py" ruff failed Cause: Broken pipe (os error 32) ``` commit 3e99ab141cef898ee6349355ce50628783f04e6f Author: Micha Reiser <micha@reiser.io> Date: Mon Sep 23 14:04:04 2024 +0200 Update Salsa (#13480) commit 115745a8acfe0d2880e2af5d75b167daef5fc14f Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Sep 23 09:55:12 2024 +0200 Update dependency monaco-editor to ^0.52.0 (#13475) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [monaco-editor](https://redirect.github.com/microsoft/monaco-editor) | [`^0.51.0` -> `^0.52.0`](https://renovatebot.com/diffs/npm/monaco-editor/0.51.0/0.52.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/) | --- ### Release Notes <details> <summary>microsoft/monaco-editor (monaco-editor)</summary> ### [`v0.52.0`](https://redirect.github.com/microsoft/monaco-editor/blob/HEAD/CHANGELOG.md#0520) [Compare Source](https://redirect.github.com/microsoft/monaco-editor/compare/v0.51.0...v0.52.0) - Comment added inside of `IModelContentChangedEvent` </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:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 8bb59d7216f16ee7222f52dd1b609922e52486ea Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Sep 23 09:54:44 2024 +0200 Update Rust crate unicode_names2 to v1.3.0 (#13474) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [unicode_names2](https://redirect.github.com/progval/unicode_names2) | workspace.dependencies | minor | `1.2.2` -> `1.3.0` | --- ### 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:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 47aac060debf6c4183c8b044528092b73d428a37 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Sep 23 09:40:02 2024 +0200 Update Rust crate insta to v1.40.0 (#13472) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 7c55330534641d207959a4f9ba6fa9cc8b5cdf2d Author: Steve C <diceroll123@gmail.com> Date: Mon Sep 23 03:18:28 2024 -0400 Fix formatting for analyze `direction` values (#13476) commit 047d77c60bdca9bf2f121983ea9b85483a7c6df6 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 22:54:34 2024 -0400 Update pre-commit dependencies (#13467) commit 18fddd458a1fa9ba54a3d3f4b0ef771f7f24ae50 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 22:54:14 2024 -0400 Update dependency eslint to v8.57.1 (#13465) commit db7600052190b106935cd75909aeefa57fe89786 Author: Charlie Marsh <charlie.r.marsh@gmail.com> Date: Sun Sep 22 22:44:45 2024 -0400 Use anchorlinks rather than permalinks (#13471) ## Summary See: https://github.com/astral-sh/uv/pull/7626 commit a2ed1e1cd1ee007a0912465e63a58a61f4eb637c Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 22:32:45 2024 -0400 Update Rust crate thiserror to v1.0.64 (#13462) commit 7457679582b23033d31c13579409f7c61e3a9c35 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 22:32:26 2024 -0400 Update Rust crate dashmap to v6.1.0 (#13470) commit 1d352872bafee550a11edef3543b40a59b5fc8e5 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 22:32:20 2024 -0400 Update Rust crate codspeed-criterion-compat to v2.7.2 (#13469) commit c8b905bc965ea41aedb73a3ccc67e14639d99cc7 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 22:32:11 2024 -0400 Update NPM Development dependencies (#13468) commit 5b593d0397fb28a3096a5bb26183c47c3c4bd8a0 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 22:32:02 2024 -0400 Update dependency ruff to v0.6.7 (#13466) commit c5c5acda230edcbfcf16a829d2fc212afe2386cb Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 22:31:53 2024 -0400 Update Rust crate unicode-normalization to v0.1.24 (#13464) commit 26747aae7539d1ce6469cbfc558fb249c2feb9e8 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 22:31:47 2024 -0400 Update Rust crate unicode-ident to v1.0.13 (#13463) commit 85b825a2a1bd271e0d1eb79feb8a25104fba1bc1 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 22:31:40 2024 -0400 Update Rust crate syn to v2.0.77 (#13461) commit 9e764ef6d0e3d102e57a6636db57e77f56960cbb Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Sep 23 02:03:47 2024 +0000 Update Rust crate serde_json to v1.0.128 (#13460) commit 0e325a53efed3b6c824b75f968270194fb10f717 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Sep 23 02:03:15 2024 +0000 Update Rust crate serde to v1.0.210 (#13459) commit 2a136cfb578954a42a40bc143b2c08823bcaca38 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Sep 23 02:02:12 2024 +0000 Update Rust crate pretty_assertions to v1.4.1 (#13458) commit 7749164d4a02bc847ed4b564b9cf4f111855b829 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Sep 23 02:01:44 2024 +0000 Update Rust crate ordermap to v0.5.3 (#13457) commit da50e14524c5424c368ea46379fc10e7ec74abad Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Sep 23 02:00:23 2024 +0000 Update Rust crate lsp-server to v0.7.7 (#13456) commit 1886b731a5de82cdb01c2551dcc2dff58891d4e1 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 22:00:06 2024 -0400 Update Rust crate ignore to v0.4.23 (#13455) commit 364eddc95afb4cac68a0de79d9fbff96e2bcfe3e Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 22:00:01 2024 -0400 Update Rust crate globset to v0.4.15 (#13454) commit 48fb340e3b8aff3a6ace57036b815fd23b1a4fd4 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 21:59:50 2024 -0400 Update Rust crate filetime to v0.2.25 (#13453) commit 71bb4d3bdc38523b7b5dee34578aed18a584a17e Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Sep 22 21:59:44 2024 -0400 Update Rust crate clap to v4.5.18 (#13452) commit 5c20f570d0a92d6a9c2d5f47876362b64d069a29 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Sep 23 01:58:14 2024 +0000 Update Rust crate anyhow to v1.0.89 (#13451) commit 7441da287fd8438c69d444a4df551f032167ebb2 Author: Charlie Marsh <charlie.r.marsh@gmail.com> Date: Sat Sep 21 16:47:30 2024 -0400 Skip traversal for non-compound statements (#13441) ## Summary None of these can contain imports. commit c2a5179d75d72fac9285353ad998e443a0a55e6d Author: Charlie Marsh <charlie.r.marsh@gmail.com> Date: Sat Sep 21 16:14:32 2024 -0400 Reuse `BTreeSets` in module resolver (#13440) ## Summary For dependencies, there's no reason to re-allocate here, since we know the paths are unique. commit 17c4690b5ead2872ed8035d9a03a2af0cb0a1fa1 Author: Charlie Marsh <charlie.r.marsh@gmail.com> Date: Sat Sep 21 13:16:36 2024 -0400 Bump version to v0.6.7 (#13439)
Among the 33 debian patches available in version 0.0.291+dfsg1-4 of the package, we noticed the following issues: