pythonnet v2.5.0-rc2 Release Notes
Release Date: 2020-06-07 // almost 4 years ago-
๐ This version improves performance on benchmarks significantly compared to 2.3.
โ Added
- ๐ Automatic NuGet package generation in appveyor and local builds
- Function that sets
Py_NoSiteFlag
to 1. - ๐ Support for Jetson Nano.
- Support for
__len__
for .NET classes that implement ICollection -
PyExport
attribute to hide .NET types from Python -
PythonException.Format
method to format exceptions the same astraceback.format_exception
-
Runtime.None
to be able to passNone
as parameter into Python from .NET -
PyObject.IsNone()
to check if a Python object is None in .NET. - ๐ Support for Python 3.8
- Codecs as the designated way to handle automatic conversions between .NET and Python types
๐ Changed
- Added argument types information to "No method matches given arguments" message
- ๐ Moved wheel import in setup.py inside of a try/except to prevent pip collection failures
- Removes
PyLong_GetMax
andPyClass_New
when targetting Python3 - ๐ Improved performance of calls from Python to C#
- ๐ Added support for converting python iterators to C# arrays
- Changed usage of the obsolete function
GetDelegateForFunctionPointer(IntPtr, Type)
toGetDelegateForFunctionPointer<TDelegate>(IntPtr)
- When calling C# from Python, enable passing argument of any type to a
parameter of C# type
object
by wrapping it intoPyObject
instance. ([#881][i881]) - ๐ Added support for kwarg parameters when calling .NET methods from Python
- Changed method for finding MSBuild using vswhere
- Reworked
Finalizer
. Now objects drop into its queue upon finalization, which is periodically drained when new objects are created. - Marked
Runtime.OperatingSystemName
andRuntime.MachineName
asObsolete
, should never have beenpublic
in the first place. They also don't necessarily return a result that matches theplatform
module's.
๐ Fixed
- ๐ Fixed runtime that fails loading when using pythonnet in an environment together with Nuitka
- ๐ Fixes bug where delegates get casts (dotnetcore)
- Determine size of interpreter longs at runtime
- Handling exceptions ocurred in ModuleObject's getattribute
- Fill
__classcell__
correctly for Python subclasses of .NET types - ๐ Fixed issue with params methods that are not passed an array.
- Use UTF8 to encode strings passed to
PyRun_String
on Python 3