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