Access Astral changelog updates through our uniform API. Same JSON structure across all sources. No adapter-specific parsing needed.
GET https://watchchangelog.com/api/v1/entries?source=ruff.releases{
"source": "ruff.releases",
"vendor": "Astral",
"id": "tag:github.com,2008:Repository/523043277/0.16.4",
"published_at": "2026-08-20T17:44:56.000Z",
"title": "0.16.4",
"url": "https://github.com/astral-sh/ruff/releases/tag/0.16.4",
"summary": "Release Notes Released on 2026-08-20. Preview features [ flake8-use-pathlib ] Add autofix for PTH116 ( #26460 ) [ refurb ] Restrict delete-full-slice to lists ( FURB131 ) ( #27711 ) [ refurb ] Skip FURB101 and FURB103 when the open argument is a file descriptor ( #27643 ) Bug fixes Fix InvalidInstruction on Windows CPUs that do not support POPCNT ( #27803 ) [ pyflakes ] Emit semantic syntax errors in string type definitions as F722 ( #27835 ) [ pylint ] Allow os._exit imports in import-private-name ( PLC2701 ) ( #27738 ) Rule changes [syntax-errors] Align mixed t-string/bytes error message with CPython 3.14 ( #27766 ) [ ruff ] Add ctypes.LittleEndianStructure and related types to existing exception ( RUF012 ) ( #27753 ) [syntax-errors] Detect duplicate keyword arguments ( #17804 ) [syntax-errors] Detect parameters declared nonlocal ( #27628 ) Server Offer display-only fixes and mark safe fixes preferred ( #27807 ) Support pull diagnostics for notebook cells ( #27779 ) Documentation Add default indicator to rules table ( #27724 ) Fix broken link to Python docs ( #27757 ) Other changes Fix s390x stacker assembly in release builds ( #27776 ) Guarantee minimum stack size when parsing a module, standalone expression, and suites ( #25464 ) Reduce configuration deserialization code size ( #27924 ) Check packed AST index bounds ( #27849 ) Contributors @AbhinavMir @eduardorittner @royb3 @MichaReiser @carljm @rosstitmarsh @ntBre @zaniebot @ewdurbin @woodruffw @Sacrimento @lakshayxi @WhiteFox0-0 @baltasarblanco Install ruff 0.16.4 Install prebuilt binaries via shell script curl --proto ' =https ' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.4/ruff-installer.sh | sh Install prebuilt binaries via powershell script powershell -ExecutionPolicy Bypass -c \" irm https://releases.astral.sh/github/ruff/releases/download/0.16.4/ruff-installer.ps1 | iex \" Download ruff 0.16.4 File Platform Checksum ruff-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum ruff-x86_64-apple-darwin.tar.gz Intel macOS checksum ruff-aarch64-pc-windows-msvc.zip ARM64 Windows checksum ruff-i686-pc-windows-msvc.zip x86 Windows checksum ruff-x86_64-pc-windows-msvc.zip x64 Windows checksum ruff-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum ruff-i686-unknown-linux-gnu.tar.gz x86 Linux checksum ruff-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum ruff-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum ruff-riscv64gc-unknown-linux-gnu.tar.gz RISCV Linux checksum ruff-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum ruff-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum ruff-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum ruff-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum ruff-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum ruff-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum ruff-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum ruff-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum Verifying GitHub Artifact Attestations The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI : gh attestation verify < file-path of downloaded artifact > --repo astral-sh/ruff You can also download the attestation from GitHub and verify against that directly: gh attestation verify < file-path of downloaded artifact > --bundle < file-path of downloaded attestation >",
"tags": [
"Astral",
"ruff.releases",
"linter",
"python",
"rust"
]
}