@@ -10,6 +10,9 @@ This document follows the conventions laid out in [Keep a CHANGELOG][].
1010### Added
1111
1212- Ability to instantiate new .NET arrays using ` Array[T](dim1, dim2, ...) ` syntax
13+ - Python operator method will call C# operator method for supported binary and unary operators ([ #1324 ] [ p1324 ] ).
14+ - Add GetPythonThreadID and Interrupt methods in PythonEngine
15+ - Ability to implement delegates with ` ref ` and ` out ` parameters in Python, by returning the modified parameter values in a tuple. ([ #1355 ] [ i1355 ] )
1316
1417### Changed
1518- Drop support for Python 2, 3.4, and 3.5
@@ -27,26 +30,39 @@ details about the cause of the failure
2730 to the regular method return value (unless they are passed with ` ref ` or ` out ` keyword).
2831- BREAKING: Drop support for the long-deprecated CLR.* prefix.
2932- ` PyObject ` now implements ` IEnumerable<PyObject> ` in addition to ` IEnumerable `
33+ - floating point values passed from Python are no longer silently truncated
34+ when .NET expects an integer [ #1342 ] [ i1342 ]
35+ - More specific error messages for method argument mismatch
36+ - BREAKING: Methods with ` ref ` or ` out ` parameters and void return type return a tuple of only the ` ref ` and ` out ` parameters.
37+ - BREAKING: to call Python from .NET ` Runtime.PythonDLL ` property must be set to Python DLL name
38+ or the DLL must be loaded in advance. This must be done before calling any other Python.NET functions.
3039
3140### Fixed
3241
33- - Fix incorrect dereference of wrapper object in ` tp_repr ` , which may result in a program crash
34- - Fix incorrect dereference in params array handling
35- - Fixes issue with function resolution when calling overloaded function with keyword arguments from python ([ #1097 ] [ i1097 ] )
36- - Fix ` object[] ` parameters taking precedence when should not in overload resolution
37- - Fixed a bug where all .NET class instances were considered Iterable
38- - Fix incorrect choice of method to invoke when using keyword arguments.
39- - Fix non-delegate types incorrectly appearing as callable.
40- - Indexers can now be used with interface objects
41- - Fixed a bug where indexers could not be used if they were inherited
42- - Made it possible to use ` __len__ ` also on ` ICollection<> ` interface objects
43- - Made it possible to call ` ToString ` , ` GetHashCode ` , and ` GetType ` on inteface objects
44- - Fixed objects returned by enumerating ` PyObject ` being disposed too soon
45- - Incorrectly using a non-generic type with type parameters now produces a helpful Python error instead of throwing NullReferenceException
42+ - Fix incorrect dereference of wrapper object in ` tp_repr ` , which may result in a program crash
43+ - Fix incorrect dereference in params array handling
44+ - Fixes issue with function resolution when calling overloaded function with keyword arguments from python ([ #1097 ] [ i1097 ] )
45+ - Fix ` object[] ` parameters taking precedence when should not in overload resolution
46+ - Fixed a bug where all .NET class instances were considered Iterable
47+ - Fix incorrect choice of method to invoke when using keyword arguments.
48+ - Fix non-delegate types incorrectly appearing as callable.
49+ - Indexers can now be used with interface objects
50+ - Fixed a bug where indexers could not be used if they were inherited
51+ - Made it possible to use ` __len__ ` also on ` ICollection<> ` interface objects
52+ - Fixed issue when calling PythonException.Format where another exception would be raise for unnormalized exceptions
53+ - Made it possible to call ` ToString ` , ` GetHashCode ` , and ` GetType ` on inteface objects
54+ - Fixed objects returned by enumerating ` PyObject ` being disposed too soon
55+ - Incorrectly using a non-generic type with type parameters now produces a helpful Python error instead of throwing NullReferenceException
56+ - ` import ` may now raise errors with more detail than "No module named X"
57+ - Exception stacktraces on ` PythonException.StackTrace ` are now properly formatted
58+ - Providing an invalid type parameter to a generic type or method produces a helpful Python error
59+ - Empty parameter names (as can be generated from F#) do not cause crashes
4660
4761### Removed
4862
4963- implicit assembly loading (you have to explicitly ` clr.AddReference ` before doing import)
64+ - support for .NET Framework 4.0-4.6; Mono before 5.4. Python.NET now requires .NET Standard 2.0
65+ (see [ the matrix] ( https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support ) )
5066
5167## [ 2.5.0] [ ] - 2020-06-14
5268
@@ -806,3 +822,4 @@ This version improves performance on benchmarks significantly compared to 2.3.
806822[ i755 ] : https://github.com/pythonnet/pythonnet/pull/755
807823[ p534 ] : https://github.com/pythonnet/pythonnet/pull/534
808824[ i449 ] : https://github.com/pythonnet/pythonnet/issues/449
825+ [ i1342 ] : https://github.com/pythonnet/pythonnet/issues/1342
0 commit comments