Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

⬆️ Update all non-major dependencies #185

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 6, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
mkdocs-autorefs (changelog) 1.2.0 -> 1.3.0 age adoption passing confidence
mkdocs-material (changelog) 9.5.47 -> 9.6.3 age adoption passing confidence
mkdocstrings (changelog) 0.27.0 -> 0.28.0 age adoption passing confidence
mypy (changelog) 1.13.0 -> 1.15.0 age adoption passing confidence
pillow (changelog) 11.0.0 -> 11.1.0 age adoption passing confidence
pydantic (changelog) 2.10.2 -> 2.10.6 age adoption passing confidence
ruff (source, changelog) 0.8.1 -> 0.9.6 age adoption passing confidence

Release Notes

mkdocstrings/autorefs (mkdocs-autorefs)

v1.3.0

Compare Source

Compare with 1.2.0

Build
  • Drop support for Python 3.8 (ee3eaad by Timothée Mazzucotelli).
Features
Bug Fixes
  • Fallback to slugified title as id for non-exact, non-code references ([Hello World][] -> [hello-world][]) (13428f1 by Timothée Mazzucotelli). Issue-58
Code Refactoring
  • Deprecate fallback mechanism (5e89cd8 by Timothée Mazzucotelli). Issue-61
  • Log a debug message for unresolved optional references (9e990d7 by Timothée Mazzucotelli).
squidfunk/mkdocs-material (mkdocs-material)

v9.6.3: mkdocs-material-9.6.3

Compare Source

  • Fixed rendering of arrow heads in Mermaid.js class diagrams
  • Fixed #​7960: Tags plugin crashes on numeric metadata titles

v9.6.2: mkdocs-material-9.6.2

Compare Source

  • Fixed #​7955: Excessively long words don't break on narrow screens
  • Fixed #​7947: Scope setting interferes with outdated version banner

v9.6.1: mkdocs-material-9.6.1

Compare Source

  • Fixed #​7943: Tags plugin crashing due to merge error

v9.6.0: mkdocs-material-9.6.0

Compare Source

  • Added meta plugin
  • Rewrite of the tags plugin
  • Added support for allow lists in tags plugin
  • Added support for and custom sorting in tags plugin
  • Added support for related links in blog plugin
  • Added support for custom index pages in blog plugin
  • Added support for navigation subtitles
  • Fixed #​7924: Anchors might require two clicks when using instant navigation

v9.5.50: mkdocs-material-9.5.50

Compare Source

  • Fixed #​7913: Social plugin renders attribute lists in page title

v9.5.49: mkdocs-material-9.5.49

Compare Source

  • Adjusted title color in dark mode for all supported Mermaid.js diagrams
  • Fixed #​7803: Privacy plugin crashes on generated files
  • Fixed #​7781: Mermaid.js flow chart title not visible in dark mode

v9.5.48: mkdocs-material-9.5.48

Compare Source

  • Fixed #​7774: Disabling social cards doesn't work
mkdocstrings/mkdocstrings (mkdocstrings)

v0.28.0

Compare Source

Compare with 0.27.0

Breaking Changes

Although the following changes are "breaking" in terms of public API, we didn't find any public use of these classes and methods on GitHub.

  • mkdocstrings.extension.AutoDocProcessor.__init__(parser): Parameter was removed
  • mkdocstrings.extension.AutoDocProcessor.__init__(md): Positional parameter was moved
  • mkdocstrings.extension.AutoDocProcessor.__init__(config): Parameter was removed
  • mkdocstrings.extension.AutoDocProcessor.__init__(handlers): Parameter kind was changed: positional or keyword -> keyword-only
  • mkdocstrings.extension.AutoDocProcessor.__init__(autorefs): Parameter kind was changed: positional or keyword -> keyword-only
  • mkdocstrings.extension.MkdocstringsExtension.__init__(config): Parameter was removed
  • mkdocstrings.extension.MkdocstringsExtension.__init__(handlers): Positional parameter was moved
  • mkdocstrings.extension.MkdocstringsExtension.__init__(autorefs): Positional parameter was moved
  • mkdocstrings.handlers.base.Handlers.__init__(config): Parameter was removed
  • mkdocstrings.handlers.base.Handlers.__init__(theme): Parameter was added as required
  • mkdocstrings.handlers.base.Handlers.__init__(default): Parameter was added as required
  • mkdocstrings.handlers.base.Handlers.__init__(inventory_project): Parameter was added as required
  • mkdocstrings.handlers.base.Handlers.__init__(tool_config): Parameter was added as required

