Skip to content

genpybind 0.2.0

Compare
Choose a tag to compare
@kljohann kljohann released this 24 Feb 07:39
· 11 commits to master since this release

Thanks to several contributors from the Electronic Vision(s) Group for patches, documentation and helping to test this release!

Deprecations

  • Support for running genpybind using Python 2.x will likely be dropped in the next release.
  • Use of the --genpybind-tag feature to limit which declarations are exposed in a given module will only be allowed on a namespace granularity, by applying tag or tags annotations to namespace definitions. Definitions in nested namespaces will only be exposed if the enclosing namespace is exposed.
  • The opaque keyword will likely be renamed and/or undergo a redesign (see issue 24).

Enhancements

  • Initial documentation has been added for the genpybind annotations and command line arguments.
  • It's now possible to specify the holder type to use for a class using the holder_type annotation.
  • A warning is now emitted at import time when a type alias references an unknown or unexposed type.
  • Type alias declarations are now supported.
  • genpybind.h is now copied to ${PREFIX}/include when using ./waf install. It can still be useful to define compatible macros in a consuming project instead, in order to use a different name for the macro or allow compiling the library without an installed version of genpybind.
  • The LLVM patches have been updated to match the LLVM 9.0 release.
  • The test suite has been expanded.

Fixes

  • Functions with pybind::args or pybind::kwargs parameters are now wrapped properly.
  • Sub-modules are no longer exposed when the enclosing namespace is not exposed.
  • Cross-module aliases to nested types are now exposed correctly, as long as the referred module is available at runtime.