v3.2.2 0.16.8

medium risk

vllm-project/vllmSep 15, 2026 → Sep 16, 20261 day between releases

What's New

Ruff 0.16.8 adds lazy module and TypedDict support; Immich v3.2.2 fixes face reassignment logic.

Breaking Changes

  • Ruff 0.16.8 introduces new linting rules for `__lazy_modules__` and PEP-728 TypedDict that may trigger errors.

New Features

  • Support for `__lazy_modules__` configuration
  • Recognition of PEP-728 TypedDict class keywords
  • Prefer lazy imports over `TYPE_CHECKING` on Python 3.15+

Improvements

  • Enhanced pyupgrade rules for multiline statements and type conversions
  • Improved type checking for TypedDict
  • Fixed TypedDict keyword arguments handling

Bug Fixes

  • Fixed `SIM117` detection for nested async blocks
  • Fixed `SIM109` operand order preservation
  • Fixed `UP040` multiline parentheses requirements
  • Fixed TypeVarTuple and ParamSpec conversion rules
  • Fixed `flake8-simplify` operand order

Upgrade Notes

These releases are from different repositories (Immich and Ruff) and represent different software products, so there is no upgrade path between them. If upgrading Ruff, be aware of new linting rules for lazy modules and PEP-728 TypedDict.

The Two Releases

v3.2.2

v3.2.2

Sep 15, 2026· 1 month ago

Small patch fixing the reassign faces feature to skip faces of other users.

Full release notes
0.16.8

0.16.8

Sep 16, 2026· 1 month ago

Updates ruff with various bug fixes and rule changes including support for __lazy_modules__, PEP-728 TypedDict recognition, and improvements to type checking and pyupgrade rules.

Full release notes