NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #385 most downloaded on crates.io
Rust bindings for libclang.
Last release 2 months ago
29 Jul 2026
Release timing varies
gaps range from 1 weeks to 1.8 years
Nearly every release is documented
notes for 59 of the last 60 stable releases
7 versions withdrawn
withdrawn after publishing
11 years old
85 releases · first in 2015
Search for libraries in LIBRARY_PATH in addition to LD_LIBRARY_PATH .
clang 19.0.xclang 20.0.xLIBRARY_PATH in addition to LD_LIBRARY_PATH.Added --link-static flag when listing static libraries to link to
--link-static flag when listing static libraries to link toOne column per quarter.
Improved Clang::find to first check directories related to the runtime-loaded libclang instance (if any)
Clang::find to first check directories related to the runtime-loaded libclang instance (if any)libclang on Windows with MSYS2Clang::find to support both the -target and --target argumentsclang binariesImprove DLL search on Windows to take target architecture into account (e.g., ARM64 vs x86-64)
clang 18.0.xlibclang installed with Visual Studio on WindowsBumped minimum supported Rust version (MSRV) to 1.60.0
CLANG_PATH set but it isn't a full path to an executablelibclang 3.5 in error message for attempting to call an unsupported functionlibcpp Cargo feature which enables linking to libc++ instead of libstdc++ when linking to libclang statically on Linux or Haiku[ or ])Clang::find to support both the -target and --target argumentsclang binariesAdded Added support for clang 17.0.x
clang 17.0.xImproved error message when calling a libclang function that is not supported by the loaded libclang instance ( rust-lang/rust-bindgen#2446 )
libclang function that is not supported by the loaded libclang instance (rust-lang/rust-bindgen#2446)MinGW directories are not searched for libclang instances on Windows when compiling for an MSVC target
libclang instances on Windows whenlibclang instances fromMinGW directories are not searched for libclang instances on Windows when compiling for an MSVC target
libclang instances on Windows when
compiling for an MSVC targetBumped minimum supported Rust version (MSRV) to 1.51.0
libclang instances from
Visual Studio installs are now the lowest priority rather than the second
highest)clang 16.0.x…updated for Clang 15.0 and later to match the breaking change made in `libclang`
EntityKind enum variant
(EntityKind::CXCursor_TranslationUnit) has been updated for Clang 15.0 and
later to match the
breaking change made in libclangclang 16.0.xclang 15.0.xclang 14.0.xFixed Clang::find to check that CLANG_PATH is an executable file before selecting it
Clang::find to check that CLANG_PATH is an executable file before
selecting itAdded support for illumos and derivatives
Added missing clang_getToken function
clang_getToken functionAdded support for the Haiku operating system
clang 13.0.xclang 12.0.xFixed handling of paths that contain characters that have special meaning in glob patterns (e.g., [ or ])
[ or ])Updated build script to check the install location used by the Scoop command-line installer on Windows
PATH environment
variable is not setChanged Clang::find to prefer target-prefixed binaries when a -target argument is provided (e.g., if the arguments -target and x86_64-unknown-linux-gn
Clang::find to prefer target-prefixed binaries when a -target
argument is provided (e.g., if the arguments -target and
x86_64-unknown-linux-gnu are provided, a target-prefixed Clang executable
such as x86_64-unknown-linux-gnu-clang will be preferred over a non-target
prefixed Clang executable)LD_LIBRARY_PATH) using the appropriate separator for the platform (previously
: was used as the separator but some platforms such as Windows use ;)Bumped libloading version to 0.7
libloading version to 0.7Added Visual Studio LLVM component directory to search paths on Windows
clang 11.0.xFixed Clang::find panicking when llvm-config or xcode-build don't output anything to stdout
Clang::find panicking when llvm-config or xcode-build don't output anything to stdoutFixed Clang::find to properly search directories returned by the llvm-config --bindir and xcodebuild -find clang commands
Clang::find to properly search directories returned by the
llvm-config --bindir and xcodebuild -find clang commandslibclang with the highest version found; previously the lowest
priority instance would be selected instead of the highest priority instance
(e.g., the versions found by searching the fallback directories were preferred
over the versions found by searching the llvm-config --prefix directory)Improved panic error message when calling an unloaded function
Bumped libloading version to 0.6.0
libloading version to 0.6.0llvm-config and xcode-select unless an instance of libclang is not foundclang 10.0.xgte_clang_* Cargo features (these were an implementation detail)Nothing published for this version
Added ability to determine version of runtime-linked instance of libclang
libclangRevert unnecessary increase of minimum version of libc and libloading
libc and libloadingAdded support for finding instances of libclang matching libclang-*.so.*
libclang matching libclang-*.so.*Wrapped function pointer fields in Option in the CXCursorAndRangeVisitor and IndexerCallbacks structs (to permit nullability and to avoid undefined be
Option in the CXCursorAndRangeVisitor
and IndexerCallbacks structs (to permit nullability and to avoid undefined
behavior caused by Default implementations for these structs which returns a
zeroed value)clang 9.0.xCXCallingConv_AArch64VectorCall variant to CXCallingConv enumclang_CompileCommand_getNumMappedSources functionNothing published for this version
Improved error message when an invocation of an executable is not successful
glob version to 0.3.0LIBCLANG_PATH to refer to a specific libclang instance (e.g.,
/usr/local/lib/libclang.so.10)libclang-cpp
being linked instead of libclangChanged llvm-config to be first search candidate on macOS
llvm-config to be first search candidate on macOSclang 8.0.xassert-minimum featureNothing published for this version
Added version detection for libraries without versions embedded in the filename
assert-minimum feature (see README.md for details)Added shared library path to SharedLibrary struct
SharedLibrary structDisable default features of libc dependency
libc dependency### Fixed - Fixed dynamic linking on macOS
Fixed support for finding libraries in bin directories on Windows
bin directories on WindowsAdded support for finding libraries with version suffixes on Linux when using runtime linking (e.g., libclang.so.1)
libclang.so.1)Added support for versioned libraries on BSDs
Reworked finding of libraries (see README.md for details)
README.md for details)clang 7.0.xChanged Clang::find to skip dynamic libraries for an incorrect architecture on Windows
Clang::find to skip dynamic libraries for an incorrect architecture on WindowsBumped libloading version to 0.5.0
clang 6.0.xlibc version to 0.2.39libloading version to 0.5.0Added original errors to error messages
LD_LIBRARY_PATH directoriesImproved finding of versioned libraries (e.g., libclang-3.9.so)
libclang-3.9.so)Replaced bitflags usage with constants which avoids crashes on 32-bit Linux platforms
bitflags usage with constants which avoids crashes on 32-bit Linux platforms### Fixed - Fixed static linking
Added clang as a link target of this package
clang 5.0.xclang as a link target of this packageis_loaded for builds with the static Cargo feature enabledBumped bitflags version to 0.9.1
bitflags version to 0.9.1args parameter to Clang::new function which passes arguments to the Clang executableImproved finding of versioned libraries (e.g., libclang.so.3.9)
libclang.so.3.9)Changed storage type of include search paths from Vec to Option >
Vec<PathBuf> to Option<Vec<PathBuf>>Bumped libloading version to 0.4.0
libloading version to 0.4.0Fixed finding of libclang.so.1 on Linux
libclang.so.1 on LinuxFixed static linking when libraries are in different directories
Changed functions in the Functions struct to be unsafe (runtime feature only)
clang 4.0.xFunctions struct to be unsafe (runtime feature only)Clang::find method to ignore directories and non-executable filesClang::find to skip dynamic libraries for an incorrect architecture on FreeBSD and Linuxbitflags version to 0.7.0Nothing published for this version
Changed all enum types from tuple structs to raw integers to avoid segmentation faults on some platforms
Changed all opaque pointers types from tuple structs to raw pointers to avoid segmentation faults on some platforms
Altered the runtime linking API to allow for testing the presence of functions
Added support for linking to Clang on Windows from unofficial LLVM sources such as MSYS and MinGW
Your coding agent can read these notes before it upgrades. Set up the MCP server →