1## [1.4.0] - 2022-09-22 2 3### Changed 4- The value of an `EntityKind` enum variant 5(`EntityKind::CXCursor_TranslationUnit`) has been updated for Clang 15.0 and 6later to match the 7[breaking change made in `libclang`](https://github.com/llvm/llvm-project/commit/bb83f8e70bd1d56152f02307adacd718cd67e312#diff-674613a0e47f4e66cc19061e28e3296d39be2d124dceefb68237b30b8e241e7c) 8 9### Added 10- Added support for `clang` 16.0.x 11- Added support for `clang` 15.0.x 12- Added support for `clang` 14.0.x 13 14## [1.3.3] - 2022-05-28 15 16### Fixed 17- Fixed `Clang::find` to check that `CLANG_PATH` is an executable file before 18selecting it 19 20## [1.3.2] - 2022-05-18 21 22### Added 23- Added support for illumos and derivatives 24 25## [1.3.1] - 2022-02-03 26 27### Added 28- Added missing `clang_getToken` function 29 30## [1.3.0] - 2021-10-31 31 32### Added 33- Added support for `clang` 13.0.x 34- Added support for `clang` 12.0.x 35- Added support for the Haiku operating system 36 37## [1.2.2] - 2021-09-02 38 39### Fixed 40- Fixed handling of paths that contain characters that have special meaning in 41glob patterns (e.g., `[` or `]`) 42 43## [1.2.1] - 2021-08-24 44 45### Changed 46- Updated build script to check the install location used by the 47[Scoop](https://scoop.sh/) command-line installer on Windows 48 49### Fixed 50- Updated build script to support environments where the `PATH` environment 51variable is not set 52 53## [1.2.0] - 2021-04-08 54 55### Changed 56- Changed `Clang::find` to prefer target-prefixed binaries when a `-target` 57argument is provided (e.g., if the arguments `-target` and 58`x86_64-unknown-linux-gnu` are provided, a target-prefixed Clang executable 59such as `x86_64-unknown-linux-gnu-clang` will be preferred over a non-target 60prefixed Clang executable) 61 62### Fixed 63- Fixed build script to split paths in environment variables (e.g., 64`LD_LIBRARY_PATH`) using the appropriate separator for the platform (previously 65`:` was used as the separator but some platforms such as Windows use `;`) 66 67## [1.1.1] - 2021-02-19 68 69### Changed 70- Bumped `libloading` version to `0.7` 71 72## [1.1.0] - 2021-02-09 73 74### Changed 75- Added Visual Studio LLVM component directory to search paths on Windows 76([#121](https://github.com/KyleMayes/clang-sys/issues/121)) 77 78### Added 79- Added support for `clang` 11.0.x 80 81## [1.0.3] - 2020-11-19 82 83### Fixed 84- Fixed `Clang::find` panicking when `llvm-config` or `xcode-build` don't output anything to `stdout` 85 86## [1.0.2] - 2020-11-17 87 88### Fixed 89- Fixed `Clang::find` to properly search directories returned by the 90`llvm-config --bindir` and `xcodebuild -find clang` commands 91- Improved version selection algorithm in the case where there are multiple 92instances of `libclang` with the highest version found; previously the lowest 93priority instance would be selected instead of the highest priority instance 94(e.g., the versions found by searching the fallback directories were preferred 95over the versions found by searching the `llvm-config --prefix` directory) 96 97## [1.0.1] - 2020-10-01 98 99### Changed 100- Improved panic error message when calling an unloaded function 101 102## [1.0.0] - 2020-07-14 103 104### Changed 105- Bumped `libloading` version to `0.6.0` 106- Updated build script to not print warnings about failures to execute 107`llvm-config` and `xcode-select` unless an instance of `libclang` is not found 108 109### Added 110- Added support for `clang` 10.0.x 111 112### Removed 113- Removed `gte_clang_*` Cargo features (these were an implementation detail) 114 115## [0.29.3] - 2020-03-31 116 117### Added 118- Added ability to determine version of runtime-linked instance of `libclang` 119 120## [0.29.2] - 2020-03-09 121 122### Added 123- Revert unnecessary increase of minimum version of `libc` and `libloading` 124 125## [0.29.2] - 2020-03-09 126 127### Added 128- Revert unnecessary increase of minimum version of `libc` and `libloading` 129 130## [0.29.1] - 2020-03-06 131 132### Added 133- Added support for finding instances of `libclang` matching `libclang-*.so.*` 134 135## [0.29.0] - 2020-02-17 136 137### Changed 138- Wrapped function pointer fields in `Option` in the `CXCursorAndRangeVisitor` 139and `IndexerCallbacks` structs (to permit nullability and to avoid undefined 140behavior caused by `Default` implementations for these structs which returns a 141zeroed value) 142 143### Added 144- Added support for `clang` 9.0.x 145- Added missing `CXCallingConv_AArch64VectorCall` variant to `CXCallingConv` enum 146- Added missing `clang_CompileCommand_getNumMappedSources` function 147 148## [0.28.1] - 2019-07-28 149 150### Changed 151- Bumped `glob` version to `0.3.0` 152- Improved error message when an invocation of an executable is not successful 153- Allowed `LIBCLANG_PATH` to refer to a specific `libclang` instance (e.g., 154 `/usr/local/lib/libclang.so.10`) 155 156### Fixed 157- Fixed 158 [`libclang-cpp`](https://github.com/llvm-mirror/clang/commit/90d6722bdcbc2af52306f7e948c556ad6185ac48) 159 being linked instead of `libclang` 160 161## [0.28.0] - 2019-02-17 162 163### Changed 164- Changed `llvm-config` to be first search candidate on macOS 165 166### Added 167- Added support for `clang` 8.0.x 168 169### Removed 170- Removed `assert-minimum` feature 171- Removed version detection for libraries without versions embedded in the filename 172 173## [0.27.0] - 2019-01-10 174 175### Changed 176- Added version detection for libraries without versions embedded in the filename 177 178### Added 179- Added `assert-minimum` feature (see `README.md` for details) 180 181## [0.26.4] - 2018-12-29 182 183### Changed 184- Added shared library path to `SharedLibrary` struct 185 186## [0.26.3] - 2018-11-14 187 188### Changed 189- Disable default features of `libc` dependency 190 191## [0.26.2] - 2018-11-03 192 193### Fixed 194- Fixed dynamic linking on macOS 195 196## [0.26.1] - 2018-10-10 197 198### Fixed 199- Fixed support for finding libraries in `bin` directories on Windows 200 201## [0.26.0] - 2018-10-07 202 203### Changed 204- Added support for finding libraries with version suffixes on Linux when using runtime linking (e.g., `libclang.so.1`) 205 206## [0.25.0] - 2018-10-06 207 208### Changed 209- Added support for versioned libraries on BSDs 210 211## [0.24.0] - 2018-09-15 212 213### Changed 214- Reworked finding of libraries (see `README.md` for details) 215 216### Added 217- Added support for `clang` 7.0.x 218 219## [0.23.0] - 2018-06-16 220 221### Changed 222- Changed `Clang::find` to skip dynamic libraries for an incorrect architecture on Windows 223 224## [0.22.0] - 2018-03-11 225 226### Added 227- Added support for `clang` 6.0.x 228- Bumped `libc` version to `0.2.39` 229- Bumped `libloading` version to `0.5.0` 230 231## [0.21.2] - 2018-02-17 232 233### Changed 234- Added original errors to error messages 235- Added support for searching for libraries in `LD_LIBRARY_PATH` directories 236 237## [0.21.1] - 2017-11-24 238 239### Changed 240- Improved finding of versioned libraries (e.g., `libclang-3.9.so`) 241 242### Fixed 243* Fixed compilation failures on the beta and nightly channels caused by a [compiler bug](https://github.com/KyleMayes/clang-sys/pull/69) 244 245## [0.21.0] - 2017-10-11 246 247### Changed 248* Replaced `bitflags` usage with constants which avoids crashes on 32-bit Linux platforms 249 250## [0.20.1] - 2017-09-16 251 252### Fixed 253- Fixed static linking 254 255## [0.20.0] - 2017-09-14 256 257### Added 258- Added support for `clang` 5.0.x 259- Added `clang` as a link target of this package 260- Added dummy implementations of `is_loaded` for builds with the `static` Cargo feature enabled 261 262## [0.19.0] - 2017-07-02 263 264### Changed 265- Bumped `bitflags` version to `0.9.1` 266- Added `args` parameter to `Clang::new` function which passes arguments to the Clang executable 267 268## [0.18.0] - 2017-05-16 269 270### Changed 271- Improved finding of versioned libraries (e.g., `libclang.so.3.9`) 272 273## [0.17.0] - 2017-05-08 274 275### Changed 276- Changed storage type of include search paths from `Vec<PathBuf>` to `Option<Vec<PathBuf>>` 277 278## [0.16.0] - 2017-05-02 279 280### Changed 281- Bumped `libloading` version to `0.4.0` 282 283## [0.15.2] - 2017-04-28 284 285### Fixed 286- Fixed finding of `libclang.so.1` on Linux 287 288## [0.15.1] - 2017-03-29 289 290### Fixed 291- Fixed static linking when libraries are in [different directories](https://github.com/KyleMayes/clang-sys/issues/50) 292 293## [0.15.0] - 2017-03-13 294 295### Added 296- Added support for `clang` 4.0.x 297 298### Changed 299- Changed functions in the `Functions` struct to be `unsafe` (`runtime` feature only) 300- Changed `Clang::find` method to ignore directories and non-executable files 301- Changed `Clang::find` to skip dynamic libraries for an incorrect architecture on FreeBSD and Linux 302- Bumped `bitflags` version to `0.7.0` 303 304## [0.14.0] - 2017-01-30 305 306### Changed 307- Changed all enum types from tuple structs to raw integers to avoid 308 [segmentation faults](https://github.com/rust-lang/rust/issues/39394) on some platforms 309 310## [0.13.0] - 2017-01-29 311 312### Changed 313- Changed all opaque pointers types from tuple structs to raw pointers to avoid 314 [segmentation faults](https://github.com/rust-lang/rust/issues/39394) on some platforms 315 316## [0.12.0] - 2016-12-13 317 318### Changed 319- Altered the runtime linking API to allow for testing the presence of functions 320 321## [0.11.1] - 2016-12-07 322 323### Added 324- Added support for linking to Clang on Windows from unofficial LLVM sources such as MSYS and MinGW 325 326## [0.11.0] - 2016-10-07 327 328### Changed 329- Changed all enums from Rust enums to typed constants to avoid 330 [undefined behavior](https://github.com/KyleMayes/clang-sys/issues/42) 331 332## [0.10.1] - 2016-08-21 333 334### Changed 335- Changed static linking on FreeBSD and macOS to link against `libc++` instead of `libstd++` 336 337## [0.10.0] - 2016-08-01 338 339### Changed 340- Added `runtime` Cargo feature that links to `libclang` shared library at runtime 341- Added `from_raw` method to `CXTypeLayoutError` enum 342- Added implementations of `Deref` for opaque FFI structs 343- Changed `Default` implementations for structs to zero out the struct 344 345## [0.9.0] - 2016-07-21 346 347### Added 348- Added documentation bindings 349 350## [0.8.1] - 2016-07-20 351 352### Changed 353- Added `CLANG_PATH` environment variable for providing a path to `clang` executable 354- Added usage of `llvm-config` to search for `clang` 355- Added usage of `xcodebuild` to search for `clang` on macOS 356 357## [0.8.0] - 2016-07-18 358 359### Added 360- Added support for `clang` 3.9.x 361 362### Changed 363- Bumped `libc` version to `0.2.14` 364 365### Fixed 366- Fixed `LIBCLANG_PATH` usage on Windows to search both the `bin` and `lib` directories 367- Fixed search path parsing on macOS 368- Fixed search path parsing on Windows 369- Fixed default search path ordering on macOS 370 371## [0.7.2] - 2016-06-17 372 373### Fixed 374- Fixed finding of `clang` executables when system has executables matching `clang-*` 375 (e.g., `clang-format`) 376 377## [0.7.1] - 2016-06-10 378 379### Changed 380- Bumped `libc` version to `0.2.12` 381 382### Fixed 383- Fixed finding of `clang` executables suffixed by their version (e.g., `clang-3.5`) 384 385## [0.7.0] - 2016-05-31 386 387### Changed 388- Changed `Clang` struct `version` field type to `Option<CXVersion>` 389 390## [0.6.0] - 2016-05-26 391 392### Added 393- Added `support` module 394 395### Fixed 396- Fixed `libclang` linking on FreeBSD 397- Fixed `libclang` linking on Windows with the MSVC toolchain 398- Improved `libclang` static linking 399 400## [0.5.4] - 20160-5-19 401 402### Changed 403- Added implementations of `Default` for FFI structs 404 405## [0.5.3] - 2016-05-17 406 407### Changed 408- Bumped `bitflags` version to `0.7.0` 409 410## [0.5.2] - 2016-05-12 411 412### Fixed 413- Fixed `libclang` static linking 414 415## [0.5.1] - 2016-05-10 416 417### Fixed 418- Fixed `libclang` linking on macOS 419- Fixed `libclang` linking on Windows 420 421## [0.5.0] - 2016-05-10 422 423### Removed 424- Removed `rustc_version` dependency 425- Removed support for `LIBCLANG_STATIC` environment variable 426 427### Changed 428- Bumped `bitflags` version to `0.6.0` 429- Bumped `libc` version to `0.2.11` 430- Improved `libclang` search path 431- Improved `libclang` static linking 432 433## [0.4.2] - 2016-04-20 434 435### Changed 436- Bumped `libc` version to `0.2.10` 437 438## [0.4.1] - 2016-04-02 439 440### Changed 441- Bumped `libc` version to `0.2.9` 442- Bumped `rustc_version` version to `0.1.7` 443 444## [0.4.0] - 2016-03-28 445 446### Removed 447- Removed support for `clang` 3.4.x 448 449## [0.3.1] - 2016-03-21 450 451### Added 452- Added support for finding `libclang` 453 454## [0.3.0] - 2016-03-16 455 456### Removed 457- Removed build system types and functions 458 459### Added 460- Added support for `clang` 3.4.x 461 462### Changed 463- Bumped `bitflags` version to `0.5.0` 464- Bumped `libc` version to `0.2.8` 465 466## [0.2.1] - 2016-02-13 467 468### Changed 469- Simplified internal usage of conditional compilation 470- Bumped `bitflags` version to `0.4.0` 471- Bumped `libc` version to `0.2.7` 472- Bumped `rustc_version` version to `0.1.6` 473 474## [0.2.0] - 2016-02-12 475 476### Added 477- Added support for `clang` 3.8.x 478 479## [0.1.2] - 2015-12-29 480 481### Added 482- Added derivations of `Debug` for FFI structs 483 484## [0.1.1] - 2015-12-26 485 486### Added 487- Added derivations of `PartialOrd` and `Ord` for FFI enums 488 489## [0.1.0] - 2015-12-22 490- Initial release 491