44This document highlights some of the more significant changes from one
55release of the lecture slides (and companion Git repository) to the next.
66
7+ Edition 0.4.0 (2025-08-15)
8+ ==========================
9+
10+ Some of the more significant changes in going from Edition 0.3.0 to Edition
11+ 0.4.0 are as follows:
12+
13+ - The slides and code examples have been updated to be based on
14+ LLVM/Clang 21. Some of the code examples may work with earlier
15+ versions of LLVM/Clang, but this is not officially supported. The API
16+ differences between different versions of LLVM/Clang are handled by
17+ conditional compilation in the case of the non-slide code examples and
18+ by using multiple separate source files in the case of code examples
19+ that appear on slides (so as to avoid clutter).
20+
21+ - Made a number of improvements to the code examples and added a new
22+ code example.
23+
724Edition 0.3.0 (2025-03-07)
825==========================
926
1027Some of the more significant changes in going from Edition 0.2.0 to Edition
11280.3.0 are as follows:
1229
13- * The slides and code examples have been updated to be based on
30+ - The slides and code examples have been updated to be based on
1431 LLVM/Clang 20. Some of the code examples may work with earlier
1532 versions of LLVM/Clang, but this is not officially supported. The API
1633 differences between different versions of LLVM/Clang are handled by
1734 conditional compilation in the case of the non-slide code examples and
1835 by using multiple separate source files in the case of code examples
1936 that appear on slides (so as to avoid clutter).
2037
21- * Added new content related to (amongst other things):
38+ - Added new content related to (amongst other things):
2239 - ASTUnit and AST serialization/deserialization
2340 - various node visitor classes (e.g., DeclVisitor, StmtVisitor, etc.)
2441 - ASTNodeTraverser
2542 - VFS interface
2643 - IntrusiveRefCntPtr
2744 - DynamicRecursiveASTVisitor
2845
29- * Added several new code examples, including (but not limited to):
46+ - Added several new code examples, including (but not limited to):
3047 - a simple text-based AST dumper based on ASTNodeTraverser
3148 - a simple text-based AST dumper based on RecursiveASTVisitor
3249 - a AST serialization and deserialization example using ASTUnit
3350
34- * Improved the way in which the Clang include directory is being determined
51+ - Improved the way in which the Clang include directory is being determined
3552 in various places in the code.
3653
37- * Made numerous smaller improvements to the slides (e.g., revised wording,
54+ - Made numerous smaller improvements to the slides (e.g., revised wording,
3855 added clarifying comments).
3956
4057Edition 0.2.0 (2024-01-25)
@@ -43,39 +60,39 @@ Edition 0.2.0 (2024-01-25)
4360Some of the more significant changes in going from Edition 0.1.0 to Edition
44610.2.0 are as follows:
4562
46- * The slides and code examples have been updated to be based on
63+ - The slides and code examples have been updated to be based on
4764 LLVM/Clang 17, instead of Clang 15 (as was the case with the previous
4865 edition of the slides). The code examples still continue to work with
4966 LLVM/Clang 15 and 16, however. The API differences between LLVM/Clang
5067 15, 16, and 17 are handled by conditional compilation in the case of the
5168 non-slide code examples and by using multiple separate source files in
5269 the case of code examples that appear on slides (so as to avoid clutter).
5370
54- * Numerous smaller improvements to the slides were made, including adding
71+ - Numerous smaller improvements to the slides were made, including adding
5572 more hyperlinks to external LLVM/Clang documentation.
5673
57- * A Dockerfile was added to the Companion Git repository in order
74+ - A Dockerfile was added to the Companion Git repository in order
5875 to provide an easy-to-use environment in which to build and run the
5976 code examples. This is expected to be helpful to beginners who do not
6077 already have a working LLVM/Clang environment.
6178
62- * Some bugs fixes and other improvements were made to the Clang Auxiliary
79+ - Some bugs fixes and other improvements were made to the Clang Auxiliary
6380 Library (CAL), including fixing some problems in the function used to
6481 determine the Clang include directory.
6582
66- * A new CMake find module was introduced for LLVM and Clang in an
83+ - A new CMake find module was introduced for LLVM and Clang in an
6784 attempt to reduce boilerplate needed in many CMakeLists.txt files.
6885
69- * Build-time introspection was added to determine whether the custom
86+ - Build-time introspection was added to determine whether the custom
7087 Fmt library is needed for std::format support.
7188
72- * Many improvements were made to the scripts used (either directly or
89+ - Many improvements were made to the scripts used (either directly or
7390 indirectly) for running the various code examples for demo purposes.
7491
75- * Many changes were made to the scripts and configuration files used
92+ - Many changes were made to the scripts and configuration files used
7693 for the GitHub CI workflow.
7794
78- * A formal JSON schema for compilation databases was added for reference
95+ - A formal JSON schema for compilation databases was added for reference
7996 purposes.
8097
8198Edition 0.1.0 (2023-08-03)
@@ -84,14 +101,14 @@ Edition 0.1.0 (2023-08-03)
84101Some of the more significant changes in going from Edition 0.0 to Edition
851020.1.0 are as follows:
86103
87- * Approximately 120 new slides were added along with a number of new code
104+ - Approximately 120 new slides were added along with a number of new code
88105 examples in the Git repository.
89106
90- * Numerous improvements were made to the old content as well.
107+ - Numerous improvements were made to the old content as well.
91108
92109Edition 0.0 (2022-12-31)
93110========================
94111
95- * This was the initial release of the lecture slides.
112+ - This was the initial release of the lecture slides.
96113
97- * This edition of the slides is based on LLVM/Clang 15.
114+ - This edition of the slides is based on LLVM/Clang 15.
0 commit comments