Similarly, the following parameters were renamed, but the methods are only called from our own code, using positional arguments.

  • mkdocstrings.handlers.base.BaseHandler.collect(config): Parameter was renamed options
  • mkdocstrings.handlers.base.BaseHandler.render(config): Parameter was renamed options

Finally, the following method was removed, but this is again taken into account in our own code:

  • mkdocstrings.handlers.base.BaseHandler.get_anchors: Public object was removed

For these reasons, and because we're still in v0, we do not bump to v1 yet. See following deprecations.

Deprecations

mkdocstrings 0.28 will start emitting these deprecations warnings:

The handler argument is deprecated. The handler name must be specified as a class attribute.

Previously, the get_handler function would pass a handler (name) argument to the handler constructor. This name must now be set on the handler's class directly.

class MyHandler:
    name = "myhandler"

The domain attribute must be specified as a class attribute.

The domain class attribute on handlers is now mandatory and cannot be an empty string.

class MyHandler:
    domain = "mh"

The theme argument must be passed as a keyword argument.

This argument could previously be passed as a positional argument (from the get_handler function), and must now be passed as a keyword argument.

The custom_templates argument must be passed as a keyword argument.

Same as for theme, but with custom_templates.

The mdx argument must be provided (as a keyword argument).

The get_handler function now receives a mdx argument, which it must forward to the handler constructor and then to the base handler, either explicitly or through **kwargs:

=== "Explicitly"

```python
def get_handler(..., mdx, ...):
    return MyHandler(..., mdx=mdx, ...)

class MyHandler:
    def __init__(self, ..., mdx, ...):
        super().__init__(..., mdx=mdx, ...)
```

=== "Through **kwargs"

```python
def get_handler(..., **kwargs):
    return MyHandler(..., **kwargs)

class MyHandler:
    def __init__(self, ..., **kwargs):
        super().__init__(**kwargs)
```

In the meantime we still retrieve this mdx value at a different moment, by reading it from the MkDocs configuration.

The mdx_config argument must be provided (as a keyword argument).

Same as for mdx, but with mdx_config.

mkdocstrings v1 will stop handling 'import' in handlers configuration. Instead your handler must define a get_inventory_urls method that returns a list of URLs to download.

Previously, mkdocstrings would pop the import key from a handler's configuration to download each item (URLs). Items could be strings, or dictionaries with a url key. Now mkdocstrings gives back control to handlers, which must store this inventory configuration within them, and expose it again through a get_inventory_urls method. This method returns a list of tuples: an URL, and a dictionary of options that will be passed again to their load_inventory method. Handlers have now full control over the "inventory" setting.

from copy import deepcopy

def get_handler(..., handler_config, ...):
    return MyHandler(..., config=handler_config, ...)

class MyHandler:
    def __init__(self, ..., config, ...):
        self.config = config

    def get_inventory_urls(self):
        config = deepcopy(self.config["import"])
        return [(inv, {}) if isinstance(inv, str) else (inv.pop("url"), inv) for inv in config]

Changing the name of the key (for example from import to inventories) involves a change in user configuration, and both keys will have to be supported by your handler for some time.

def get_handler(..., handler_config, ...):
    if "inventories" not in handler_config and "import" in handler_config:
        warn("The 'import' key is renamed 'inventories'", FutureWarning)
        handler_config["inventories"] = handler_config.pop("import")
    return MyHandler(..., config=handler_config, ...)

Setting a fallback anchor function is deprecated and will be removed in a future release.

This comes from mkdocstrings and mkdocs-autorefs, and will disappear with mkdocstrings v0.28.

mkdocstrings v1 will start using your handler's get_options method to build options instead of merging the global and local options (dictionaries).

Handlers must now store their own global options (in an instance attribute), and implement a get_options method that receives local_options (a dict) and returns combined options (dict or custom object). These combined options are then passed to collect and render, so that these methods can use them right away.

def get_handler(..., handler_config, ...):
    return MyHandler(..., config=handler_config, ...)

