Description
# clang-format Python distribution [](https://pypi.org/project/clang-format) This project packages the `clang-format` utility as a Python package. It allows you to install `clang-format` directly from PyPI: ``` python -m pip install clang-format ``` This projects intends to release a new PyPI package for each major and minor release of `clang-format`. ## Use with pipx You can use `pipx` to run clang-format, as well. For example, `pipx run clang-format <args>` will run clang-format without any previous install required on any machine with pipx (including all default GitHub Actions / Azure runners, avoiding requiring a pre-install step or even `actions/setup-python`). ## Use from pre-commit A [pre-commit](https://pre-commit.com) hook is also [provided](https://github.com/pre-commit/mirrors-clang-format), use like this: ```yaml - repo: https://github.com/pre-commit/mirrors-clang-format rev: v22.1.4 hooks: - id: clang-format types_or: [c++, c, cuda] ``` In contrast to many other pre-commit hooks, the versioning of the hook matches the versioning of `clang-format`. If you are required to stick with a given major/minor version of `clang-format` with your pre-commit-hook, you can use [this alternative hook repository](https://github.com/ssciwr/clang-format-hook) that also receives backports of older versions of clang-format. Currently, all major/minor versions of LLVM >= 10 are supported. It is best to subscribe to releases of the hook repository to get notified of new backport releases, as `pre-commit`'s auto-upgrade functionality will not work in that case. ## Building new releases The [clang-format-wheel repository](https://github.com/ssciwr/clang-format-wheel) provides the logic to build and publish binary wheels of the `clang-format` utility. In order to add a new release, the following steps are necessary: * Edit the [version file](https://github.com/ssciwr/clang-format-wheel/blob/main/clang-format_version.txt) * In the form `llvm_version.wheel_version`, e.g. `18.0.2.1` * Tag the commit with this version to trigger the [GitHub Actions release workflow](https://github.com/ssciwr/clang-format-wheel/actions/workflows/release.yml) * e.g. `git tag v18.0.2.1 && git push origin v18.0.2.1` Alternatively, the workflow can be triggered manually: On manual triggers, the following input variables are available: * `llvm_version`: Override the LLVM version (default: `""`) * `wheel_version`: Override the wheel packaging version (default `"0"`) * `skip_emulation`: Set which emulation builds to skip, e.g. `"qemu"` (default: `""`) * `deploy_to_testpypi`: Whether to deploy to TestPyPI instead of PyPI (default: `false`) The repository with the precommit hook is automatically updated using a scheduled Github Actions workflow. ## Acknowledgements This repository extends the great work of several other projects: * `clang-format` itself is [provided by the LLVM project](https://github.com/llvm/llvm-project) under the Apache 2.0 License with LLVM exceptions. * The build logic is based on [scikit-build-core](https://github.com/scikit-build/scikit-build-core) which greatly reduces the amount of low level code necessary to package `clang-format`. * The `scikit-build` packaging examples of [CMake](https://github.com/scikit-build/cmake-python-distributions) and [Ninja](https://github.com/scikit-build/ninja-python-distributions) were very helpful in packaging `clang-format`. * The CI build process is controlled by [cibuildwheel](https://github.com/pypa/cibuildwheel) which makes building wheels across a number of platforms a pleasant experience (!) Special thanks goes to mgevaert who initiated this project and maintained it until 2021. We are grateful for the generous provisioning with CI resources that GitHub currently offers to Open Source projects.
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| 22.1.4 | Imported from PyPI (22.1.4) | Low | 4/21/2026 |
| llvmorg-22.1.4 | ## LLVM 22.1.4 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.4/LLVM-22.1.4-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.4/LLVM-22.1.4-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.4/LLVM-22.1.4-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.4/LLVM-22.1.4-Linux-ARM64.tar.xz.jsonl)) | High | 4/21/2026 |
| llvmorg-22.1.3 | ## LLVM 22.1.3 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.3/LLVM-22.1.3-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.3/LLVM-22.1.3-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.3/LLVM-22.1.3-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.3/LLVM-22.1.3-Linux-ARM64.tar.xz.jsonl)) | Medium | 4/7/2026 |
| llvmorg-22.1.2 | ## LLVM 22.1.2 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.2/LLVM-22.1.2-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.2/LLVM-22.1.2-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.2/LLVM-22.1.2-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.2/LLVM-22.1.2-Linux-ARM64.tar.xz.jsonl)) | Medium | 3/24/2026 |
| llvmorg-22.1.1 | ## LLVM 22.1.1 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.1/LLVM-22.1.1-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.1/LLVM-22.1.1-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.1/LLVM-22.1.1-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.1/LLVM-22.1.1-Linux-ARM64.tar.xz.jsonl)) | Low | 3/11/2026 |
| llvmorg-22.1.0 | ## LLVM 22.1.0 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0/LLVM-22.1.0-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0/LLVM-22.1.0-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0/LLVM-22.1.0-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0/LLVM-22.1.0-Linux-ARM64.tar.xz.jsonl)) | Low | 2/24/2026 |
| llvmorg-22.1.0-rc3 | ## LLVM 22.1.0-rc3 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0-rc3/LLVM-22.1.0-rc3-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0-rc3/LLVM-22.1.0-rc3-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0-rc3/LLVM-22.1.0-rc3-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0-rc3/LLVM-2 | Low | 2/10/2026 |
| llvmorg-22.1.0-rc2 | ## LLVM 22.1.0-rc2 Release <!-- LINUX_X86 * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0-rc2/LLVM-22.1.0-rc2-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0-rc2/LLVM-22.1.0-rc2-Linux-X64.tar.xz.jsonl)) --> <!-- LINUX_ARM64 * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0-rc2/LLVM-22.1.0-rc2-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/release | Low | 1/27/2026 |
| llvmorg-22.1.0-rc1 | ## LLVM 22.1.0-rc1 Release <!-- LINUX_X86 * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0-rc1/LLVM-22.1.0-rc1-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0-rc1/LLVM-22.1.0-rc1-Linux-X64.tar.xz.jsonl)) --> <!-- LINUX_ARM64 * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.0-rc1/LLVM-22.1.0-rc1-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/release | Low | 1/16/2026 |
| llvmorg-21.1.8 | ## LLVM 21.1.8 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.8/LLVM-21.1.8-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.8/LLVM-21.1.8-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.8/LLVM-21.1.8-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.8/LLVM-21.1.8-Linux-ARM64.tar.xz.json | Low | 12/16/2025 |
| llvmorg-21.1.7 | ## LLVM 21.1.7 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.7/LLVM-21.1.7-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.7/LLVM-21.1.7-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.7/LLVM-21.1.7-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.7/LLVM-21.1.7-Linux-ARM64.tar.xz.json | Low | 12/2/2025 |
| llvmorg-21.1.6 | ## LLVM 21.1.6 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.6/LLVM-21.1.6-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.6/LLVM-21.1.6-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.6/LLVM-21.1.6-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.6/LLVM-21.1.6-Linux-ARM64.tar.xz.json | Low | 11/18/2025 |
| llvmorg-21.1.5 | ## LLVM 21.1.5 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.5/LLVM-21.1.5-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.5/LLVM-21.1.5-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.5/LLVM-21.1.5-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.5/LLVM-21.1.5-Linux-ARM64.tar.xz.json | Low | 11/4/2025 |
| llvmorg-21.1.4 | ## LLVM 21.1.4 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.4/LLVM-21.1.4-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.4/LLVM-21.1.4-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.4/LLVM-21.1.4-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.4/LLVM-21.1.4-Linux-ARM64.tar.xz.json | Low | 10/21/2025 |
| llvmorg-21.1.3 | ## LLVM 21.1.3 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.3/LLVM-21.1.3-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.3/LLVM-21.1.3-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.3/LLVM-21.1.3-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.3/LLVM-21.1.3-Linux-ARM64.tar.xz.json | Low | 10/7/2025 |
| llvmorg-21.1.2 | ## LLVM 21.1.2 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.2/LLVM-21.1.2-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.2/LLVM-21.1.2-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.2/LLVM-21.1.2-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.2/LLVM-21.1.2-Linux-ARM64.tar.xz.json | Low | 9/23/2025 |
| llvmorg-21.1.1 | ## LLVM 21.1.1 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.1/LLVM-21.1.1-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.1/LLVM-21.1.1-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.1/LLVM-21.1.1-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.1/LLVM-21.1.1-Linux-ARM64.tar.xz.json | Low | 9/10/2025 |
| llvmorg-21.1.0 | ## LLVM 21.1.0 Release * [Linux x86_64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.0/LLVM-21.1.0-Linux-X64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.0/LLVM-21.1.0-Linux-X64.tar.xz.jsonl)) * [Linux Arm64](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.0/LLVM-21.1.0-Linux-ARM64.tar.xz) ([signature](https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.0/LLVM-21.1.0-Linux-ARM64.tar.xz.json | Low | 8/26/2025 |
| llvmorg-21.1.0-rc3 | LLVM 21.1.0-rc3 Release ## Package Types Each platform has one binary release package. The file name starts with either `LLVM-` or `clang+llvm-` and ends with the platform's name. For example, `LLVM-21.1.0-rc3-Linux-ARM64.tar.xz` contains LLVM binaries for Arm64 Linux. Except for Windows. Where `LLVM-*.exe` is an installer intended for using LLVM as a toolchain and `clang+llvm-` contains the contents of the installer, plus libraries and tools not normally used in a toolchain. You most l | Low | 8/12/2025 |
| llvmorg-21.1.0-rc2 | LLVM 21.1.0-rc2 Release ## Package Types Each platform has one binary release package. The file name starts with either `LLVM-` or `clang+llvm-` and ends with the platform's name. For example, `LLVM-21.1.0-rc2-Linux-ARM64.tar.xz` contains LLVM binaries for Arm64 Linux. Except for Windows. Where `LLVM-*.exe` is an installer intended for using LLVM as a toolchain and `clang+llvm-` contains the contents of the installer, plus libraries and tools not normally used in a toolchain. You most likely | Low | 7/29/2025 |
| llvmorg-21.1.0-rc1 | LLVM 21.1.0-rc1 Release ## Package Types Each platform has one binary release package. The file name starts with either `LLVM-` or `clang+llvm-` and ends with the platform's name. For example, `LLVM-21.1.0-rc1-Linux-ARM64.tar.xz` contains LLVM binaries for Arm64 Linux. Except for Windows. Where `LLVM-*.exe` is an installer intended for using LLVM as a toolchain and `clang+llvm-` contains the contents of the installer, plus libraries and tools not normally used in a toolchain. You most l | Low | 7/17/2025 |
| llvmorg-20.1.8 | LLVM 20.1.8 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 7/9/2025 |
| llvmorg-20.1.7 | LLVM 20.1.7 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 6/13/2025 |
| llvmorg-20.1.6 | LLVM 20.1.6 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 5/28/2025 |
| llvmorg-20.1.5 | LLVM 20.1.5 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 5/14/2025 |
| llvmorg-20.1.4 | LLVM 20.1.4 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 4/30/2025 |
| llvmorg-20.1.3 | LLVM 20.1.3 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 4/16/2025 |
| llvmorg-20.1.2 | LLVM 20.1.2 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 4/2/2025 |
| llvmorg-20.1.1 | LLVM 20.1.1 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 3/18/2025 |
| llvmorg-20.1.0 | LLVM 20.1.0 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 3/4/2025 |
| llvmorg-20.1.0-rc3 | LLVM 20.1.0-rc3 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 2/26/2025 |
| llvmorg-20.1.0-rc2 | LLVM 20.1.0-rc2 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 2/12/2025 |
| llvmorg-20.1.0-rc1 | LLVM 20.1.0-rc1 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 2/2/2025 |
| llvmorg-19.1.7 | LLVM 19.1.7 Release Announcement post: https://discourse.llvm.org/t/llvm-19-1-7-released/84062 | Low | 1/14/2025 |
| llvmorg-19.1.6 | LLVM 19.1.6 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 12/17/2024 |
| llvmorg-19.1.5 | LLVM 19.1.5 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 12/3/2024 |
| llvmorg-19.1.4 | LLVM 19.1.4 Release # Release Announcement https://discourse.llvm.org/t/llvm-19-1-4-released/83230 # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 11/19/2024 |
| llvmorg-19.1.3 | LLVM 19.1.3 Release # Release Announcement https://discourse.llvm.org/t/llvm-19-1-3-relased/82829 # A note on binaries The binaries and sources here are created by a release manager of LLVM and should all be signed with a GnuPG key. The official public keys can be found here: https://releases.llvm.org/release-keys.asc. We recommend verifying the sources or tags before using them. The binaries can take a while to show up since they require some manual input. Third party binaries | Low | 10/30/2024 |
| llvmorg-19.1.2 | LLVM 19.1.2 Release # Release Announcement https://discourse.llvm.org/t/llvm-19-1-2-released/82550 # A note on binaries The binaries and sources here are created by a release manager of LLVM and should all be signed with a GnuPG key. The official public keys can be found here: https://releases.llvm.org/release-keys.asc. We recommend verifying the sources or tags before using them. The binaries can take a while to show up since they require some manual input. Third party binarie | Low | 10/15/2024 |
| llvmorg-19.1.1 | LLVM 19.1.1 Release Release announcement here: https://discourse.llvm.org/t/llvm-19-1-1-released/82321 | Low | 10/1/2024 |
| llvmorg-19.1.0 | LLVM 19.1.0 Release. Release announcement and changelog here: https://discourse.llvm.org/t/llvm-19-1-0-released/81285 # A note on binaries The binaries and sources here are created by a release manager of LLVM and should all be signed with a GnuPG key. The official public keys can be found here: https://releases.llvm.org/release-keys.asc. We recommend verifying the sources or tags before using them. The binaries can take a while to show up since they require some manual input. Thi | Low | 9/17/2024 |
| llvmorg-19.1.0-rc4 | LLVM 19.1.0-rc4 Release Read the announcement post here: https://discourse.llvm.org/t/llvm-19-1-0-rc4-released/ # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 9/3/2024 |
| llvmorg-19.1.0-rc3 | LLVM 19.1.0-rc3 Release Announcement post here: https://discourse.llvm.org/t/llvm-19-1-0-rc3-released/80802 # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 8/20/2024 |
| llvmorg-19.1.0-rc2 | LLVM 19.1.0-rc2 Release Release announcement: https://discourse.llvm.org/t/llvm-19-1-0-rc2-released | Low | 8/5/2024 |
| llvmorg-19.1.0-rc1 | LLVM 19.1.0-rc Release Release Announcement: https://discourse.llvm.org/t/llvm-19-1-0-rc1-release | Low | 7/26/2024 |
| llvmorg-18.1.8 | LLVM 18.1.8 Release # A note on binaries Volunteers make binaries for the LLVM project, which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration. | Low | 6/19/2024 |
| llvmorg-18.1.7 | LLVM 18.1.7 Release # Release Notes * Fix a regression from the 18.1.6 release, which could result in compiler crashes in the PPCMergeStringPool pass when compiling for PowerPC targets. * Fixes clang-format (since 18.1.1) regressions on breaking before a stream insertion operator (<<) when both operands are string literals. * Fixes a clang-format regression (since 17.0.6) on formatting goto labels in macro definitions. # A note on binaries Volunteers make binaries for the LLVM proj | Low | 6/6/2024 |
| llvmorg-18.1.6 | LLVM 18.1.6 Release # Release Notes * Fixes issues where LLVM is either generating the incorrect thunk for a function with aligned parameters or didn't correctly pass through the return value when StructRet was used. * `-Xclang -target-feature -Xclang +unaligned-scalar-mem` can be used to enable unaligned scalar memory accesses for CPUs that do not support unaligned vector accesses. `-mno-strict-align` will enable unaligned scalar and vector memory accesses. * Don't replace an aliasee with | Low | 5/18/2024 |
| llvmorg-18.1.5 | LLVM 18.1.5 Release # Release Notes * Fixed an incorrect type inference during RISC-V instruction selection, which causes an assertion failure when trying to fold selects into their operands. * Fixes a X86 bug introduced during LLVM18, which crashes when compiling some bit vector with AVX512. * Fixes a Clang assertion failure caused by emitting gap coverage mapping regions between statements with `<invalid sloc>`. * Fixed an issue with the counted_by attribute on a flexible array member i | Low | 5/2/2024 |
| llvmorg-18.1.4 | LLVM 18.1.4 Release # Release Notes * Fixes an issue with Arm64EC code generation where calls to some intrinsics implemented in compiler-rt used the wrong name mangling, eventually resulting in unresolved symbol errors during linking. * Fixed an incorrect poison-generating flag preservation in InstSimplify. It will fix a miscompilation on RISCV, which turns the incorrect or disjoint into an add. * Save/restore routines for RV32E/RV64E are added to compiler-rt. * Fix regressions introduc | Low | 4/17/2024 |
| llvmorg-18.1.3 | LLVM 18.1.3 Release # Release Notes * DFixes tsan failures for glibcβs LoongArch and certain RISC-V ports when fstat is used. * transform.structured.convert_to_loops now properly deletes its target op. * Fix a llvm.usub.with.overflow.i128 wrong code generation regression that was introduced with LLVM 18.1.0. * MemorySanitizer on Linux can now run even when maximum-entropy address-space layout randomization is configured globally (as is becoming increasingly common); MSan can automatical | Low | 4/4/2024 |
