11# Introduction
22
33This document contains the release notes for the language interoperability
4- library CppInterOp, release 1.9 .0. CppInterOp is built on top of
4+ library CppInterOp, release 2.0 .0. CppInterOp is built on top of
55[ Clang] ( http://clang.llvm.org ) and [ LLVM] ( http://llvm.org%3E ) compiler
66infrastructure. Here we describe the status of CppInterOp in some detail,
77including major improvements from the previous release and new feature work.
@@ -16,75 +16,50 @@ interoperability on the fly. In such scenarios CppInterOp can be used to provide
1616the necessary introspection information to the other side helping the language
1717cross talk.
1818
19- ## What's New in CppInterOp 1.9 .0?
19+ ## What's New in CppInterOp 2.0 .0?
2020
2121Some of the major new features and improvements to CppInterOp are listed here.
2222Generic improvements to CppInterOp as a whole or to its underlying
2323infrastructure are described first.
2424
25- This release drops LLVM 18 support, adds CUDA/GPU support with automatic SDK
26- and architecture detection, improves introspection and type reflection APIs,
27- hardens the incremental C++ and dispatch infrastructure, and includes ROOT-Cling
28- integration changes for Cppyy.
29-
3025## External Dependencies
3126
32- - CppInterOp v1.9.0 supports llvm 19-21
33- - Drops llvm18 support.
27+ - CppInterOp v2.0.0 supports llvm 19-21
3428
3529## Introspection
3630
37- - Adds ` Cpp::IsExplicit ` for constructors, conversion operators and deduction
38- guides.
39- - Adds ` Cpp::GetLanguage ` for language detection support.
40- - Replaces string comparison with AST check in ` IsBuiltin ` for ` std::complex ` .
41- - Merges ` GetCompleteName ` and ` GetQualifiedCompleteName ` into a shared helper.
42- - Makes ` GetTypeAsString() ` use the printing policy from ASTContext.
31+ -
4332
4433## Just-in-Time Compilation
4534
46- - Cling specific changes required for Cppyy in ROOT (#787 ).
47- - Improved CUDA interpreter creation, uses clang::Driver to detect CUDA SDK and GPU architecture.
48- - Adds incremental CUB BlockReduce test for CUDA.
35+ -
4936
5037## Incremental C++
5138
52- - Fixes ` SynthesizingCodeRAII ` for clang-repl (#819 ).
53- - Uses a common ` compat::Value ` to avoid macro guard duplication.
39+ -
5440
5541## Misc
5642
57- - Adds ` GetDoxygenComment ` to the API dispatch table.
58- - Disables verbose ` LoadAPI ` message unless debug mode is enabled.
59- - Allows reset of dispatch data to test load/unload.
60- - Prioritizes user-provided resource-dir over auto-detection (#791 ).
61- - Uses ` llvm::sys::fs ` instead of ` <filesystem> ` to check resource-dir.
62- - Includes API after undef of windows.h ` LoadLibrary ` .
63- - Removes ` using namespace std ` from CppInterOp.cpp (#801 ).
64- - Removes no-soname from cmake (#816 ).
65- - Numerous improvements to CMake configuration, CI workflows, and documentation.
43+ -
6644
6745## Fixed Bugs
6846
69- - Fix error-prone failure path in ` GetTypeFromScope ` .
70- - Fix ` GetLanguage ` for CUDA/HIP where CXX standard was returned.
71- - Fix CUDA runtime error detection in tests.
72- - Fixes thread-safe initialization of Dispatch API using function-local
73- static (#844 ).
74- - Sets default build type if not provided.
47+ [ XXX] ( https://github.com/compiler-research/CppInterOp/issues/XXX )
48+
49+ <!-- -Get release bugs
50+ git log v1.9.0..main | grep 'Fixes|Closes'
51+ --->
7552
7653## Special Kudos
7754
7855This release wouldn't have happened without the efforts of our contributors,
7956listed in the form of Firstname Lastname (#contributions):
8057
81- Matthew Barton (21; CI, Emscripten, build and deployment improvements)
82- Aaron Jomy (19; CUDA support, Dispatch, IsExplicit API, CI, build and cmake fixes)
83- Vassil Vassilev (5; coverage, test fixes, release preparation)
84- Vipul Cariappa (3; ROOT-Cling integration, SynthesizingCodeRAII fix, resource-dir)
85- Adriteyo Das (3; IsBuiltin AST check, GetCompleteName refactoring, default build type)
86- Emery Conrad (2; Dispatch reset, path resolution in detection test)
87- Kerem Şahin (1; language detection support)
88- Jonas Hahnfeld (1; resource-dir check)
89- Caevan Lin (1; thread-safe Dispatch API initialization)
90- Janak Shah (1; printing policy fix)
58+ FirstName LastName (#commits)
59+
60+ A B (N)
61+
62+ <!-- -Find contributor list for this release
63+ git log --pretty=format:"%an" v1.9.0...main | sort | uniq -c | sort -rn |\
64+ sed -E 's,^ *([0-9]+) (.*)$,\2 \(\1\),'
65+ --->
0 commit comments