127 lines
5.0 KiB
Plaintext
127 lines
5.0 KiB
Plaintext
=== pybindgen 0.10 ===
|
|
|
|
- New null_ok, default_value options for pointer-to-class parameters;
|
|
|
|
- Thread safety fixes;
|
|
|
|
- Map C++ operator() into Python's tp_call (__call__);
|
|
|
|
- Initial support for std containers (except mapping containers);
|
|
|
|
- Generate __copy__ methods for classes with copy contructor;
|
|
|
|
- Add 'wrapper registry' optional feature (off by default): allows
|
|
C++ instances returned by pointer to be consistently wrapped
|
|
always by the same Python wrapper, so that the 'is' operator can
|
|
be used for identity testing;
|
|
|
|
- New C type expression parser, is_const not longer needed for
|
|
parameter types, just put const in the type string as
|
|
appropriate;
|
|
|
|
- Sort the declarations returned by (py)gccxml. If generating
|
|
python script files from gccxml scanning, now the output file
|
|
becomes more stable and less prone to move declarations up and
|
|
down with different people scanning and the output file is under
|
|
version control;
|
|
|
|
- Map binary comparison operators (< <= == >= >) from C++ to Python;
|
|
|
|
- Map some binary numeric operators (+ - * /) from C++ to Python;
|
|
|
|
- Allow installation of pybindgen even if no C/C++ compiler is detected;
|
|
|
|
- Fix compatibility with older Python versions (tested with 2.3, 2.4, and 2.5)
|
|
|
|
|
|
=== pybindgen 0.9 ===
|
|
- Fix GCC 4.2 compilation warnings;
|
|
- Works with some GCCXML 0.9/cvs snapshots (tested with 2008-04-20),
|
|
in addition to stable 0.7;
|
|
- Support for overloaded virtual methods;
|
|
- Add 'ignore' annotation support, allowing to ignore functions
|
|
and methods;
|
|
- Generally work hard to make sure the generated code at least
|
|
always compiles, even if we have to disable generation of
|
|
certain wrappers;
|
|
- Add support for protected methods and constructors;
|
|
- Preliminary support for templated classes/methods/functions;
|
|
- Add more type conversions, such as uint64_t and uint16_t;
|
|
- Support implicit conversions also for pass-by-reference parameters;
|
|
- Add supported for nested (i.e. defined inside a class) enums and classes;
|
|
- Add support for adding manually written custom method or function wrappers;
|
|
- Split the gccxmlparser.ModuleParser.parse() method into several
|
|
smaller methods, to allow greater customization and flexibility;
|
|
- Add support for customising C++ class instance creation code;
|
|
- Much improved support for wrapping pure C code;
|
|
- Support std::ostream << myobject mapped as str(myobject) (Mathieu Lacage)
|
|
- Support default values in parameters;
|
|
- More intuitive API (thanks Mathieu Lacage for feedback)
|
|
- Support generation of a Python pybindgen script from scanned API;
|
|
- Support splitting of generated python script and/or C/C++ module into several files;
|
|
- Lots of small bug fixes, and other features I probably forgot;
|
|
- New tutorial (thanks Mathieu Lacage), and API docs.
|
|
|
|
|
|
=== pybindgen 0.8 ===
|
|
- Support C++ instance attributes through getter/setter methods
|
|
- Support functions as methods of C++ classes
|
|
- Support the PyObject* type
|
|
- Support unsigned int, C strings (char*) (from Mark Lee)
|
|
- Add basic support for enum types
|
|
- New experimental automatic module generator based on C/C++
|
|
header file scanner and annotations in comments, using pygccxml
|
|
- Some bug fixes
|
|
|
|
|
|
=== pybindgen 0.7 ===
|
|
- Automatic C++ pointer-to-class return type narrowing
|
|
- Optionally allow subclassing in Python of certain C++ classes
|
|
- Add support for overriding C++ virtual methods in Python
|
|
- Add support for C++ namespaces
|
|
- Add support for C++ implicit conversions
|
|
- Add support for a "custodian and ward" memory management model
|
|
- Assorted bug fixes
|
|
|
|
|
|
=== pybindgen 0.6 ===
|
|
- Supports function/method/constructor overloading
|
|
- Supports automatic type narrowing on C++ class pointer return values
|
|
|
|
|
|
=== pybindgen 0.5 ===
|
|
- Support C++ class instance/static attribute setters (only
|
|
getters supported before).
|
|
|
|
|
|
=== pybindgen 0.4 ===
|
|
- Support reference counted C++ classes
|
|
- Generated code compiles with Python >= 2.3
|
|
(though Python >= 2.4 required for pybindgen itself)
|
|
- Memory leak fixes
|
|
- Add support for type transformations (for smart pointers)
|
|
- New option to prefix global declarations with a name
|
|
- Fix compilation warnings
|
|
- Add support for read-only access to C++ class attributes
|
|
(both instance and static attributes supported)
|
|
- Win32 build fixes
|
|
- Other bug fixes
|
|
|
|
|
|
=== pybindgen 0.3 ===
|
|
- Supports methods and functions with parameters of a class
|
|
type (for classes being wrapped). Pass by pointer, value, or ref
|
|
supported, with in/out/inout directions, and transfer of ownership, as
|
|
well as value/pointer class return type. Reference counted classes
|
|
not yet supported.
|
|
|
|
|
|
=== pybindgen 0.2 ===
|
|
- Supports wrapping classes, but not yet functions/methods
|
|
with class parameters;
|
|
|
|
|
|
=== pybindgen 0.1 ===
|
|
- Supports basic types, modules, and functions;
|
|
|