All Versions
22
Latest Version
Avg Release Cycle
156 days
Latest Release
342 days ago

Changelog History
Page 1

  • v2.4.0

    May 03, 2019

    ➕ 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][i432])([#433][p433])
    • Allowed passing None for nullable args ([#460][p460])
    • Added keyword arguments based on C# syntax for calling CPython methods ([#461][p461])
    • Catches exceptions thrown in C# iterators (yield returns) and rethrows them in python ([#475][i475])([#693][p693])
    • Implemented GetDynamicMemberNames() for PyObject to allow dynamic object members to be visible in the debugger ([#443][i443])([#690][p690])
    • 💅 Incorporated reference-style links to issues and pull requests in the CHANGELOG ([#608][i608])
    • 👍 Added PyObject finalizer support, Python objects referred by C# can be auto collect now ([#692][p692]).
    • Added detailed comments about aproaches and dangers to handle multi-app-domains ([#625][p625])
    • 🏗 Python 3.7 support, builds and testing added. Defaults changed from Python 3.6 to 3.7 ([#698][p698])
    • Added support for C# types to provide __repr__ ([#680][p680])

    🔄 Changed

    • PythonException included C# call stack
    • 👻 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, where Py_Initialize was called instead, which sets initSigs to 1. ([#449][i449])
    • ♻️ Refactored MethodBinder.Bind in preparation to make it extensible (#829)
    • When calling C# from Python, enable passing argument of any type to a parameter of C# type object by wrapping it into PyObject instance. ([#881][i881])
    • 🏁 Look for installed Windows 10 sdk's during installation instead of relying on specific versions.

    🛠 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][p534])
    • 🛠 Fixed Visual Studio 2017 compat ([#434][i434]) for setup.py
    • 🛠 Fixed crashes when integrating pythonnet in Unity3d ([#714][i714]), 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][p531])
    • 🛠 Fixed crash on exit of the Python interpreter if a python class derived from a .NET class has a __namespace__ or __assembly__ attribute ([#481][i481])
    • 🛠 Fixed conversion of 'float' and 'double' values ([#486][i486])
    • 🛠 Fixed 'clrmethod' for python 2 ([#492][i492])
    • 🛠 Fixed double calling of constructor when deriving from .NET class ([#495][i495])
    • 🛠 Fixed clr.GetClrType when iterating over System members ([#607][p607])
    • 🛠 Fixed LockRecursionException when loading assemblies ([#627][i627])
    • 🛠 Fixed errors breaking .NET Remoting on method invoke ([#276][i276])
    • 🛠 Fixed PyObject.GetHashCode ([#676][i676])
    • 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][i755])
  • v2.4.0-rc2

    April 07, 2019
  • v2.4.0-rc1

    March 06, 2019

    ➕ 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, where Py_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 over System 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)
  • v2.3.0

    March 11, 2017

    ➕ Added

    • ➕ Added Code Coverage (#345)
    • ➕ Added PySys_SetArgvEx (#347)
    • ➕ Added XML Documentation (#349)
    • ➕ Added Embedded_Tests on AppVeyor (#224)(#353)
    • ➕ Added Embedded_Tests on Travis (#224)(#391)
    • ➕ Added PY3 settings to solution configuration-manager (#346)
    • ➕ Added Slack (#384)(#383)(#386)
    • ➕ Added function of passing an arbitrary .NET object as the value
      of an attribute of PyObject (#370)(#373)
    • ➕ Added Coverity scan (#390)
    • ➕ Added bumpversion for version control (#319)(#398)
    • ➕ Added tox for local testing (#345)
    • ➕ Added requirements.txt
    • ➕ Added to PythonEngine methods Eval and Exec (#389)
    • ➕ Added implementations of ICustomMarshal (#407)
    • ➕ Added docker images (#322)
    • ➕ Added hooks in pyinstaller and cx_freeze for pythonnet (#66)
    • ➕ Added nuget packages (#165)

    🔄 Changed

    • ♻️ Refactored python unittests (#329)
    • ♻️ Refactored python setup.py (#337)
    • ♻️ Refactored remaining of Build Directives on runtime.cs (#339)
    • ♻️ Refactored Embedded_Tests to make easier to write tests (#369)
    • 🔄 Changed unittests to pytest (#368)
    • ⬆️ Upgraded NUnit framework from 2.6.3 to 3.5.0 (#341)
    • ⬇️ Downgraded NUnit framework from 3.5.0 to 2.6.4 (#353)
    • ⬆️ Upgraded NUnit framework from 2.6.4 to 3.6.0 (#371)
    • Unfroze Mono version on Travis (#345)
    • 🔄 Changed conda.recipe build to only pull-requests (#345)
    • Combine Py_DEBUG and PYTHON_WITH_PYDEBUG flags (#362)

    🗄 Deprecated

    • 🗄 Deprecated RunString (#401)

    🛠 Fixed

    • 🛠 Fixed crash during Initialization (#262)(#343)
    • 🛠 Fixed crash during Shutdown (#365)
    • 🛠 Fixed multiple build warnings
    • 🛠 Fixed method signature match for Object Type (#203)(#377)
    • 🛠 Fixed outdated version number in AssemblyInfo (#398)
    • 🛠 Fixed wrong version number in conda.recipe (#398)
    • 🛠 Fixed fixture location for Python tests and Embedded_Tests
    • 🛠 Fixed PythonException crash during Shutdown (#400)
    • 🛠 Fixed AppDomain unload during GC (#397)(#400)
    • Fixed Py_Main & PySys_SetArgvEx no mem error on UCS4/PY3 (#399)
    • 🛠 Fixed Python.Runtime.dll.config on macOS (#120)
    • 🛠 Fixed crash on PythonEngine.Version (#413)
    • 🛠 Fixed PythonEngine.PythonPath issues (#179)(#414)(#415)

    ✂ Removed

    • ✂ Removed six dependency for unittests (#329)
    • ✂ Removed Mono.Unix dependency for UCS4 (#360)
    • ✂ Removed need for Python.Runtime.dll.config
    • Removed PY32 build option PYTHON_WITH_WIDE_UNICODE (#417)
  • v2.2.2

    January 29, 2017

    🛠 Fixed

    • Missing files from packaging (#336)
  • v2.2.1

    January 26, 2017

    🆕 News

    🔄 Changelog since v2.2.0-dev1

    🚀 v2.2.0 had a release issue on pypi. Bumped to v2.2.1

    ➕ Added

    • 👍 Python 3.6 support (#310)
    • 🔖 Added __version__ to module (#312)
    • ➕ Added conda recipe (#281)
    • ⚡️ Nuget update on build (#268)
    • Added __cause__ attribute on exception (#287)

    🔄 Changed

    • License to MIT (#314)
    • Project clean-up (#320)
    • ♻️ Refactor #if directives
    • 📇 Rename Decref/Incref to XDecref/XIncre (#275)
    • ✂ Remove printing if Decref is called with NULL (#275)

    ✂ Removed

    • 👍 Python 2.6 support (#270)
    • 👍 Python 3.2 support (#270)

    🛠 Fixed

    • 🛠 Fixed isinstance refcount_leak (#273)
    • Comparison Operators (#294)
    • 👌 Improved Linux support (#300)
    • 👻 Exception pickling (#286)

    Known Issues

    • Subclassing .NET classes (#264)
    • Mixing python and .NET constructors (#252)
    • Overloading on constructors, ref/out and subtypes (#265)
    • pythonhome and pythonpath (#186)
    • Regression bug on numpy arrays (#249)
  • v2.2.0

    September 19, 2016

    🆕 News

    🔄 Changelog

    Known Issues

    • Subclassing .NET classes (#264)
    • Mixing python and .NET constructors (#252)
    • ⚡️ License update (one blocking contributor @tiran out of 27)
    • Overloading on constructors, ref/out and subtypes (#265)
    • pythonhome and pythonpath (#186)
    • Regression bug on numpy arrays (#249)
  • v2.2.0-dev1

    September 19, 2016

    🆕 News

    🔄 Changelog

    Known Issues

    • Subclassing .NET classes (#264)
    • Mixing python and .NET constructors (#252)
    • ⚡️ License update (one blocking contributor @tiran out of 27)
    • Overloading on constructors, ref/out and subtypes (#265)
    • pythonhome and pythonpath (#186)
    • Regression bug on numpy arrays (#249)
  • v2.1.0

    April 12, 2016

    ➕ Added

    • 👍 Added Python 3.2 support. ([#78][p78])
    • 👍 Added Python 3.3 support. ([#78][p78])
    • 👍 Added Python 3.4 support. ([#78][p78])
    • 👍 Added Python 3.5 support. ([#163][p163])
    • Managed types can be sub-classed in Python ([#78][p78])
    • Uses dynamic objects for cleaner code when embedding Python ([#78][p78])

    🔄 Changed

    • 🐧 Better Linux support (with or without --enable-shared option) ([#78][p78])

    ✂ Removed

    • Implicit Type Casting ([#131][i131])
  • v2.0.0

    June 26, 2015
    • 🚀 Release