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
Releases
latest 49-
2.1.029 Jul 2026Release notes
Open source →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_partsinSourceRange::tokenize. - Lossily convert strings (to avoid panics on invalid UTF-8).
Release notes
Open source →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_partsinSourceRange::tokenize. - Lossily convert strings (to avoid panics on invalid UTF-8).
-
2.0.018 May 2022Release notes
Open source →Changed
- Made
Clangstruct impossible to construct directly - Disabled
SendandSyncforClangstruct - Make
yandzcomponents ofVersionstruct optional
Fixed
- Fix null check for
Versionstruct to only check sign of major version
- Made
-
1.0.329 Nov 2020Release notes
Open source →Fixed
- Fixed token annotation (
TranslationUnit::annotate) not returning correct results
- Fixed token annotation (
-
1.0.202 Oct 2020 -
1.0.116 Aug 2020 -
1.0.008 Aug 2020Release notes
Open source →Removed
- Removed
gte_clang_*Cargo features (these were an implementation detail)
Added
- Added support for
clang10.0.x
Changed
- Bumped
clang-sysversion to1
- Removed
-
0.24.001 Jul 2020Release notes
Open source →Fixed
- Fixed undefined behavior caused by transmuting unsupported C enum values into Rust enum values
- Fixed warnings about usage of deprecated
std::mem::uninitializedfunction
Added
- Added support for
clang9.0.x
Changed
- Added error conditions to
CursorKindenum
-
0.23.007 Sep 2019Release notes
Open source →Fixed
- Fixed warnings on recent versions of the Rust compiler
Added
- Added support for compilation databases
-
0.22.116 Jul 2019Release notes
Open source →Fixed
- Fixed
Entity::is_function_like_macrocalling the wronglibclangfunction
- Fixed
-
0.22.021 Apr 2019Release notes
Open source →Added
- Added partial support for
clang7.0.x / 8.0.x
Changed
- Bumped
clang-sysversion to0.28.0
- Added partial support for
-
0.21.017 Feb 2019 -
0.20.016 Jun 2018 -
0.19.012 Mar 2018Release notes
Open source →Added
- Added support for
clang6.0.x
Changed
- Bumped
lazy_staticversion to1.0.0 - Bumped
libcversion to0.2.39
- Added support for
-
0.18.017 Feb 2018Release notes
Open source →Added
- Added
Entity::get_result_typemethod
Changed
- Bumped
clang-sysversion to0.21.1
- Added
-
0.17.016 Sep 2017Release notes
Open source →Added
- Added support for
clang5.0.x
Changed
- Bumped
clang-sysversion to0.20.1
- Added support for
-
0.16.014 Mar 2017Release notes
Open source →Added
- Added support for
clang4.0.x
Changed
- Renamed
EvaluationResult::Integervariant toSignedInteger
- Added support for
-
0.15.016 Feb 2017Release notes
Open source →Added
- Added assertions that pointers returned from
libclangfunctions are non-null
Changed
- Bumped
clang-sysversion to0.14.0 - Changed the type of the
filefield in theLocationstruct fromFiletoOption<File>
- Added assertions that pointers returned from
-
0.14.130 Jan 2017 -
0.14.001 Nov 2016 -
0.13.007 Oct 2016Release notes
Open source →Changed
- Removed feature gates for
CallingConvention,EntityKind, andTypeKindvariants - Bumped
clang-sysversion to0.11.0 - Bumped
libcversion to0.2.16
- Removed feature gates for
-
0.12.001 Aug 2016Release notes
Open source →Changed
- Added
runtimeCargo feature that links tolibclangshared library at runtime
- Added
-
0.11.022 Jul 2016Release notes
Open source →Added
- Added
documentationmodule
Changed
- Bumped
clang-sysversion to0.9.0
- Added
-
0.10.020 Jul 2016Release notes
Open source →Added
- Added support for
clang3.9.x - Added
Entity::get_childmethod
Changed
- Bumped
clang-sysversion to0.8.0 - Bumped
libcversion to0.2.14
- Added support for
-
0.9.514 Jul 2016 -
0.9.418 Jun 2016Release notes
Open source →Added
- Added implementation of
std::cmp::PartialOrdforDiagnosticstruct
Changed
- Bumped
clang-sysversion to0.7.2
- Added implementation of
-
0.9.327 May 2016 -
0.9.220 May 2016 -
0.9.118 May 2016 -
0.9.014 May 2016Release notes
Open source →Added
- Added location functions to
Entitystruct
Changed
- Changed
sonarmodule interface to use iterators
- Added location functions to
-
0.8.214 May 2016 -
0.8.111 May 2016 -
0.8.010 May 2016Release notes
Open source →Changed
- Bumped
clang-sysversion to0.5.0 - Bumped
lazy_staticversion to0.2.1 - Bumped
libcversion to0.2.11
- Bumped
-
0.7.321 Apr 2016Release notes
Open source →Fixed
- Fixed
sonarmodule handling of record typedefs
Changed
- Bumped
clang-sysversion to0.4.2 - Bumped
lazy_staticversion to0.2.0 - Bumped
libcversion to0.2.10
- Fixed
-
0.7.206 Apr 2016Release notes
Open source →Fixed
- Removed
println!insonarmodule
Changed
- Changed
Parser::argumentsparameter type
- Removed
-
0.7.104 Apr 2016Release notes
Open source →Fixed
- Fixed panic in
sonarmodule when encountering certain kinds of typedefs
- Fixed panic in
-
0.7.004 Apr 2016Release notes
Open source →Changed
- Major refactoring
- Bumped
clang-sysversion to0.4.1 - Bumped
libcversion to0.2.9
-
0.6.002 Apr 2016Release notes
Open source →Added
- Added preprocessor definition finding to
sonarmodule
Changed
- Changed
sonarinterface
- Added preprocessor definition finding to
-
0.5.428 Mar 2016 -
0.5.321 Mar 2016 -
0.5.216 Mar 2016 -
0.5.114 Mar 2016 -
0.5.009 Mar 2016 -
0.4.014 Feb 2016Release notes
Open source →Added
- Added support for
clang3.8.x
Fixed
- Added missing
cfgs on enum variants
Changed
- Simplified internal usage of conditional compilation
- Bumped
clang-sysversion to0.2.0 - Bumped
libcversion to0.2.7
- Added support for
-
0.3.105 Feb 2016 -
0.3.028 Dec 2015Release notes
Open source →Removed
- Removed
sonarmodule
Added
- Added implementations of
FromtoStringfor error enums - Added integer categorization methods to
Typestruct
Changed
- Bumped
clang-sysversion to0.1.1
- Removed
-
0.2.224 Dec 2015Release notes
Open source →Added
- Added
sonarmodule for finding declarations in C translation units
- Added
-
0.2.122 Dec 2015 -
0.2.022 Dec 2015Release notes
Open source →Changed
- Moved FFI bindings into separate crate (
clang-sys) - Bumped
libcversion to0.2.4
- Moved FFI bindings into separate crate (
-
0.1.022 Dec 2015