PackageTrack
Sign in Get early access

clang

A somewhat idiomatic Rust wrapper for libclang.

2.1.0 5.8M downloads/mo #4226 most downloaded on crates.io KyleMayes/clang-rs

What this package is like to depend on

Last release 25 days ago

29 Jul 2026

Ships unpredictably

gaps range from 5 weeks to 4.2 years

Nearly every release is documented

notes for 49 of 49 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

49 releases · first in 2015

1 release in the last 12 months

see the full history below

Release timeline

49 releases · Dec 2015 to Jul 2026
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 49
  1. 2.1.0 29 Jul 2026
    Release notes

    Changed

    • Allowed panics to properly propagate through FFI boundaries.
    • Bump MSRV to 1.71.

    Fixed

    • Removed an allocation from Entity::visit_children.
    • Fixed passing null pointer to from_raw_parts in SourceRange::tokenize.
    • Lossily convert strings (to avoid panics on invalid UTF-8).
    Open source →
    Release notes

    Changed

    • Allowed panics to properly propagate through FFI boundaries.
    • Bump MSRV to 1.71.

    Fixed

    • Removed an allocation from Entity::visit_children.
    • Fixed passing null pointer to from_raw_parts in SourceRange::tokenize.
    • Lossily convert strings (to avoid panics on invalid UTF-8).
    Open source →
  2. 2.0.0 18 May 2022
    Release notes

    Changed

    • Made Clang struct impossible to construct directly
    • Disabled Send and Sync for Clang struct
    • Make y and z components of Version struct optional

    Fixed

    • Fix null check for Version struct to only check sign of major version
    Open source →
  3. 1.0.3 29 Nov 2020
    Release notes

    Fixed

    • Fixed token annotation (TranslationUnit::annotate) not returning correct results
    Open source →
  4. 1.0.2 02 Oct 2020
    Release notes

    Fixed

    • Fixed stack overflow caused by displaying errors
    Open source →
  5. 1.0.1 16 Aug 2020
    Release notes

    Fixed

    • Fixed double free caused by Entity::get_platform_availability
    Open source →
  6. 1.0.0 08 Aug 2020
    Release notes

    Removed

    • Removed gte_clang_* Cargo features (these were an implementation detail)

    Added

    • Added support for clang 10.0.x

    Changed

    • Bumped clang-sys version to 1
    Open source →
  7. 0.24.0 01 Jul 2020
    Release notes

    Fixed

    • Fixed undefined behavior caused by transmuting unsupported C enum values into Rust enum values
    • Fixed warnings about usage of deprecated std::mem::uninitialized function

    Added

    • Added support for clang 9.0.x

    Changed

    • Added error conditions to CursorKind enum
    Open source →
  8. 0.23.0 07 Sep 2019
    Release notes

    Fixed

    • Fixed warnings on recent versions of the Rust compiler

    Added

    • Added support for compilation databases
    Open source →
  9. 0.22.1 16 Jul 2019
    Release notes

    Fixed

    • Fixed Entity::is_function_like_macro calling the wrong libclang function
    Open source →
  10. 0.22.0 21 Apr 2019
    Release notes

    Added

    • Added partial support for clang 7.0.x / 8.0.x

    Changed

    • Bumped clang-sys version to 0.28.0
    Open source →
  11. 0.21.0 17 Feb 2019
    Release notes

    Changed

    • Bumped clang-sys version to 0.26.4
    Open source →
  12. 0.20.0 16 Jun 2018
    Release notes

    Changed

    • Bumped clang-sys version to 0.23.0
    Open source →
  13. 0.19.0 12 Mar 2018
    Release notes

    Added

    • Added support for clang 6.0.x

    Changed

    • Bumped lazy_static version to 1.0.0
    • Bumped libc version to 0.2.39
    Open source →
  14. 0.18.0 17 Feb 2018
    Release notes

    Added

    • Added Entity::get_result_type method

    Changed

    • Bumped clang-sys version to 0.21.1
    Open source →
  15. 0.17.0 16 Sep 2017
    Release notes

    Added

    • Added support for clang 5.0.x

    Changed

    • Bumped clang-sys version to 0.20.1
    Open source →
  16. 0.16.0 14 Mar 2017
    Release notes

    Added

    • Added support for clang 4.0.x

    Changed

    • Renamed EvaluationResult::Integer variant to SignedInteger
    Open source →
  17. 0.15.0 16 Feb 2017
    Release notes

    Added

    • Added assertions that pointers returned from libclang functions are non-null

    Changed

    • Bumped clang-sys version to 0.14.0
    • Changed the type of the file field in the Location struct from File to Option<File>
    Open source →
  18. 0.14.1 30 Jan 2017
    Release notes

    Changed

    • Bumped clang-sys version to 0.13.0
    Open source →
  19. 0.14.0 01 Nov 2016
    Release notes

    Added

    • Added children to comment parameters
    Open source →
  20. 0.13.0 07 Oct 2016
    Release notes

    Changed

    • Removed feature gates for CallingConvention, EntityKind, and TypeKind variants
    • Bumped clang-sys version to 0.11.0
    • Bumped libc version to 0.2.16
    Open source →
  21. 0.12.0 01 Aug 2016
    Release notes

    Changed

    • Added runtime Cargo feature that links to libclang shared library at runtime
    Open source →
  22. 0.11.0 22 Jul 2016
    Release notes

    Added

    • Added documentation module

    Changed

    • Bumped clang-sys version to 0.9.0
    Open source →
  23. 0.10.0 20 Jul 2016
    Release notes

    Added

    • Added support for clang 3.9.x
    • Added Entity::get_child method

    Changed

    • Bumped clang-sys version to 0.8.0
    • Bumped libc version to 0.2.14
    Open source →
  24. 0.9.5 14 Jul 2016
    Release notes

    Fixed

    • Fixed usage of clang 3.9.x binaries
    Open source →
  25. 0.9.4 18 Jun 2016
    Release notes

    Added

    • Added implementation of std::cmp::PartialOrd for Diagnostic struct

    Changed

    • Bumped clang-sys version to 0.7.2
    Open source →
  26. 0.9.3 27 May 2016
    Release notes

    Changed

    • Bumped clang-sys version to 0.6.0
    Open source →
  27. 0.9.2 20 May 2016
    Release notes

    Changed

    • Bumped clang-sys version to 0.5.4
    Open source →
  28. 0.9.1 18 May 2016
    Release notes

    Changed

    • Bumped clang-sys version to 0.5.3
    Open source →
  29. 0.9.0 14 May 2016
    Release notes

    Added

    • Added location functions to Entity struct

    Changed

    • Changed sonar module interface to use iterators
    Open source →
  30. 0.8.2 14 May 2016
    Release notes

    Changed

    • Bumped clang-sys version to 0.5.2
    Open source →
  31. 0.8.1 11 May 2016
    Release notes

    Changed

    • Bumped clang-sys version to 0.5.1
    Open source →
  32. 0.8.0 10 May 2016
    Release notes

    Changed

    • Bumped clang-sys version to 0.5.0
    • Bumped lazy_static version to 0.2.1
    • Bumped libc version to 0.2.11
    Open source →
  33. 0.7.3 21 Apr 2016
    Release notes

    Fixed

    • Fixed sonar module handling of record typedefs

    Changed

    • Bumped clang-sys version to 0.4.2
    • Bumped lazy_static version to 0.2.0
    • Bumped libc version to 0.2.10
    Open source →
  34. 0.7.2 06 Apr 2016
    Release notes

    Fixed

    • Removed println! in sonar module

    Changed

    • Changed Parser::arguments parameter type
    Open source →
  35. 0.7.1 04 Apr 2016
    Release notes

    Fixed

    • Fixed panic in sonar module when encountering certain kinds of typedefs
    Open source →
  36. 0.7.0 04 Apr 2016
    Release notes

    Changed

    • Major refactoring
    • Bumped clang-sys version to 0.4.1
    • Bumped libc version to 0.2.9
    Open source →
  37. 0.6.0 02 Apr 2016
    Release notes

    Added

    • Added preprocessor definition finding to sonar module

    Changed

    • Changed sonar interface
    Open source →
  38. 0.5.4 28 Mar 2016
    Release notes

    Added

    • Added static feature

    Changed

    • Bumped clang-sys version to 0.4.0
    Open source →
  39. 0.5.3 21 Mar 2016
    Release notes

    Changed

    • Bumped clang-sys version to 0.3.1
    Open source →
  40. 0.5.2 16 Mar 2016
    Release notes

    Changed

    • Bumped clang-sys version to 0.3.0
    • Bumped libc version to 0.2.8
    Open source →
  41. 0.5.1 14 Mar 2016
    Release notes

    Added

    • Added implementations of std::error::Error for error enums
    Open source →
  42. 0.5.0 09 Mar 2016
    Release notes

    Added

    • Added a sonar module for finding C declarations
    Open source →
  43. 0.4.0 14 Feb 2016
    Release notes

    Added

    • Added support for clang 3.8.x

    Fixed

    • Added missing cfgs on enum variants

    Changed

    • Simplified internal usage of conditional compilation
    • Bumped clang-sys version to 0.2.0
    • Bumped libc version to 0.2.7
    Open source →
  44. 0.3.1 05 Feb 2016
    Release notes

    Changed

    • Bumped clang-sys version to 0.1.2
    Open source →
  45. 0.3.0 28 Dec 2015
    Release notes

    Removed

    • Removed sonar module

    Added

    • Added implementations of From to String for error enums
    • Added integer categorization methods to Type struct

    Changed

    • Bumped clang-sys version to 0.1.1
    Open source →
  46. 0.2.2 24 Dec 2015
    Release notes

    Added

    • Added sonar module for finding declarations in C translation units
    Open source →
  47. 0.2.1 22 Dec 2015
    Release notes

    Fixed

    • Fixed passing of version features to clang-sys
    Open source →
  48. 0.2.0 22 Dec 2015
    Release notes

    Changed

    • Moved FFI bindings into separate crate (clang-sys)
    • Bumped libc version to 0.2.4
    Open source →
  49. 0.1.0 22 Dec 2015
    Release notes
    • Initial release
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive