For new LLVM major versions:
* [ ] Diff llvm/include/llvm-c/ between previous and current release.
This requires a local repo that's in sync with the remote, and tags
will be needed. A bare repository is fine, however.
```
git clone --mirror https://github.com/llvm/llvm-project.git
git diff llvmorg-9.0.0 llvmorg-10.0.0 -- llvm/include/llvm-c/
```
Apply matching changes to Rust bindings.
* [ ] Update `links` key in Cargo.toml for new LLVM version
* [ ] Update usage example in README.md for new crate version
* [ ] Update CI to refer to new version
* [ ] That includes an update of `RUSTC_COMMIT` variable to reference a
commit in github.com/rust-lang/rust providing the new LLVM version.
It can be determined using `./scripts/rustc-commit.sh`. If preferred,
it can be also checked in a local Rust repository clone:
```
git clone --mirror https://github.com/rust-lang/rust.git
git log --oneline --grep=LLVM --grep=$LLVM_VERSION main -- .gitmodules
```
For all versions:
* [ ] Update `version` key in Cargo.toml for new crate version
* [ ] Commit changes
* [ ] Tag new version; `git tag v100.1.0`
* [ ] Update latest branch to follow master: `git branch -f llvm-10.0 master`
* [ ] Test and publish
* [ ] Push changes and tags; `git push --all && git push --tags`