v1.16.0 0.16.8
astral-sh/ruffSep 14, 2026 → Sep 16, 20262 days between releases
What's New
Newer release is a different product (Ruff) with Python linting features.
New Features
- Support for PEP-728 TypedDict class keywords
- Conditional assignment support for __lazy_modules__ configuration
- Enhanced flake8-type-checking to prefer lazy imports on Python 3.15+
- Improved pyupgrade to handle TypeVarTuple and ParamSpec bounds/constraints
Improvements
- Recognize quoted types in typing.TypeForm
- Recognize parent_mode argument for ruff and flake8-use-pathlib
- Detect literal \Z in pytest.raises() match patterns (RUF043)
- Add extend-banned-api configuration for flake8-tidy-imports
Bug Fixes
- Visit functional TypedDict keyword arguments correctly
- Fixed flake8-simplify to preserve operand order
- Fixed flake8-simplify to detect nested async with blocks
- Fixed pyupgrade to preserve required parentheses in multiline fixes
- Fixed pyupgrade to skip conversions with bounds/constraints
Upgrade Notes
The newer release describes a Python linter (Ruff), while the older release describes a browser automation tool. Ensure you are installing the correct package. New configuration options include __lazy_modules__ and extend-banned-api.
The Two Releases
v1.16.0 — Stop claiming a location you do not have
Sep 14, 2026· 1 month ago
This release makes browser connections more honest regarding location and improves Windows cleanup. It adds SOCKS4 and SOCKS5 proxy support and introduces a new endpoint to save authenticated PDFs directly from tabs.
Full release notes0.16.8
Sep 16, 2026· 1 month ago
Ruff 0.16.8 introduces support for PEP-728 `TypedDict` class keywords and the `__lazy_modules__` configuration. It includes improvements to type checking rules for Python 3.15+, updates to `pyupgrade` to handle modern syntax correctly, and various bug fixes across simplification and upgrade linters.
Full release notes