[1.8.1] - 2024-05-28
Added
- Added support for
clang 18.0.x
Fixed
- Improve DLL search on Windows to take target architecture into account (e.g., ARM64 vs x86-64)
- Improved detection of
libclang installed with Visual Studio on Windows
[1.8.0] - 2024-05-26
Changed
- Bumped minimum supported Rust version (MSRV) to 1.60.0
- Added error logging when
CLANG_PATH set but it isn't a full path to an executable - Removed reference to
libclang 3.5 in error message for attempting to call an unsupported function
Added
- Added
libcpp Cargo feature which enables linking to libc++ instead of libstdc++ when linking to libclang statically on Linux or Haiku
Fixed
- Fixed handling of paths that contain characters that have special meaning in glob patterns (e.g.,
[ or ]) - Fixed
Clang::find to support both the -target and --target arguments when using target-prefixed clang binaries
[1.7.0] - 2023-12-31
Added
- Added support for
clang 17.0.x
[1.6.1] - 2023-03-29
Fixed
[1.6.0] - 2023-02-18
Changed
- MinGW directories are not searched for
libclang instances on Windows when compiling for an MSVC target - Bumped minimum supported Rust version (MSRV) to 1.51.0
- Changed Windows search directory preferences (
libclang instances from Visual Studio installs are now the lowest priority rather than the second highest)
[1.5.1] - 2023-02-05 (YANKED)
Changed
- MinGW directories are not searched for
libclang instances on Windows when compiling for an MSVC target
[1.5.0] - 2023-02-05 (YANKED)
Changed
- Bumped minimum supported Rust version (MSRV) to 1.51.0
- Changed Windows search directory preferences (
libclang instances from Visual Studio installs are now the lowest priority rather than the second highest)
Added
- Added additional support for
clang 16.0.x
[1.4.0] - 2022-09-22
Changed
- The value of an
EntityKind enum variant (EntityKind::CXCursor_TranslationUnit) has been updated for Clang 15.0 and later to match the breaking change made in libclang
Added
- Added support for
clang 16.0.x - Added support for
clang 15.0.x - Added support for
clang 14.0.x
[1.3.3] - 2022-05-28
Fixed
- Fixed
Clang::find to check that CLANG_PATH is an executable file before selecting it
[1.3.2] - 2022-05-18
Added
- Added support for illumos and derivatives
[1.3.1] - 2022-02-03
Added
- Added missing
clang_getToken function
[1.3.0] - 2021-10-31
Added
- Added support for
clang 13.0.x - Added support for
clang 12.0.x - Added support for the Haiku operating system
[1.2.2] - 2021-09-02
Fixed
- Fixed handling of paths that contain characters that have special meaning in glob patterns (e.g.,
[ or ])
[1.2.1] - 2021-08-24
Changed
- Updated build script to check the install location used by the Scoop command-line installer on Windows
Fixed
- Updated build script to support environments where the
PATH environment variable is not set
[1.2.0] - 2021-04-08
Changed
- Changed
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)
Fixed
- Fixed build script to split paths in environment variables (e.g.,
LD_LIBRARY_PATH) using the appropriate separator for the platform (previously : was used as the separator but some platforms such as Windows use ;)
[1.1.1] - 2021-02-19
Changed
- Bumped
libloading version to 0.7
[1.1.0] - 2021-02-09
Changed
- Added Visual Studio LLVM component directory to search paths on Windows (#121)
Added
- Added support for
clang 11.0.x
[1.0.3] - 2020-11-19
Fixed
- Fixed
Clang::find panicking when llvm-config or xcode-build don't output anything to stdout
[1.0.2] - 2020-11-17
Fixed
- Fixed
Clang::find to properly search directories returned by the llvm-config --bindir and xcodebuild -find clang commands - Improved version selection algorithm in the case where there are multiple instances of
libclang 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)
[1.0.1] - 2020-10-01
Changed
- Improved panic error message when calling an unloaded function
[1.0.0] - 2020-07-14
Changed
- Bumped
libloading version to 0.6.0 - Updated build script to not print warnings about failures to execute
llvm-config and xcode-select unless an instance of libclang is not found
Added
- Added support for
clang 10.0.x
Removed
- Removed
gte_clang_* Cargo features (these were an implementation detail)
[0.29.3] - 2020-03-31
Added
- Added ability to determine version of runtime-linked instance of
libclang
[0.29.2] - 2020-03-09
Added
- Revert unnecessary increase of minimum version of
libc and libloading
[0.29.2] - 2020-03-09
Added
- Revert unnecessary increase of minimum version of
libc and libloading
[0.29.1] - 2020-03-06
Added
- Added support for finding instances of
libclang matching libclang-*.so.*
[0.29.0] - 2020-02-17
Changed
- Wrapped function pointer fields in
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)
Added
- Added support for
clang 9.0.x - Added missing
CXCallingConv_AArch64VectorCall variant to CXCallingConv enum - Added missing
clang_CompileCommand_getNumMappedSources function
[0.28.1] - 2019-07-28
Changed
- Bumped
glob version to 0.3.0 - Improved error message when an invocation of an executable is not successful
- Allowed
LIBCLANG_PATH to refer to a specific libclang instance (e.g., /usr/local/lib/libclang.so.10)
Fixed
[0.28.0] - 2019-02-17
Changed
- Changed
llvm-config to be first search candidate on macOS
Added
- Added support for
clang 8.0.x
Removed
- Removed
assert-minimum feature - Removed version detection for libraries without versions embedded in the filename
[0.27.0] - 2019-01-10
Changed
- Added version detection for libraries without versions embedded in the filename
Added
- Added
assert-minimum feature (see README.md for details)
[0.26.4] - 2018-12-29
Changed
- Added shared library path to
SharedLibrary struct
[0.26.3] - 2018-11-14
Changed
- Disable default features of
libc dependency
[0.26.2] - 2018-11-03
Fixed
- Fixed dynamic linking on macOS
[0.26.1] - 2018-10-10
Fixed
- Fixed support for finding libraries in
bin directories on Windows
[0.26.0] - 2018-10-07
Changed
- Added support for finding libraries with version suffixes on Linux when using runtime linking (e.g.,
libclang.so.1)
[0.25.0] - 2018-10-06
Changed
- Added support for versioned libraries on BSDs
[0.24.0] - 2018-09-15
Changed
- Reworked finding of libraries (see
README.md for details)
Added
- Added support for
clang 7.0.x
[0.23.0] - 2018-06-16
Changed
- Changed
Clang::find to skip dynamic libraries for an incorrect architecture on Windows
[0.22.0] - 2018-03-11
Added
- Added support for
clang 6.0.x - Bumped
libc version to 0.2.39 - Bumped
libloading version to 0.5.0
[0.21.2] - 2018-02-17
Changed
- Added original errors to error messages
- Added support for searching for libraries in
LD_LIBRARY_PATH directories
[0.21.1] - 2017-11-24
Changed
- Improved finding of versioned libraries (e.g.,
libclang-3.9.so)
Fixed
- Fixed compilation failures on the beta and nightly channels caused by a compiler bug
[0.21.0] - 2017-10-11
Changed
- Replaced
bitflags usage with constants which avoids crashes on 32-bit Linux platforms
[0.20.1] - 2017-09-16
Fixed
[0.20.0] - 2017-09-14
Added
- Added support for
clang 5.0.x - Added
clang as a link target of this package - Added dummy implementations of
is_loaded for builds with the static Cargo feature enabled
[0.19.0] - 2017-07-02
Changed
- Bumped
bitflags version to 0.9.1 - Added
args parameter to Clang::new function which passes arguments to the Clang executable
[0.18.0] - 2017-05-16
Changed
- Improved finding of versioned libraries (e.g.,
libclang.so.3.9)
[0.17.0] - 2017-05-08
Changed
- Changed storage type of include search paths from
Vec<PathBuf> to Option<Vec<PathBuf>>
[0.16.0] - 2017-05-02
Changed
- Bumped
libloading version to 0.4.0
[0.15.2] - 2017-04-28
Fixed
- Fixed finding of
libclang.so.1 on Linux
[0.15.1] - 2017-03-29
Fixed
[0.15.0] - 2017-03-13
Added
- Added support for
clang 4.0.x
Changed
- Changed functions in the
Functions struct to be unsafe (runtime feature only) - Changed
Clang::find method to ignore directories and non-executable files - Changed
Clang::find to skip dynamic libraries for an incorrect architecture on FreeBSD and Linux - Bumped
bitflags version to 0.7.0
[0.14.0] - 2017-01-30
Changed
- Changed all enum types from tuple structs to raw integers to avoid segmentation faults on some platforms
[0.13.0] - 2017-01-29
Changed
- Changed all opaque pointers types from tuple structs to raw pointers to avoid segmentation faults on some platforms
[0.12.0] - 2016-12-13
Changed
- Altered the runtime linking API to allow for testing the presence of functions
[0.11.1] - 2016-12-07
Added
- Added support for linking to Clang on Windows from unofficial LLVM sources such as MSYS and MinGW
[0.11.0] - 2016-10-07
Changed
[0.10.1] - 2016-08-21
Changed
- Changed static linking on FreeBSD and macOS to link against
libc++ instead of libstd++
[0.10.0] - 2016-08-01
Changed
- Added
runtime Cargo feature that links to libclang shared library at runtime - Added
from_raw method to CXTypeLayoutError enum - Added implementations of
Deref for opaque FFI structs - Changed
Default implementations for structs to zero out the struct
[0.9.0] - 2016-07-21
Added
- Added documentation bindings
[0.8.1] - 2016-07-20
Changed
- Added
CLANG_PATH environment variable for providing a path to clang executable - Added usage of
llvm-config to search for clang - Added usage of
xcodebuild to search for clang on macOS
[0.8.0] - 2016-07-18
Added
- Added support for
clang 3.9.x
Changed
- Bumped
libc version to 0.2.14
Fixed
- Fixed
LIBCLANG_PATH usage on Windows to search both the bin and lib directories - Fixed search path parsing on macOS
- Fixed search path parsing on Windows
- Fixed default search path ordering on macOS
[0.7.2] - 2016-06-17
Fixed
- Fixed finding of
clang executables when system has executables matching clang-* (e.g., clang-format)
[0.7.1] - 2016-06-10
Changed
- Bumped
libc version to 0.2.12
Fixed
- Fixed finding of
clang executables suffixed by their version (e.g., clang-3.5)
[0.7.0] - 2016-05-31
Changed
- Changed
Clang struct version field type to Option<CXVersion>
[0.6.0] - 2016-05-26
Added
Fixed
- Fixed
libclang linking on FreeBSD - Fixed
libclang linking on Windows with the MSVC toolchain - Improved
libclang static linking
[0.5.4] - 20160-5-19
Changed
- Added implementations of
Default for FFI structs
[0.5.3] - 2016-05-17
Changed
- Bumped
bitflags version to 0.7.0
[0.5.2] - 2016-05-12
Fixed
- Fixed
libclang static linking
[0.5.1] - 2016-05-10
Fixed
- Fixed
libclang linking on macOS - Fixed
libclang linking on Windows
[0.5.0] - 2016-05-10
Removed
- Removed
rustc_version dependency - Removed support for
LIBCLANG_STATIC environment variable
Changed
- Bumped
bitflags version to 0.6.0 - Bumped
libc version to 0.2.11 - Improved
libclang search path - Improved
libclang static linking
[0.4.2] - 2016-04-20
Changed
- Bumped
libc version to 0.2.10
[0.4.1] - 2016-04-02
Changed
- Bumped
libc version to 0.2.9 - Bumped
rustc_version version to 0.1.7
[0.4.0] - 2016-03-28
Removed
- Removed support for
clang 3.4.x
[0.3.1] - 2016-03-21
Added
- Added support for finding
libclang
[0.3.0] - 2016-03-16
Removed
- Removed build system types and functions
Added
- Added support for
clang 3.4.x
Changed
- Bumped
bitflags version to 0.5.0 - Bumped
libc version to 0.2.8
[0.2.1] - 2016-02-13
Changed
- Simplified internal usage of conditional compilation
- Bumped
bitflags version to 0.4.0 - Bumped
libc version to 0.2.7 - Bumped
rustc_version version to 0.1.6
[0.2.0] - 2016-02-12
Added
- Added support for
clang 3.8.x
[0.1.2] - 2015-12-29
Added
- Added derivations of
Debug for FFI structs
[0.1.1] - 2015-12-26
Added
- Added derivations of
PartialOrd and Ord for FFI enums
[0.1.0] - 2015-12-22