pythonnet v1.0.0-alpha.2 Release Notes

  • ๐Ÿ”„ Changed

    • โœ… Added a Mono makefile. Thanks to Camilo Uribe for help in testing and working out problems on Mono. Note that it not currently possible to build PythonNet using mono, due to the use of some IL attributes that the mono assembler / disassembler doesn't support yet.

    • Preliminary tests show that PythonNet does actually run under mono, though the test suite bombs out before the end with an "out of memory" error from the mono runtime. It's just a guess at this point, but I suspect there may be a limited pool for allocating certain reflection structures, and Python uses the reflection infrastructure quite heavily.

    • ๐Ÿšš Removed decoys like the non-working embedding APIs; lots of internal refactoring.

    • ๐Ÿ‘ Implemented indexer support. Managed instances that implement indexers can now be used naturally from Python (e.g. someobject[0]).

    • ๐Ÿ‘ Implemented sequence protocol support for managed arrays.

    • Implemented basic thread state management; calls to managed methods no longer block Python. I won't go so far as to say the thread choreography is "finished", as I don't have a comprehensive set of tests to back that up yet (and it will take some work to write a sufficiently large and evil set of tests).

    • ๐Ÿ›  Fixed a bug that caused conversions of managed strings to PyUnicode to produce mangled values in certain situations.

    • ๐Ÿ›  Fixed a number of problems related to subclassing a managed class, including the fact that it didn't work :)

    • ๐Ÿš€ Fixed all of the bugs that were causing tests to fail. This release contains all new bugs and new failing tests. Progress! :)