class MyHandler:
    def __init__(self, ..., config, ...):
        self.config = config

    def get_options(local_options):
        return {**self.default_options, **self.config["options"], **local_options}

The update_env(md) parameter is deprecated. Use self.md instead.

Handlers can remove the md parameter from their update_env method implementation, and use self.md instead, if they need it.

No need to call super().update_env() anymore.

Handlers don't have to call the parent update_env method from their own implementation anymore, and can just drop the call.

The get_anchors method is deprecated. Declare a get_aliases method instead, accepting a string (identifier) instead of a collected object.

Previously, handlers would implement a get_anchors method that received a data object (typed CollectorItem) to return aliases for this object. This forced mkdocstrings to collect this object through the handler's collect method, which then required some logic with "fallback config" as to prevent unwanted collection. mkdocstrings gives back control to handlers and now calls get_aliases instead, which accepts an identifier (string) and lets the handler decide how to return aliases for this identifier. For example, it can replicate previous behavior by calling its own collect method with its own "fallback config", or do something different (cache lookup, etc.).

class MyHandler:
    def get_aliases(identifier):
        try:
            obj = self.collect(identifier, self.fallback_config)

### or obj = self._objects_cache[identifier]
        except CollectionError:  # or KeyError
            return ()
        return ...  # previous logic in `get_anchors`

The config_file_path argument in get_handler functions is deprecated. Use tool_config.get('config_file_path') instead.

The config_file_path argument is now deprecated and only passed to get_handler functions if they accept it. If you used it to compute a "base directory", you can now use the tool_config argument instead, which is the configuration of the SSG tool in use (here MkDocs):

base_dir = Path(tool_config.config_file_path or "./mkdocs.yml").parent

Most of these warnings will disappear with the next version of mkdocstrings-python.

Bug Fixes
  • Update handlers in JSON schema to be an object instead of an array (3cf7d51 by Matthew Messinger). Issue-733, PR-734
  • Fix broken table of contents when nesting autodoc instructions (12c8f82 by Timothée Mazzucotelli). Issue-348
Code Refactoring
  • Pass config_file_path to get_handler if it expects it (8c476ee by Timothée Mazzucotelli).
  • Give back inventory control to handlers (b84653f by Timothée Mazzucotelli). Related-to-issue-719
  • Give back control to handlers on how they want to handle global/local options (c00de7a by Timothée Mazzucotelli). Issue-719
  • Deprecate base handler's get_anchors method in favor of get_aliases method (7a668f0 by Timothée Mazzucotelli).
  • Register all identifiers of rendered objects into autorefs (434d8c7 by Timothée Mazzucotelli).
  • Use mkdocs-get-deps' download utility to remove duplicated code (bb87cd8 by Timothée Mazzucotelli).
  • Clean up data passed down from plugin to extension and handlers (b8e8703 by Timothée Mazzucotelli). PR-726
python/mypy (mypy)

v1.15.0

Compare Source

v1.14.1

Compare Source

v1.14.0

Compare Source

python-pillow/Pillow (pillow)

v11.1.0

Compare Source

See GitHub Releases:

pydantic/pydantic (pydantic)

v2.10.6

Compare Source

GitHub release

What's Changed
Fixes

v2.10.5

Compare Source

GitHub release

What's Changed

v2.10.4

Compare Source

GitHub release

What's Changed
Packaging
Fixes
New Contributors

v2.10.3

Compare Source

GitHub release

What's Changed
Fixes
astral-sh/ruff (ruff)

v0.9.6

Compare Source

