pythonnet v2.4.0-rc1 Release Notes
Release Date: 2019-03-06 // about 5 years ago-
โ Added
- โ Added support for embedding python into dotnet core 2.0 (NetStandard 2.0)
- โ Added new build system (pythonnet.15.sln) based on dotnetcore-sdk/xplat(crossplatform msbuild).
๐ท Currently there two side-by-side build systems that produces the same output (net40) from the same sources.
๐ท After a some transition time, current (mono/ msbuild 14.0) build system will be removed. - โฌ๏ธ NUnit upgraded to 3.7 (eliminates travis-ci random bug)
- โ Added C#
PythonEngine.AddShutdownHandler
to help client code clean up on shutdown. - โ Added
clr.GetClrType
(#432)(#433) - ๐ Allowed passing
None
for nullable args (#460) - โ Added keyword arguments based on C# syntax for calling CPython methods (#461)
- Catches exceptions thrown in C# iterators (yield returns) and rethrows them in python (#475)(#693)
- Implemented GetDynamicMemberNames() for PyObject to allow dynamic object members to be visible in the debugger (#443)(#690)
- ๐ Incorporated reference-style links to issues and pull requests in the CHANGELOG (#608)
- โ Added detailed comments about aproaches and dangers to handle multi-app-domains (#625)
- ๐ Python 3.7 support, builds and testing added. Defaults changed from Python 3.6 to 3.7 ([#698][p698])
๐ Changed
- ๐ป Reattach python exception traceback information (#545)
- ๐ PythonEngine.Intialize will now call
Py_InitializeEx
with a default value of 0, so signals will not be configured by default on embedding. This is different from the previous behaviour, wherePy_Initialize
was called instead, which sets initSigs to 1. (#449)
๐ Fixed
- ๐ Fixed secondary PythonEngine.Initialize call, all sensitive static variables now reseted.
This is a hidden bug. Once python cleaning up enough memory, objects from previous engine run becomes corrupted. (#534) - ๐ Fixed Visual Studio 2017 compat (#434) for setup.py
- ๐ Fixed crashes when integrating pythonnet in Unity3d (#714),
related to unloading the Application Domain - Fixed interop methods with Py_ssize_t. NetCoreApp 2.0 is more sensitive than net40 and requires this fix. (#531)
- ๐ Fixed crash on exit of the Python interpreter if a python class
derived from a .NET class has a__namespace__
or__assembly__
attribute (#481) - ๐ Fixed conversion of 'float' and 'double' values (#486)
- ๐ Fixed 'clrmethod' for python 2 (#492)
- ๐ Fixed double calling of constructor when deriving from .NET class (#495)
- ๐ Fixed
clr.GetClrType
when iterating overSystem
members (#607) - ๐ Fixed
LockRecursionException
when loading assemblies (#627) - ๐ Fixed errors breaking .NET Remoting on method invoke (#276)
- ๐ Fixed PyObject.GetHashCode (#676)
- ๐ Fix memory leaks due to spurious handle incrementation ([#691][i691])
- ๐ Fix spurious assembly loading exceptions from private types ([#703][i703])
- ๐ Fix inheritance of non-abstract base methods (#755)