Releases: panda3d/interrogate
Releases · panda3d/interrogate
0.10.1
0.10.0
C++ parser
- Now requires bison 3.0
- Improves quality of syntax error messages
- Support parsing C++17 template deduction guides
- Support parsing C++20 concepts and requires expressions
- Support parsing C++23 explicit object parameters
- Support parsing
auto()andauto{}in expressions - Now correctly parses aggregate initialization for primitive types in expressions
- Support parsing methods with
=delete("literal") - Support parsing subscript operator with multiple arguments
- Fixes a long-standing bug where parameter names were not properly resolved in constructor inits and trailing return types (resulting in parse errors if the name conflicted with a global type name)
- Add
<concepts>and<string_view>headers to parser-inc - Fix handling of
inline namespace(no longer results in effective blanketusing namespace) decltype()now correctly parses with comma expressionsconstexprnow correctly makes variablesconstas well
Python front-end
- Fix published static class members not being wrapped
- Fix memory leak for enum values in module initialization
0.9.0
This release:
- Add support for namespace aliases to the C++ parser
- Supports explicit-args extension methods in fastcall format in python-native generator (ie.
PyObject *const *args, Py_ssize_t nargs, PyObject *kwnamesinstead ofPyObject *args, PyObject *kwargs) - Adds a new experimental text output version of the interrogate database, used internally for regression testing but may be useful for debugging as well
- Add PyObject_Vectorcall alias to
py_compat.h - Updates cibuildwheel to 3.3.1 (adds Python 3.14t wheels)
0.8.1
0.8.0
This release:
- Fixes assorted issues with wrapping nested classes, specifically those which were forward declared and then defined out of line
- Fixes issues when types have a recursive dependency during init (eg. nested class deriving from parent class)
- When a base class is unpublished, now looks recursively for published base classes to inherit from rather than omitting the inheritance entirely
- Database now records type hierarchy for unpublished classes
- Adds some more robustness for exceptions during init
- Fixes a CMake compatibility warning.
- Fixes a harmless out of bounds read in pdtoa.
Note that arm64 Linux wheels are now provided.
0.7.1
0.7.0
This release removes the runtime requirement for a matching copy of py_panda.h by instead embedding it (and related headers) into the interrogate executable, having it be embedded into the generated .cxx files instead. This is a further step towards untangling interrogate from Panda3D.
0.6.1
0.6.0
Changes since 0.5.0:
- Slight optimization in code size and string table size
- Fix
is_destructiblefor reference types (caused memory leak for classes containing reference types) (panda3d/panda3d#1743) - Don't write wrappers with unsupported return type to database (#6)
- Add interrogatedb regression test suite
0.5.0
- Removes Panda3D-specific initialization code
- Add
-initflag to interrogate_module to call custom init function (#3) - Fix a compile error with Python 3.13 free-threaded build
- Fixes some compile issues with recent compilers
- Remap function indices in wrappers (#7)
- Use dynamically allocated type objects for py_wrappers as a step towards multi-interpreter / interpreter restarting support