Preview features
  • [airflow] Add external_task.{ExternalTaskMarker, ExternalTaskSensor} for AIR302 (#​16014)
  • [flake8-builtins] Make strict module name comparison optional (A005) (#​15951)
  • [flake8-pyi] Extend fix to Python <= 3.9 for redundant-none-literal (PYI061) (#​16044)
  • [pylint] Also report when the object isn't a literal (PLE1310) (#​15985)
  • [ruff] Implement indented-form-feed (RUF054) (#​16049)
  • [ruff] Skip type definitions for missing-f-string-syntax (RUF027) (#​16054)
Rule changes
  • [flake8-annotations] Correct syntax for typing.Union in suggested return type fixes for ANN20x rules (#​16025)
  • [flake8-builtins] Match upstream module name comparison (A005) (#​16006)
  • [flake8-comprehensions] Detect overshadowed list/set/dict, ignore variadics and named expressions (C417) (#​15955)
  • [flake8-pie] Remove following comma correctly when the unpacked dictionary is empty (PIE800) (#​16008)
  • [flake8-simplify] Only trigger SIM401 on known dictionaries (#​15995)
  • [pylint] Do not report calls when object type and argument type mismatch, remove custom escape handling logic (PLE1310) (#​15984)
  • [pyupgrade] Comments within parenthesized value ranges should not affect applicability (UP040) (#​16027)
  • [pyupgrade] Don't introduce invalid syntax when upgrading old-style type aliases with parenthesized multiline values (UP040) (#​16026)
  • [pyupgrade] Ensure we do not rename two type parameters to the same name (UP049) (#​16038)
  • [pyupgrade] [ruff] Don't apply renamings if the new name is shadowed in a scope of one of the references to the binding (UP049, RUF052) (#​16032)
  • [ruff] Update RUF009 to behave similar to B008 and ignore attributes with immutable types (#​16048)
Server
  • Root exclusions in the server to project root (#​16043)
Bug fixes
  • [flake8-datetime] Ignore .replace() calls while looking for .astimezone (#​16050)
  • [flake8-type-checking] Avoid TC004 false positive where the runtime definition is provided by __getattr__ (#​16052)
Documentation
  • Improve ruff-lsp migration document (#​16072)
  • Undeprecate ruff.nativeServer (#​16039)

v0.9.5

Compare Source

Preview features
  • Recognize all symbols named TYPE_CHECKING for in_type_checking_block (#​15719)
  • [flake8-comprehensions] Handle builtins at top of file correctly for unnecessary-dict-comprehension-for-iterable (C420) (#​15837)
  • [flake8-logging] .exception() and exc_info= outside exception handlers (LOG004, LOG014) (#​15799)
  • [flake8-pyi] Fix incorrect behaviour of custom-typevar-return-type preview-mode autofix if typing was already imported (PYI019) (#​15853)
  • [flake8-pyi] Fix more complex cases (PYI019) (#​15821)
  • [flake8-pyi] Make PYI019 autofixable for .py files in preview mode as well as stubs (#​15889)
  • [flake8-pyi] Remove type parameter correctly when it is the last (PYI019) (#​15854)
  • [pylint] Fix missing parens in unsafe fix for unnecessary-dunder-call (PLC2801) (#​15762)
  • [pyupgrade] Better messages and diagnostic range (UP015) (#​15872)
  • [pyupgrade] Rename private type parameters in PEP 695 generics (UP049) (#​15862)
  • [refurb] Also report non-name expressions (FURB169) (#​15905)
  • [refurb] Mark fix as unsafe if there are comments (FURB171) (#​15832)
  • [ruff] Classes with mixed type variable style (RUF053) (#​15841)
  • [airflow] BashOperator has been moved to airflow.providers.standard.operators.bash.BashOperator (AIR302) (#​15922)
  • [flake8-pyi] Add autofix for unused-private-type-var (PYI018) (#​15999)
  • [flake8-pyi] Significantly improve accuracy of PYI019 if preview mode is enabled (#​15888)
Rule changes
  • Preserve triple quotes and prefixes for strings (#​15818)
  • [flake8-comprehensions] Skip when TypeError present from too many (kw)args for C410,C411, and C418 (#​15838)
  • [flake8-pyi] Rename PYI019 and improve its diagnostic message (#​15885)
  • [pep8-naming] Ignore @override methods (N803) (#​15954)
  • [pyupgrade] Reuse replacement logic from UP046 and UP047 to preserve more comments (UP040) (#​15840)
  • [ruff] Analyze deferred annotations before enforcing mutable-(data)class-default and function-call-in-dataclass-default-argument (RUF008,RUF009,RUF012) (#​15921)
  • [pycodestyle] Exempt sys.path += ... calls (E402) (#​15980)
Configuration
  • Config error only when flake8-import-conventions alias conflicts with isort.required-imports bound name (#​15918)
  • Workaround Even Better TOML crash related to allOf (#​15992)
Bug fixes
  • [flake8-comprehensions] Unnecessary list comprehension (rewrite as a set comprehension) (C403) - Handle extraneous parentheses around list comprehension (#​15877)
  • [flake8-comprehensions] Handle trailing comma in fixes for unnecessary-generator-list/set (C400,C401) (#​15929)
  • [flake8-pyi] Fix several correctness issues with custom-type-var-return-type (PYI019) (#​15851)
  • [pep8-naming] Consider any number of leading underscore for N801 (#​15988)
  • [pyflakes] Visit forward annotations in TypeAliasType as types (F401) (#​15829)
  • [pylint] Correct min/max auto-fix and suggestion for (PL1730) (#​15930)
  • [refurb] Handle unparenthesized tuples correctly (FURB122, FURB142) (#​15953)
  • [refurb] Avoid None | None as well as better detection and fix (FURB168) (#​15779)
Documentation
  • Add deprecation warning for ruff-lsp related settings (#​15850)
  • Docs (linter.md): clarify that Python files are always searched for in subdirectories (#​15882)
  • Fix a typo in non_pep695_generic_class.rs (#​15946)
  • Improve Docs: Pylint subcategories' codes (#​15909)
  • Remove non-existing lint.extendIgnore editor setting (#​15844)
  • Update black deviations (#​15928)
  • Mention UP049 in UP046 and UP047, add See also section to UP040 (#​15956)
  • Add instance variable examples to RUF012 (#​15982)
  • Explain precedence for ignore and select config (#​15883)

v0.9.4

Compare Source

Preview features
  • [airflow] Extend airflow context parameter check for BaseOperator.execute (AIR302) (#​15713)
  • [airflow] Update AIR302 to check for deprecated context keys (#​15144)
  • [flake8-bandit] Permit suspicious imports within stub files (S4) (#​15822)
  • [pylint] Do not trigger PLR6201 on empty collections (#​15732)
  • [refurb] Do not emit diagnostic when loop variables are used outside loop body (FURB122) (#​15757)
  • [ruff] Add support for more re patterns (RUF055) (#​15764)
  • [ruff] Check for shadowed map before suggesting fix (RUF058) (#​15790)
  • [ruff] Do not emit diagnostic when all arguments to zip() are variadic (RUF058) (#​15744)
  • [ruff] Parenthesize fix when argument spans multiple lines for unnecessary-round (RUF057) (#​15703)
Rule changes
  • Preserve quote style in generated code (#​15726, #​15778, #​15794)
  • [flake8-bugbear] Exempt NewType calls where the original type is immutable (B008) (#​15765)
  • [pylint] Honor banned top-level imports by TID253 in PLC0415. (#​15628)
  • [pyupgrade] Ignore is_typeddict and TypedDict for deprecated-import (UP035) (#​15800)
CLI
  • Fix formatter warning message for flake8-quotes option (#​15788)
  • Implement tab autocomplete for ruff config (#​15603)
Bug fixes
  • [flake8-comprehensions] Do not emit unnecessary-map diagnostic when lambda has different arity (C417) (#​15802)
  • [flake8-comprehensions] Parenthesize sorted when needed for unnecessary-call-around-sorted (C413) (#​15825)
  • [pyupgrade] Handle end-of-line comments for quoted-annotation (UP037) (#​15824)
Documentation
  • Add missing config docstrings (#​15803)
  • Add references to trio.run_process and anyio.run_process (#​15761)
  • Use uv init --lib in tutorial (#​15718)

v0.9.3

Compare Source

Preview features
  • [airflow] Argument fail_stop in DAG has been renamed as fail_fast (AIR302) (#​15633)
  • [airflow] Extend AIR303 with more symbols (#​15611)
  • [flake8-bandit] Report all references to suspicious functions (S3) (#​15541)
  • [flake8-pytest-style] Do not emit diagnostics for empty for loops (PT012, PT031) (#​15542)
  • [flake8-simplify] Avoid double negations (SIM103) (#​15562)
  • [pyflakes] Fix infinite loop with unused local import in __init__.py (F401) (#​15517)
  • [pylint] Do not report methods with only one EM101-compatible raise (PLR6301) (#​15507)
  • [pylint] Implement redefined-slots-in-subclass (W0244) (#​9640)
  • [pyupgrade] Add rules to use PEP 695 generics in classes and functions (UP046, UP047) (#​15565, #​15659)
  • [refurb] Implement for-loop-writes (FURB122) (#​10630)
  • [ruff] Implement needless-else clause (RUF047) (#​15051)
  • [ruff] Implement starmap-zip (RUF058) (#​15483)
Rule changes
  • [flake8-bugbear] Do not raise error if keyword argument is present and target-python version is less or equals than 3.9 (B903) (#​15549)
  • [flake8-comprehensions] strip parentheses around generators in unnecessary-generator-set (C401) (#​15553)
  • [flake8-pytest-style] Rewrite references to .exception (PT027) (#​15680)
  • [flake8-simplify] Mark fixes as unsafe (SIM201, SIM202) (#​15626)
  • [flake8-type-checking] Fix some safe fixes being labeled unsafe (TC006,TC008) (#​15638)
  • [isort] Omit trailing whitespace in unsorted-imports (I001) (#​15518)
  • [pydoclint] Allow ignoring one line docstrings for DOC rules (#​13302)
  • [pyflakes] Apply redefinition fixes by source code order (F811) (#​15575)
  • [pyflakes] Avoid removing too many imports in redefined-while-unused (F811) (#​15585)
  • [pyflakes] Group redefinition fixes by source statement (F811) (#​15574)
  • [pylint] Include name of base class in message for redefined-slots-in-subclass (W0244) (#​15559)
  • [ruff] Update fix for RUF055 to use var == value (#​15605)
Formatter
  • Fix bracket spacing for single-element tuples in f-string expressions (#​15537)
  • Fix unstable f-string formatting for expressions containing a trailing comma (#​15545)
Performance
  • Avoid quadratic membership check in import fixes (#​15576)
Server
  • Allow unsafe-fixes settings for code actions (#​15666)
Bug fixes
  • [flake8-bandit] Add missing single-line/dotall regex flag (S608) (#​15654)
  • [flake8-import-conventions] Fix infinite loop between ICN001 and I002 (ICN001) (#​15480)
  • [flake8-simplify] Do not emit diagnostics for expressions inside string type annotations (SIM222, SIM223) (#​15405)
  • [pyflakes] Treat arguments passed to the default= parameter of TypeVar as type expressions (F821) (#​15679)
  • [pyupgrade] Avoid syntax error when the iterable is a non-parenthesized tuple (UP028) (#​15543)
  • [ruff] Exempt NewType calls where the original type is immutable (RUF009) (#​15588)
  • Preserve raw string prefix and escapes in all codegen fixes (#​15694)
Documentation
  • Generate documentation redirects for lowercase rule codes (#​15564)
  • TRY300: Add some extra notes on not catching exceptions you didn't expect (#​15036)

v0.9.2

Compare Source

Preview features
  • [airflow] Fix typo "security_managr" to "security_manager" (AIR303) (#​15463)
  • [airflow] extend and fix AIR302 rules (#​15525)
  • [fastapi] Handle parameters with Depends correctly (FAST003) (#​15364)
  • [flake8-pytest-style] Implement pytest.warns diagnostics (PT029, PT030, PT031) (#​15444)
  • [flake8-pytest-style] Test function parameters with default arguments (PT028) (#​15449)
  • [flake8-type-checking] Avoid false positives for | in TC008 (#​15201)
Rule changes
  • [flake8-todos] Allow VSCode GitHub PR extension style links in missing-todo-link (TD003) (#​15519)
  • [pyflakes] Show syntax error message for F722 (#​15523)
Formatter
  • Fix curly bracket spacing around f-string expressions containing curly braces (#​15471)
  • Fix joining of f-strings with different quotes when using quote style Preserve (#​15524)
Server
  • Avoid indexing the same workspace multiple times (#​15495)
  • Display context for ruff.configuration errors (#​15452)
Configuration
  • Remove flatten to improve deserialization error messages (#​15414)
Bug fixes
  • Parse triple-quoted string annotations as if parenthesized (#​15387)
  • [fastapi] Update Annotated fixes (FAST002) (#​15462)
  • [flake8-bandit] Check for builtins instead of builtin (S102, PTH123) (#​15443)
  • [flake8-pathlib] Fix --select for os-path-dirname (PTH120) (#​15446)
  • [ruff] Fix false positive on global keyword (RUF052) (#​15235)

v0.9.1

Compare Source

Preview features
  • [pycodestyle] Run too-many-newlines-at-end-of-file on each cell in notebooks (W391) (#​15308)
  • [ruff] Omit diagnostic for shadowed private function parameters in used-dummy-variable (RUF052) (#​15376)
Rule changes
  • [flake8-bugbear] Improve assert-raises-exception message (B017) (#​15389)
Formatter
  • Preserve trailing end-of line comments for the last string literal in implicitly concatenated strings (#​15378)
Server
  • Fix a bug where the server and client notebooks were out of sync after reordering cells (#​15398)
Bug fixes
  • [flake8-pie] Correctly remove wrapping parentheses (PIE800) (#​15394)
  • [pyupgrade] Handle comments and multiline expressions correctly (UP037) (#​15337)

v0.9.0

Compare Source

Check out the blog post for a migration guide and overview of the changes!

Breaking changes

Ruff now formats your code according to the 2025 style guide. As a result, your code might now get formatted differently. See the formatter section for a detailed list of changes.

This release doesn’t remove or remap any existing stable rules.

Stabilization

The following rules have been stabilized and are no longer in preview:

The following behaviors have been stabilized:

The following fixes or improvements to fixes have been stabilized:

Formatter

This release introduces the new 2025 stable style (#​13371), stabilizing the following changes:

  • Format expressions in f-string elements (#​7594)
  • Alternate quotes for strings inside f-strings (#​13860)
  • Preserve the casing of hex codes in f-string debug expressions (#​14766)
  • Choose the quote style for each string literal in an implicitly concatenated f-string rather than for the entire string (#​13539)
  • Automatically join an implicitly concatenated string into a single string literal if it fits on a single line (#​9457)
  • Remove the ISC001 incompatibility warning (#​15123)
  • Prefer parenthesizing the assert message over breaking the assertion expression (#​9457)
  • Automatically parenthesize over-long if guards in match case clauses (#​13513)
  • More consistent formatting for match case patterns (#​6933)
  • Avoid unnecessary parentheses around return type annotations (#​13381)
  • Keep the opening parentheses on the same line as the if keyword for comprehensions where the condition has a leading comment (#​12282)
  • More consistent formatting for with statements with a single context manager for Python 3.8 or older (#​10276)
  • Correctly calculate the line-width for code blocks in docstrings when using max-doc-code-line-length = "dynamic" (#​13523)
Preview features
  • [flake8-bugbear] Implement class-as-data-structure (B903) (#​9601)
  • [flake8-type-checking] Apply quoted-type-alias more eagerly in TYPE_CHECKING blocks and ignore it in stubs (TC008) (#​15180)
  • [pylint] Ignore eq-without-hash in stub files (PLW1641) (#​15310)
  • [pyupgrade] Split UP007 into two individual rules: UP007 for Union and UP045 for Optional (UP007, UP045) (#​15313)
  • [ruff] New rule that detects classes that are both an enum and a dataclass (RUF049) (#​15299)
  • [ruff] Recode RUF025 to RUF037 (RUF037) ([#​15258](h

Configuration

📅 Schedule: Branch creation - "after 11am on friday" in timezone Europe/Amsterdam, 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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

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

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Dec 6, 2024
Copy link

codecov bot commented Dec 6, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.11%. Comparing base (65f3c50) to head (58125ea).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #185   +/-   ##
=======================================
  Coverage   98.11%   98.11%           
=======================================
  Files          30       30           
  Lines         795      795           
=======================================
  Hits          780      780           
  Misses         15       15           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from 2a9b671 to f8719ef Compare December 12, 2024 16:55
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 4 times, most recently from 8bea957 to 0e46738 Compare December 20, 2024 16:18
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 4 times, most recently from 4075b60 to 8989a0d Compare January 4, 2025 14:06
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 4 times, most recently from 799979d to e0187e5 Compare January 16, 2025 17:48
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from 94b41a2 to cb9ce08 Compare January 24, 2025 01:51
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 5 times, most recently from 9cf4ee9 to 842f7b6 Compare February 5, 2025 05:20
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from cb55c07 to fea4707 Compare February 7, 2025 08:44
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from fea4707 to 58125ea Compare February 10, 2025 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants