Tags: ansible/molecule
Tags
fix: upgrade cryptography and cairosvg to patch known vulnerabilities (… …#4652) - Bump cryptography 48.0.0 -> 49.0.0 (GHSA-537c-gmf6-5ccf, CVE-2026-39892) - Bump cairosvg 2.7.1 -> 2.9.0 for all Python versions (CVE-2026-31899) - Add cairosvg>=2.9.0 constraint to prevent vulnerable resolution on Python 3.10
chore(deps): update pep621 (#4627) This PR contains the following updates: | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed | 🔧 This Pull Request updates lock files to use the latest dependency versions. --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on monday" in timezone UTC, Automerge - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) in timezone UTC. 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- 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/ansible/molecule). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImNob3JlIiwiZGVwZW5kZW5jaWVzIiwicGVwNjIxIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
fix: validate subcommand name before dynamic import (#4620) Validation for subcommand names in `execute_subcommand` ensures that only alphanumeric characters and underscores are processed. While checking the command execution flow, I noticed that `import_module` was receiving values directly from the scenario configuration without sanitization. This change prevents potential unintended module loading attempts through special characters or path traversal sequences in the subcommand string. Existing tests for command execution remain unchanged, and I added a new test case to verify that invalid subcommand names are correctly rejected with a `MoleculeError`. Verified the changes locally with `ruff` to ensure compliance with the project's linting standards.
chore: Add check for platform versions (#4584) This pull request introduces several updates to platform compatibility management and dependency constraints, as well as minor configuration changes. The most significant changes are the addition of explicit package version rules for Renovate, updates to dependency versions, and the inclusion of a new pre-commit hook for platform constraint checking. **Platform compatibility and dependency management:** * Added explicit `packageRules` in `renovate.json` to restrict versions of key dependencies (e.g., `ansible-core`, `cffi`, `django`, `importlib-metadata`, `jsonschema`, `packaging`, `pyyaml`, `python-gnupg`, `setuptools`) for platform compatibility. * Updated the `packaging` dependency version in `pyproject.toml` to require at least `23.2` instead of `25.0`, aligning with the new Renovate constraint. **Pre-commit and configuration updates:** * Added a new pre-commit hook `check-platform-constraints` from `ansible/team-devtools` to enforce platform compatibility during development. **Minor dictionary and housekeeping updates:** * Removed the word `levelname` from `.config/dictionary.txt` to clean up the custom dictionary. --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
chore(deps): update all dependencies (#4576) This PR contains the following updates: | Package | Change | Age | Confidence | Type | Update | Pending | |---|---|---|---|---|---|---| | [ansible-compat](https://redirect.github.com/ansible/ansible-compat) ([changelog](https://redirect.github.com/ansible/ansible-compat/releases)) | `25.8.2` -> `25.11.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | project.dependencies | minor | | | [ansible-lint](https://redirect.github.com/ansible/ansible-lint) ([changelog](https://redirect.github.com/ansible/ansible-lint/releases)) | `25.9.2` -> `25.11.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependency-groups | minor | | | [ansible-navigator](https://redirect.github.com/ansible/ansible-navigator) ([changelog](https://redirect.github.com/ansible/ansible-navigator/releases)) | `25.9.0` -> `25.11.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependency-groups | minor | | | [ansible/ansible-lint](https://redirect.github.com/ansible/ansible-lint) | `v25.9.2` -> `v25.11.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | repository | minor | | | [astral-sh/ruff-pre-commit](https://redirect.github.com/astral-sh/ruff-pre-commit) | `v0.14.4` -> `v0.14.5` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | repository | patch | | | [astral-sh/uv-pre-commit](https://redirect.github.com/astral-sh/uv-pre-commit) | `0.9.8` -> `0.9.10` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | repository | patch | | | [biomejs/pre-commit](https://redirect.github.com/biomejs/pre-commit) | `v2.3.4` -> `v2.3.6` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | repository | patch | | | [click](https://redirect.github.com/pallets/click) ([changelog](https://click.palletsprojects.com/page/changes/)) | `8.3.0` -> `8.3.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | project.dependencies | patch | | | [pycqa/pylint](https://redirect.github.com/pycqa/pylint) | `v4.0.2` -> `v4.0.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | repository | patch | | | [pylint](https://redirect.github.com/pylint-dev/pylint) ([changelog](https://pylint.readthedocs.io/en/latest/whatsnew/3/)) | `4.0.2` -> `4.0.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependency-groups | patch | | | [pytest](https://redirect.github.com/pytest-dev/pytest) ([changelog](https://docs.pytest.org/en/stable/changelog.html)) | `9.0.0` -> `9.0.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependency-groups | patch | | | [streetsidesoftware/cspell-cli](https://redirect.github.com/streetsidesoftware/cspell-cli) | `v9.2.1` -> `v9.3.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | repository | minor | | | [tombi-toml/tombi-pre-commit](https://redirect.github.com/tombi-toml/tombi-pre-commit) | `v0.6.41` -> `v0.6.50` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | repository | patch | `v0.6.52` (+1) | | | All locks refreshed | | | | lockFileMaintenance | | | [ruff](https://docs.astral.sh/ruff) ([source](https://redirect.github.com/astral-sh/ruff), [changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md)) | `0.14.4` -> `0.14.5` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependency-groups | patch | | | [tox-ansible](https://redirect.github.com/ansible/tox-ansible) ([changelog](https://redirect.github.com/ansible/tox-ansible/releases)) | `25.8.0` -> `25.11.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependency-groups | minor | | Note: The `pre-commit` manager in Renovate is not supported by the `pre-commit` maintainers or community. Please do not report any problems there, instead [create a Discussion in the Renovate repository](https://redirect.github.com/renovatebot/renovate/discussions/new) if you have any questions. --- ### Release Notes <details> <summary>ansible/ansible-compat (ansible-compat)</summary> ### [`v25.11.0`](https://redirect.github.com/ansible/ansible-compat/releases/tag/v25.11.0) [Compare Source](https://redirect.github.com/ansible/ansible-compat/compare/v25.8.2...v25.11.0) #### Maintenance - chore(deps): update all dependencies ([#​543](https://redirect.github.com/ansible/ansible-compat/issues/543)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​542](https://redirect.github.com/ansible/ansible-compat/issues/542)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​540](https://redirect.github.com/ansible/ansible-compat/issues/540)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​539](https://redirect.github.com/ansible/ansible-compat/issues/539)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - Add finalize workflow for secure sonarcloud checks ([#​538](https://redirect.github.com/ansible/ansible-compat/issues/538)) [@​alisonlhart](https://redirect.github.com/alisonlhart) - Update sonar-project.properties configuration ([#​536](https://redirect.github.com/ansible/ansible-compat/issues/536)) [@​alisonlhart](https://redirect.github.com/alisonlhart) - chore(deps): update all dependencies ([#​537](https://redirect.github.com/ansible/ansible-compat/issues/537)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore: tell uv to use unreleased ansible-core when running with py314 ([#​535](https://redirect.github.com/ansible/ansible-compat/issues/535)) [@​ssbarnea](https://redirect.github.com/ssbarnea) - \[pre-commit.ci] pre-commit autoupdate ([#​534](https://redirect.github.com/ansible/ansible-compat/issues/534)) @​[pre-commit-ci\[bot\]](https://redirect.github.com/apps/pre-commit-ci) </details> <details> <summary>ansible/ansible-lint (ansible-lint)</summary> ### [`v25.11.0`](https://redirect.github.com/ansible/ansible-lint/releases/tag/v25.11.0) [Compare Source](https://redirect.github.com/ansible/ansible-lint/compare/v25.9.2...v25.11.0) ##### Fixes - fix: require ansible-core>=2.17.10 ([#​4835](https://redirect.github.com/ansible/ansible-lint/issues/4835)) [@​ssbarnea](https://redirect.github.com/ssbarnea) - fix: ignore internal types false positives with jinja\[invalid] ([#​4823](https://redirect.github.com/ansible/ansible-lint/issues/4823)) [@​anusshukla](https://redirect.github.com/anusshukla) - fix: make repository key optional in galaxy.yml ([#​4798](https://redirect.github.com/ansible/ansible-lint/issues/4798)) [@​rivv0](https://redirect.github.com/rivv0) - fix: github action ref doesn't checkout that ref ([#​4774](https://redirect.github.com/ansible/ansible-lint/issues/4774)) [@​rohun-apex](https://redirect.github.com/rohun-apex) - fix: add set-environment and unset-environment in executable\_options for systemctl ([#​4785](https://redirect.github.com/ansible/ansible-lint/issues/4785)) [@​ziegenberg](https://redirect.github.com/ziegenberg) - Fix typos ([#​4814](https://redirect.github.com/ansible/ansible-lint/issues/4814)) [@​jsf9k](https://redirect.github.com/jsf9k) ##### Maintenance - chore: pre-commit autoupdate ([#​4834](https://redirect.github.com/ansible/ansible-lint/issues/4834)) @​[pre-commit-ci\[bot\]](https://redirect.github.com/apps/pre-commit-ci) - chore: Test cspell configuration ([#​4828](https://redirect.github.com/ansible/ansible-lint/issues/4828)) [@​alisonlhart](https://redirect.github.com/alisonlhart) - chore(deps): update all dependencies ([#​4817](https://redirect.github.com/ansible/ansible-lint/issues/4817)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - Add finalize workflow for secure sonarcloud checks ([#​4820](https://redirect.github.com/ansible/ansible-lint/issues/4820)) [@​alisonlhart](https://redirect.github.com/alisonlhart) - Update sonar-project.properties ([#​4815](https://redirect.github.com/ansible/ansible-lint/issues/4815)) [@​alisonlhart](https://redirect.github.com/alisonlhart) </details> <details> <summary>ansible/ansible-navigator (ansible-navigator)</summary> ### [`v25.11.0`](https://redirect.github.com/ansible/ansible-navigator/releases/tag/v25.11.0) [Compare Source](https://redirect.github.com/ansible/ansible-navigator/compare/v25.9.0...v25.11.0) #### Fixes - fix: avoid using hub.docker.com ([#​2051](https://redirect.github.com/ansible/ansible-navigator/issues/2051)) [@​ssbarnea](https://redirect.github.com/ssbarnea) #### Maintenance - chore: rename sonar config file ([#​2056](https://redirect.github.com/ansible/ansible-navigator/issues/2056)) [@​ssbarnea](https://redirect.github.com/ssbarnea) - chore(deps): update all dependencies ([#​2060](https://redirect.github.com/ansible/ansible-navigator/issues/2060)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore: use ansible/actions/matrix ([#​2061](https://redirect.github.com/ansible/ansible-navigator/issues/2061)) [@​ssbarnea](https://redirect.github.com/ssbarnea) - \[pre-commit.ci] pre-commit autoupdate ([#​2054](https://redirect.github.com/ansible/ansible-navigator/issues/2054)) @​[pre-commit-ci\[bot\]](https://redirect.github.com/apps/pre-commit-ci) - chore(deps): update all dependencies ([#​2053](https://redirect.github.com/ansible/ansible-navigator/issues/2053)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​2052](https://redirect.github.com/ansible/ansible-navigator/issues/2052)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​2050](https://redirect.github.com/ansible/ansible-navigator/issues/2050)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​2049](https://redirect.github.com/ansible/ansible-navigator/issues/2049)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​2048](https://redirect.github.com/ansible/ansible-navigator/issues/2048)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​2047](https://redirect.github.com/ansible/ansible-navigator/issues/2047)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​2046](https://redirect.github.com/ansible/ansible-navigator/issues/2046)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​2045](https://redirect.github.com/ansible/ansible-navigator/issues/2045)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​2044](https://redirect.github.com/ansible/ansible-navigator/issues/2044)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​2043](https://redirect.github.com/ansible/ansible-navigator/issues/2043)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​2042](https://redirect.github.com/ansible/ansible-navigator/issues/2042)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) </details> <details> <summary>astral-sh/ruff-pre-commit (astral-sh/ruff-pre-commit)</summary> ### [`v0.14.5`](https://redirect.github.com/astral-sh/ruff-pre-commit/releases/tag/v0.14.5) [Compare Source](https://redirect.github.com/astral-sh/ruff-pre-commit/compare/v0.14.4...v0.14.5) See: <https://github.com/astral-sh/ruff/releases/tag/0.14.5> </details> <details> <summary>astral-sh/uv-pre-commit (astral-sh/uv-pre-commit)</summary> ### [`v0.9.10`](https://redirect.github.com/astral-sh/uv-pre-commit/releases/tag/0.9.10) [Compare Source](https://redirect.github.com/astral-sh/uv-pre-commit/compare/0.9.9...0.9.10) See: <https://github.com/astral-sh/uv/releases/tag/0.9.10> ### [`v0.9.9`](https://redirect.github.com/astral-sh/uv-pre-commit/releases/tag/0.9.9) [Compare Source](https://redirect.github.com/astral-sh/uv-pre-commit/compare/0.9.8...0.9.9) See: <https://github.com/astral-sh/uv/releases/tag/0.9.9> </details> <details> <summary>biomejs/pre-commit (biomejs/pre-commit)</summary> ### [`v2.3.6`](https://redirect.github.com/biomejs/pre-commit/compare/v2.3.5...v2.3.6) [Compare Source](https://redirect.github.com/biomejs/pre-commit/compare/v2.3.5...v2.3.6) ### [`v2.3.5`](https://redirect.github.com/biomejs/pre-commit/compare/v2.3.4...v2.3.5) [Compare Source](https://redirect.github.com/biomejs/pre-commit/compare/v2.3.4...v2.3.5) </details> <details> <summary>pallets/click (click)</summary> ### [`v8.3.1`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-831) [Compare Source](https://redirect.github.com/pallets/click/compare/8.3.0...8.3.1) Released 2025-11-15 - Don't discard pager arguments by correctly using `subprocess.Popen`. :issue:`3039` :pr:`3055` - Replace `Sentinel.UNSET` default values by `None` as they're passed through the `Context.invoke()` method. :issue:`3066` :issue:`3065` :pr:`3068` - Fix conversion of `Sentinel.UNSET` happening too early, which caused incorrect behavior for multiple parameters using the same name. :issue:`3071` :pr:`3079` - Hide `Sentinel.UNSET` values as `None` when looking up for other parameters through the context inside parameter callbacks. :issue:`3136` :pr:`3137` - Fix rendering when `prompt` and `confirm` parameter `prompt_suffix` is empty. :issue:`3019` :pr:`3021` - When `Sentinel.UNSET` is found during parsing, it will skip calls to `type_cast_value`. :issue:`3069` :pr:`3090` </details> <details> <summary>pycqa/pylint (pycqa/pylint)</summary> ### [`v4.0.3`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v4.0.3) [Compare Source](https://redirect.github.com/pycqa/pylint/compare/v4.0.2...v4.0.3) ## What's new in Pylint 4.0.3? Release date: 2025-11-13 ## False Positives Fixed - Add Enum dunder methods `_generate_next_value_`, `_missing_`, `_numeric_repr_`, `_add_alias_`, and `_add_value_alias_` to the list passed to `--good-dunder-names`. Closes [#​10435](https://redirect.github.com/pycqa/pylint/issues/10435) - Fixed false positive for `invalid-name` with `typing.Annotated`. Closes [#​10696](https://redirect.github.com/pycqa/pylint/issues/10696) - Fix false positive for `f-string-without-interpolation` with template strings when using format spec. Closes [#​10702](https://redirect.github.com/pycqa/pylint/issues/10702) - Fix a false positive when an UPPER\_CASED class attribute was raising an `invalid-name` when typed with `Final`. Closes [#​10711](https://redirect.github.com/pycqa/pylint/issues/10711) - Fix a false positive for `unbalanced-tuple-unpacking` when a tuple is assigned to a function call and the structure of the function's return value is ambiguous. Closes [#​10721](https://redirect.github.com/pycqa/pylint/issues/10721) ## Other Bug Fixes - Make 'ignore' option work as expected again. Closes [#​10669](https://redirect.github.com/pycqa/pylint/issues/10669) - Fix crash for `consider-using-assignment-expr` when a variable annotation without assignment is used as the `if` test expression. Closes [#​10707](https://redirect.github.com/pycqa/pylint/issues/10707) - Fix crash for `prefer-typing-namedtuple` and `consider-math-not-float` when a `slice` object is called. Closes [#​10708](https://redirect.github.com/pycqa/pylint/issues/10708) </details> <details> <summary>pylint-dev/pylint (pylint)</summary> ### [`v4.0.3`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v4.0.3) [Compare Source](https://redirect.github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.3) ## What's new in Pylint 4.0.3? Release date: 2025-11-13 ## False Positives Fixed - Add Enum dunder methods `_generate_next_value_`, `_missing_`, `_numeric_repr_`, `_add_alias_`, and `_add_value_alias_` to the list passed to `--good-dunder-names`. Closes [#​10435](https://redirect.github.com/pylint-dev/pylint/issues/10435) - Fixed false positive for `invalid-name` with `typing.Annotated`. Closes [#​10696](https://redirect.github.com/pylint-dev/pylint/issues/10696) - Fix false positive for `f-string-without-interpolation` with template strings when using format spec. Closes [#​10702](https://redirect.github.com/pylint-dev/pylint/issues/10702) - Fix a false positive when an UPPER\_CASED class attribute was raising an `invalid-name` when typed with `Final`. Closes [#​10711](https://redirect.github.com/pylint-dev/pylint/issues/10711) - Fix a false positive for `unbalanced-tuple-unpacking` when a tuple is assigned to a function call and the structure of the function's return value is ambiguous. Closes [#​10721](https://redirect.github.com/pylint-dev/pylint/issues/10721) ## Other Bug Fixes - Make 'ignore' option work as expected again. Closes [#​10669](https://redirect.github.com/pylint-dev/pylint/issues/10669) - Fix crash for `consider-using-assignment-expr` when a variable annotation without assignment is used as the `if` test expression. Closes [#​10707](https://redirect.github.com/pylint-dev/pylint/issues/10707) - Fix crash for `prefer-typing-namedtuple` and `consider-math-not-float` when a `slice` object is called. Closes [#​10708](https://redirect.github.com/pylint-dev/pylint/issues/10708) </details> <details> <summary>pytest-dev/pytest (pytest)</summary> ### [`v9.0.1`](https://redirect.github.com/pytest-dev/pytest/releases/tag/9.0.1) [Compare Source](https://redirect.github.com/pytest-dev/pytest/compare/9.0.0...9.0.1) ### pytest 9.0.1 (2025-11-12) #### Bug fixes - [#​13895](https://redirect.github.com/pytest-dev/pytest/issues/13895): Restore support for skipping tests via `raise unittest.SkipTest`. - [#​13896](https://redirect.github.com/pytest-dev/pytest/issues/13896): The terminal progress plugin added in pytest 9.0 is now automatically disabled when iTerm2 is detected, it generated desktop notifications instead of the desired functionality. - [#​13904](https://redirect.github.com/pytest-dev/pytest/issues/13904): Fixed the TOML type of the verbosity settings in the API reference from number to string. - [#​13910](https://redirect.github.com/pytest-dev/pytest/issues/13910): Fixed <span class="title-ref">UserWarning: Do not expect file\_or\_dir</span> on some earlier Python 3.12 and 3.13 point versions. #### Packaging updates and notes for downstreams - [#​13933](https://redirect.github.com/pytest-dev/pytest/issues/13933): The tox configuration has been adjusted to make sure the desired version string can be passed into its `package_env` through the `SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST` environment variable as a part of the release process -- by `webknjaz`. #### Contributor-facing changes - [#​13891](https://redirect.github.com/pytest-dev/pytest/issues/13891), [#​13942](https://redirect.github.com/pytest-dev/pytest/issues/13942): The CI/CD part of the release automation is now capable of creating GitHub Releases without having a Git checkout on disk -- by `bluetech` and `webknjaz`. - [#​13933](https://redirect.github.com/pytest-dev/pytest/issues/13933): The tox configuration has been adjusted to make sure the desired version string can be passed into its `package_env` through the `SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST` environment variable as a part of the release process -- by `webknjaz`. </details> <details> <summary>streetsidesoftware/cspell-cli (streetsidesoftware/cspell-cli)</summary> ### [`v9.3.3`](https://redirect.github.com/streetsidesoftware/cspell-cli/releases/tag/v9.3.3) [Compare Source](https://redirect.github.com/streetsidesoftware/cspell-cli/compare/v9.3.2...v9.3.3) ##### Trivial updates and changes. - Work on NPM Publishing ([#​730](https://redirect.github.com/streetsidesoftware/cspell-cli/issues/730)) ([25b6eae](https://redirect.github.com/streetsidesoftware/cspell-cli/commit/25b6eae8b8afc7260a889437cb4b54f8e3df5008)) ### [`v9.3.2`](https://redirect.github.com/streetsidesoftware/cspell-cli/releases/tag/v9.3.2) [Compare Source](https://redirect.github.com/streetsidesoftware/cspell-cli/compare/v9.3.1...v9.3.2) ##### Trivial updates and changes. - Update CSpell version (9.3.2) ([#​726](https://redirect.github.com/streetsidesoftware/cspell-cli/issues/726)) ([344ffb7](https://redirect.github.com/streetsidesoftware/cspell-cli/commit/344ffb7d06af4803f5e37e3b909f1f3137d5fcf9)) ### [`v9.3.1`](https://redirect.github.com/streetsidesoftware/cspell-cli/releases/tag/v9.3.1) [Compare Source](https://redirect.github.com/streetsidesoftware/cspell-cli/compare/v9.3.0...v9.3.1) ##### Trivial updates and changes. - Update CSpell version (9.3.1) ([#​722](https://redirect.github.com/streetsidesoftware/cspell-cli/issues/722)) ([be44634](https://redirect.github.com/streetsidesoftware/cspell-cli/commit/be446342a3508fd0f69c08366971e5e8c656ef47)) ### [`v9.3.0`](https://redirect.github.com/streetsidesoftware/cspell-cli/releases/tag/v9.3.0) [Compare Source](https://redirect.github.com/streetsidesoftware/cspell-cli/compare/v9.2.1...v9.3.0) ##### Features - Update CSpell version (9.3.0) ([#​719](https://redirect.github.com/streetsidesoftware/cspell-cli/issues/719)) ([7b263a4](https://redirect.github.com/streetsidesoftware/cspell-cli/commit/7b263a40a1c7d1c71ee1dc86dd04792b3843f640)) </details> <details> <summary>tombi-toml/tombi-pre-commit (tombi-toml/tombi-pre-commit)</summary> ### [`v0.6.50`](https://redirect.github.com/tombi-toml/tombi-pre-commit/releases/tag/v0.6.50) [Compare Source](https://redirect.github.com/tombi-toml/tombi-pre-commit/compare/v0.6.49...v0.6.50) See: <https://github.com/tombi-toml/tombi/releases/tag/v0.6.50> ### [`v0.6.49`](https://redirect.github.com/tombi-toml/tombi-pre-commit/releases/tag/v0.6.49) [Compare Source](https://redirect.github.com/tombi-toml/tombi-pre-commit/compare/v0.6.48...v0.6.49) See: <https://github.com/tombi-toml/tombi/releases/tag/v0.6.49> ### [`v0.6.48`](https://redirect.github.com/tombi-toml/tombi-pre-commit/releases/tag/v0.6.48) [Compare Source](https://redirect.github.com/tombi-toml/tombi-pre-commit/compare/v0.6.47...v0.6.48) See: <https://github.com/tombi-toml/tombi/releases/tag/v0.6.48> ### [`v0.6.47`](https://redirect.github.com/tombi-toml/tombi-pre-commit/releases/tag/v0.6.47) [Compare Source](https://redirect.github.com/tombi-toml/tombi-pre-commit/compare/v0.6.46...v0.6.47) See: <https://github.com/tombi-toml/tombi/releases/tag/v0.6.47> ### [`v0.6.46`](https://redirect.github.com/tombi-toml/tombi-pre-commit/releases/tag/v0.6.46) [Compare Source](https://redirect.github.com/tombi-toml/tombi-pre-commit/compare/v0.6.45...v0.6.46) See: <https://github.com/tombi-toml/tombi/releases/tag/v0.6.46> ### [`v0.6.45`](https://redirect.github.com/tombi-toml/tombi-pre-commit/releases/tag/v0.6.45) [Compare Source](https://redirect.github.com/tombi-toml/tombi-pre-commit/compare/v0.6.44...v0.6.45) See: <https://github.com/tombi-toml/tombi/releases/tag/v0.6.45> ### [`v0.6.44`](https://redirect.github.com/tombi-toml/tombi-pre-commit/releases/tag/v0.6.44) [Compare Source](https://redirect.github.com/tombi-toml/tombi-pre-commit/compare/v0.6.42...v0.6.44) See: <https://github.com/tombi-toml/tombi/releases/tag/v0.6.44> ### [`v0.6.42`](https://redirect.github.com/tombi-toml/tombi-pre-commit/releases/tag/v0.6.42) [Compare Source](https://redirect.github.com/tombi-toml/tombi-pre-commit/compare/v0.6.41...v0.6.42) See: <https://github.com/tombi-toml/tombi/releases/tag/v0.6.42> </details> <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.14.5`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0145) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.14.4...0.14.5) Released on 2025-11-13. ##### Preview features - \[`flake8-simplify`] Apply `SIM113` when index variable is of type `int` ([#​21395](https://redirect.github.com/astral-sh/ruff/pull/21395)) - \[`pydoclint`] Fix false positive when Sphinx directives follow a "Raises" section (`DOC502`) ([#​20535](https://redirect.github.com/astral-sh/ruff/pull/20535)) - \[`pydoclint`] Support NumPy-style comma-separated parameters (`DOC102`) ([#​20972](https://redirect.github.com/astral-sh/ruff/pull/20972)) - \[`refurb`] Auto-fix annotated assignments (`FURB101`) ([#​21278](https://redirect.github.com/astral-sh/ruff/pull/21278)) - \[`ruff`] Ignore `str()` when not used for simple conversion (`RUF065`) ([#​21330](https://redirect.github.com/astral-sh/ruff/pull/21330)) ##### Bug fixes - Fix syntax error false positive on alternative `match` patterns ([#​21362](https://redirect.github.com/astral-sh/ruff/pull/21362)) - \[`flake8-simplify`] Fix false positive for iterable initializers with generator arguments (`SIM222`) ([#​21187](https://redirect.github.com/astral-sh/ruff/pull/21187)) - \[`pyupgrade`] Fix false positive on relative imports from local `.builtins` module (`UP029`) ([#​21309](https://redirect.github.com/astral-sh/ruff/pull/21309)) - \[`pyupgrade`] Consistently set the deprecated tag (`UP035`) ([#​21396](https://redirect.github.com/astral-sh/ruff/pull/21396)) ##### Rule changes - \[`refurb`] Detect empty f-strings (`FURB105`) ([#​21348](https://redirect.github.com/astral-sh/ruff/pull/21348)) ##### CLI - Add option to provide a reason to `--add-noqa` ([#​21294](https://redirect.github.com/astral-sh/ruff/pull/21294)) - Add upstream linter URL to `ruff linter --output-format=json` ([#​21316](https://redirect.github.com/astral-sh/ruff/pull/21316)) - Add color to `--help` ([#​21337](https://redirect.github.com/astral-sh/ruff/pull/21337)) ##### Documentation - Add a new "Opening a PR" section to the contribution guide ([#​21298](https://redirect.github.com/astral-sh/ruff/pull/21298)) - Added the PyScripter IDE to the list of "Who is using Ruff?" ([#​21402](https://redirect.github.com/astral-sh/ruff/pull/21402)) - Update PyCharm setup instructions ([#​21409](https://redirect.github.com/astral-sh/ruff/pull/21409)) - \[`flake8-annotations`] Add link to `allow-star-arg-any` option (`ANN401`) ([#​21326](https://redirect.github.com/astral-sh/ruff/pull/21326)) ##### Other changes - \[`configuration`] Improve error message when `line-length` exceeds `u16::MAX` ([#​21329](https://redirect.github.com/astral-sh/ruff/pull/21329)) ##### Contributors - [@​njhearp](https://redirect.github.com/njhearp) - [@​11happy](https://redirect.github.com/11happy) - [@​hugovk](https://redirect.github.com/hugovk) - [@​Gankra](https://redirect.github.com/Gankra) - [@​ntBre](https://redirect.github.com/ntBre) - [@​pyscripter](https://redirect.github.com/pyscripter) - [@​danparizher](https://redirect.github.com/danparizher) - [@​MichaReiser](https://redirect.github.com/MichaReiser) - [@​henryiii](https://redirect.github.com/henryiii) - [@​charliecloudberry](https://redirect.github.com/charliecloudberry) </details> <details> <summary>ansible/tox-ansible (tox-ansible)</summary> ### [`v25.11.1`](https://redirect.github.com/ansible/tox-ansible/releases/tag/v25.11.1) [Compare Source](https://redirect.github.com/ansible/tox-ansible/compare/v25.11.0...v25.11.1) ##### Fixes - tests - Expects ansible-compat as dependency ([#​509](https://redirect.github.com/ansible/tox-ansible/issues/509)) [@​KB-perByte](https://redirect.github.com/KB-perByte) ### [`v25.11.0`](https://redirect.github.com/ansible/tox-ansible/releases/tag/v25.11.0) [Compare Source](https://redirect.github.com/ansible/tox-ansible/compare/v25.8.0...v25.11.0) ##### Fixes - Add ansible-core==2.20 ([#​508](https://redirect.github.com/ansible/tox-ansible/issues/508)) [@​KB-perByte](https://redirect.github.com/KB-perByte) - fix: adopt tox.uv and modern packaging ([#​494](https://redirect.github.com/ansible/tox-ansible/issues/494)) [@​ssbarnea](https://redirect.github.com/ssbarnea) ##### Maintenance - chore(deps): update all dependencies ([#​507](https://redirect.github.com/ansible/tox-ansible/issues/507)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​506](https://redirect.github.com/ansible/tox-ansible/issues/506)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​505](https://redirect.github.com/ansible/tox-ansible/issues/505)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​504](https://redirect.github.com/ansible/tox-ansible/issues/504)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - Add finalize workflow for secure sonarcloud checks ([#​503](https://redirect.github.com/ansible/tox-ansible/issues/503)) [@​alisonlhart](https://redirect.github.com/alisonlhart) - Update sonar-project.properties configuration ([#​501](https://redirect.github.com/ansible/tox-ansible/issues/501)) [@​alisonlhart](https://redirect.github.com/alisonlhart) - chore(deps): update all dependencies ([#​502](https://redirect.github.com/ansible/tox-ansible/issues/502)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore: pre-commit autoupdate ([#​499](https://redirect.github.com/ansible/tox-ansible/issues/499)) @​[pre-commit-ci\[bot\]](https://redirect.github.com/apps/pre-commit-ci) - chore: rename sonar config file ([#​500](https://redirect.github.com/ansible/tox-ansible/issues/500)) [@​ssbarnea](https://redirect.github.com/ssbarnea) - chore(deps): update all dependencies ([#​498](https://redirect.github.com/ansible/tox-ansible/issues/498)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​497](https://redirect.github.com/ansible/tox-ansible/issues/497)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​496](https://redirect.github.com/ansible/tox-ansible/issues/496)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​495](https://redirect.github.com/ansible/tox-ansible/issues/495)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​493](https://redirect.github.com/ansible/tox-ansible/issues/493)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​492](https://redirect.github.com/ansible/tox-ansible/issues/492)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update all dependencies ([#​491](https://redirect.github.com/ansible/tox-ansible/issues/491)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.12.12 ([#​489](https://redirect.github.com/ansible/tox-ansible/issues/489)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update actions/setup-python action to v6 ([#​488](https://redirect.github.com/ansible/tox-ansible/issues/488)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): update pre-commit hook jsh9/pydoclint to v0.7.3 ([#​487](https://redirect.github.com/ansible/tox-ansible/issues/487)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore(deps): pin dependencies ([#​485](https://redirect.github.com/ansible/tox-ansible/issues/485)) @​[renovate\[bot\]](https://redirect.github.com/apps/renovate) - chore: configure renovate ([#​483](https://redirect.github.com/ansible/tox-ansible/issues/483)) [@​ssbarnea](https://redirect.github.com/ssbarnea) - chore: update tests to work with newer tox ([#​484](https://redirect.github.com/ansible/tox-ansible/issues/484)) [@​ssbarnea](https://redirect.github.com/ssbarnea) - Bump the dependencies group across 1 directory with 18 updates ([#​474](https://redirect.github.com/ansible/tox-ansible/issues/474)) @​[dependabot\[bot\]](https://redirect.github.com/apps/dependabot) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on monday" in timezone UTC, Automerge - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) in timezone UTC. 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- 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/ansible/molecule). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQyLjE2LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImNob3JlIiwiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
chore(deps): update all dependencies (#4573) This PR contains the following updates: | Package | Change | Age | Confidence | Type | Update | Pending | |---|---|---|---|---|---|---| | ansible-core | `2.20.0rc3` -> `2.20.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | project.dependencies | patch | | | [astral-sh/ruff-pre-commit](https://redirect.github.com/astral-sh/ruff-pre-commit) | `v0.14.3` -> `v0.14.4` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | repository | patch | | | [astral-sh/uv-pre-commit](https://redirect.github.com/astral-sh/uv-pre-commit) | `0.9.7` -> `0.9.8` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | repository | patch | | | [biomejs/pre-commit](https://redirect.github.com/biomejs/pre-commit) | `v2.3.2` -> `v2.3.4` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | repository | patch | | | [coverage](https://redirect.github.com/coveragepy/coveragepy) | `7.11.0` -> `7.11.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependency-groups | patch | `7.11.3` (+1) | | [jsh9/pydoclint](https://redirect.github.com/jsh9/pydoclint) | `0.7.6` -> `0.8.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | repository | minor | | | [tombi-toml/tombi-pre-commit](https://redirect.github.com/tombi-toml/tombi-pre-commit) | `v0.6.39` -> `v0.6.41` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | repository | patch | `v0.6.42` | | | All locks refreshed | | | | lockFileMaintenance | | | [ruff](https://docs.astral.sh/ruff) ([source](https://redirect.github.com/astral-sh/ruff), [changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md)) | `0.14.3` -> `0.14.4` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependency-groups | patch | | Note: The `pre-commit` manager in Renovate is not supported by the `pre-commit` maintainers or community. Please do not report any problems there, instead [create a Discussion in the Renovate repository](https://redirect.github.com/renovatebot/renovate/discussions/new) if you have any questions. --- ### Release Notes <details> <summary>astral-sh/ruff-pre-commit (astral-sh/ruff-pre-commit)</summary> ### [`v0.14.4`](https://redirect.github.com/astral-sh/ruff-pre-commit/releases/tag/v0.14.4) [Compare Source](https://redirect.github.com/astral-sh/ruff-pre-commit/compare/v0.14.3...v0.14.4) See: <https://github.com/astral-sh/ruff/releases/tag/0.14.4> </details> <details> <summary>astral-sh/uv-pre-commit (astral-sh/uv-pre-commit)</summary> ### [`v0.9.8`](https://redirect.github.com/astral-sh/uv-pre-commit/releases/tag/0.9.8) [Compare Source](https://redirect.github.com/astral-sh/uv-pre-commit/compare/0.9.7...0.9.8) See: <https://github.com/astral-sh/uv/releases/tag/0.9.8> </details> <details> <summary>biomejs/pre-commit (biomejs/pre-commit)</summary> ### [`v2.3.4`](https://redirect.github.com/biomejs/pre-commit/compare/v2.3.3...v2.3.4) [Compare Source](https://redirect.github.com/biomejs/pre-commit/compare/v2.3.3...v2.3.4) ### [`v2.3.3`](https://redirect.github.com/biomejs/pre-commit/compare/v2.3.2...v2.3.3) [Compare Source](https://redirect.github.com/biomejs/pre-commit/compare/v2.3.2...v2.3.3) </details> <details> <summary>coveragepy/coveragepy (coverage)</summary> ### [`v7.11.1`](https://redirect.github.com/coveragepy/coveragepy/blob/HEAD/CHANGES.rst#Version-7111--2025-11-07) [Compare Source](https://redirect.github.com/coveragepy/coveragepy/compare/7.11.0...7.11.1) - Fix: some chanages to details of how the measurement core is chosen, and how conflicting settings are handled. The "sysmon" core cannot be used with some conurrency settings, with dynamic context, and in Python 3.12/3.13, with branch measurement. - If the core is not specified and defaults to "sysmon" (Python 3.14+), but other settings conflict with sysmon, then the "ctrace" core will be used instead with no warning. For concurrency conflicts, this used to produce an error, as described in `issue 2064`\_. - If the "sysmon" core is explicitly requested in your configuration, but other settings conflict, an error is now raised. This used to produce a warning. - Fix: some multi-line case clauses or for loops (and probably other constructs) could cause incorrect claims of missing branches with the sys.monitoring core, as described in `issue 2070`\_. This is now fixed. - Fix: when running in pytest under coverage, a `breakpoint()` would stop in the wrong frame, one level down from where it should, as described in `issue 1420`\_. This was due to a coverage change in v6.4.1 that seemed to give a slight performance improvement, but I couldn't reproduce the performance gain, so it's been reverted, fixing the debugger problem. - A new debug option `--debug=core` shows which core is in use and why. - Split `sqlite` debugging information out of the `sys` :ref:`coverage debug <cmd_debug>` and :ref:`cmd_run_debug` options since it's bulky and not very useful. - Updated the :ref:`howitworks` page to better describe the three different measurement cores. .. \_issue 1420: [#​1420](https://redirect.github.com/coveragepy/coveragepy/issues/1420) .. \_issue 2064: [#​2064](https://redirect.github.com/coveragepy/coveragepy/issues/2064) .. \_issue 2070: [#​2070](https://redirect.github.com/coveragepy/coveragepy/issues/2070) .. \_changes\_7-11-0: </details> <details> <summary>jsh9/pydoclint (jsh9/pydoclint)</summary> ### [`v0.8.1`](https://redirect.github.com/jsh9/pydoclint/blob/HEAD/CHANGELOG.md#081---2025-11-03) [Compare Source](https://redirect.github.com/jsh9/pydoclint/compare/0.8.0...0.8.1) - Changed - The logic to detect docstring style mismatches, fixing a false positive case where non-Sphinx style docstrings are detected as Sphinx style (because there are some rST keywords in them) - Full diff - <jsh9/pydoclint@0.8.0...0.8.1> ### [`v0.8.0`](https://redirect.github.com/jsh9/pydoclint/blob/HEAD/CHANGELOG.md#081---2025-11-03) [Compare Source](https://redirect.github.com/jsh9/pydoclint/compare/0.7.6...0.8.0) - Changed - The logic to detect docstring style mismatches, fixing a false positive case where non-Sphinx style docstrings are detected as Sphinx style (because there are some rST keywords in them) - Full diff - <jsh9/pydoclint@0.8.0...0.8.1> </details> <details> <summary>tombi-toml/tombi-pre-commit (tombi-toml/tombi-pre-commit)</summary> ### [`v0.6.41`](https://redirect.github.com/tombi-toml/tombi-pre-commit/releases/tag/v0.6.41) [Compare Source](https://redirect.github.com/tombi-toml/tombi-pre-commit/compare/v0.6.40...v0.6.41) See: <https://github.com/tombi-toml/tombi/releases/tag/v0.6.41> ### [`v0.6.40`](https://redirect.github.com/tombi-toml/tombi-pre-commit/releases/tag/v0.6.40) [Compare Source](https://redirect.github.com/tombi-toml/tombi-pre-commit/compare/v0.6.39...v0.6.40) See: <https://github.com/tombi-toml/tombi/releases/tag/v0.6.40> </details> <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.14.4`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0144) [Compare Source](https://redirect.github.com/astral-sh/ruff/compare/0.14.3...0.14.4) Released on 2025-11-06. ##### Preview features - \[formatter] Allow newlines after function headers without docstrings ([#​21110](https://redirect.github.com/astral-sh/ruff/pull/21110)) - \[formatter] Avoid extra parentheses for long `match` patterns with `as` captures ([#​21176](https://redirect.github.com/astral-sh/ruff/pull/21176)) - \[`refurb`] Expand fix safety for keyword arguments and `Decimal`s (`FURB164`) ([#​21259](https://redirect.github.com/astral-sh/ruff/pull/21259)) - \[`refurb`] Preserve argument ordering in autofix (`FURB103`) ([#​20790](https://redirect.github.com/astral-sh/ruff/pull/20790)) ##### Bug fixes - \[server] Fix missing diagnostics for notebooks ([#​21156](https://redirect.github.com/astral-sh/ruff/pull/21156)) - \[`flake8-bugbear`] Ignore non-NFKC attribute names in `B009` and `B010` ([#​21131](https://redirect.github.com/astral-sh/ruff/pull/21131)) - \[`refurb`] Fix false negative for underscores before sign in `Decimal` constructor (`FURB157`) ([#​21190](https://redirect.github.com/astral-sh/ruff/pull/21190)) - \[`ruff`] Fix false positives on starred arguments (`RUF057`) ([#​21256](https://redirect.github.com/astral-sh/ruff/pull/21256)) ##### Rule changes - \[`airflow`] extend deprecated argument `concurrency` in `airflow..DAG` (`AIR301`) ([#​21220](https://redirect.github.com/astral-sh/ruff/pull/21220)) ##### Documentation - Improve `extend` docs ([#​21135](https://redirect.github.com/astral-sh/ruff/pull/21135)) - \[`flake8-comprehensions`] Fix typo in `C416` documentation ([#​21184](https://redirect.github.com/astral-sh/ruff/pull/21184)) - Revise Ruff setup instructions for Zed editor ([#​20935](https://redirect.github.com/astral-sh/ruff/pull/20935)) ##### Other changes - Make `ruff analyze graph` work with jupyter notebooks ([#​21161](https://redirect.github.com/astral-sh/ruff/pull/21161)) ##### Contributors - [@​chirizxc](https://redirect.github.com/chirizxc) - [@​Lee-W](https://redirect.github.com/Lee-W) - [@​musicinmybrain](https://redirect.github.com/musicinmybrain) - [@​MichaReiser](https://redirect.github.com/MichaReiser) - [@​tjkuson](https://redirect.github.com/tjkuson) - [@​danparizher](https://redirect.github.com/danparizher) - [@​renovate](https://redirect.github.com/renovate) - [@​ntBre](https://redirect.github.com/ntBre) - [@​gauthsvenkat](https://redirect.github.com/gauthsvenkat) - [@​LoicRiegel](https://redirect.github.com/LoicRiegel) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on monday" in timezone UTC, Automerge - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) in timezone UTC. 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- 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/ansible/molecule). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJjaG9yZSIsImRlcGVuZGVuY2llcyJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Replace to_bool calls with boolean function (#4542) This PR replaces all calls to the to_bool function with the existing boolean function for consistency. Changes: - Replace to_bool function calls with boolean function calls in config.py and ansi_output.py - Add optional default parameter to boolean function to return fallback value for invalid inputs - Apply default parameter to environment variable parsing to prevent TypeError exceptions - Move boolean function tests from test_ansi_output.py to test_util.py for proper organization - Add comprehensive test coverage for the new default parameter functionality - Update type annotations and add proper docstring documentation The boolean function now accepts a default parameter that provides graceful fallback for invalid environment variable values while maintaining strict behavior when no default is specified.
Consolidate command class loggers into base.Base property (#4486) Depends on PR #4487 Problem: Command classes had duplicate logger setup code across 7+ files. Solution: Single @Property _log in base.Base with automatic step derivation. Key Changes: - Added @Property _log to base.Base with automatic step naming - Removed individual logger setups from 7 command classes - Eliminated 50+ lines of duplicate code - Updated tests for scenario logger pattern Impact: - Future command classes get logger automatically - Consistent scenario->step format across all commands - Perfect architectural separation of concerns Testing: All command tests pass with proper context validation. --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
PreviousNext