[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

  • Fixed static linking

[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

  • Added support module

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

  • Initial release