Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Catch Up Upstream #45

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 197 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
197 commits
Select commit Hold shift + click to select a range
8083f3b
Finalizer for PyObject
amos402 Jun 23, 2018
af33e74
Avoid test interdependency
amos402 Jun 24, 2018
6d9f897
Add source to .csproj
amos402 Jun 24, 2018
7140fd0
Make sure recover the environment
amos402 Jun 24, 2018
f66697d
Add StackTrace of C# exception
amos402 Jun 24, 2018
799d37e
Clean up the test and interface
amos402 Jun 24, 2018
cb55163
Update CHANGELOG.md
amos402 Jun 24, 2018
bfc0392
Mono doesn't have GC.WaitForFullGCComplete
amos402 Jun 24, 2018
59b614d
Fixed PythonException leak
amos402 Jun 25, 2018
569cd94
Merge branch 'master' into pyobject-finalizer
den-run-ai Jul 5, 2018
f4f5032
Fixed nPython.exe crash on Shutdown
amos402 Jul 10, 2018
0967a12
Merge branch 'master' into pyobject-finalizer
filmor Jul 17, 2018
f071c55
Add error handler
amos402 Aug 4, 2018
cfda491
Merge branch 'master' into pyobject-finalizer
amos402 Aug 4, 2018
f6c6e42
Merge branch 'master' into pyobject-finalizer
filmor Aug 30, 2018
0d96641
Make collect callback without JIT
amos402 Sep 6, 2018
34713f7
Merge branch 'master' into pyobject-finalizer
filmor Oct 16, 2018
b4e30ac
Merge branch 'master' into pyobject-finalizer
filmor Oct 17, 2018
f836ffa
Merge remote-tracking branch 'remotes/upstream/master' into pyobject-…
amos402 Oct 20, 2018
a4bb82d
Add pending marker
amos402 Oct 23, 2018
21da86d
Merge branch 'master' into pyobject-finalizer
amos402 Oct 24, 2018
5254c65
Remove PYTHONMALLOC setting
amos402 Oct 25, 2018
916e85e
Merge remote-tracking branch 'remotes/upstream/master' into pyobject-…
amos402 Nov 22, 2018
eee3683
Fix ref count error
amos402 Nov 22, 2018
cee8e17
Add ref count check for helping discover the bugs of decref too much
amos402 Nov 22, 2018
247e2d9
Fix ref count error
amos402 Nov 25, 2018
90c67ca
typo error
amos402 Nov 26, 2018
f873086
Implements Nullable support
AlexCatarino Sep 28, 2017
4d751aa
Implements Implicit Conversion
AlexCatarino Sep 28, 2017
70068c8
Adds method name to "no method matches" error
AlexCatarino Apr 2, 2018
ea239cc
Implements System.Decimal support
AlexCatarino Sep 28, 2017
c90aaf2
Fixes decimal support
AlexCatarino Apr 2, 2018
cffebd4
Implements System.DateTime support
AlexCatarino Sep 28, 2017
aaa397b
Fixes UTC conversion from python datetime to managed DateTime
AlexCatarino Jul 13, 2018
259db3e
Fixing memory leaks in the conversion of some types
Martin-Molinero Jul 20, 2018
146bc4e
Do not include timezone if DateTimeKind is Unspecified
AlexCatarino Aug 23, 2018
c6433c7
C# decimal conversion
Martin-Molinero Jan 14, 2019
1d5c998
Performance improvements ClrObject - Dispose PyObj
Martin-Molinero Jan 18, 2019
abe137b
Improve Indicator Performance Benchmark
Martin-Molinero Feb 20, 2019
69ea1cf
Review: Adding parameter count check
Martin-Molinero Feb 20, 2019
c56c8a2
Decimal Parsing Allows Numeric String in Exponential Notation
AlexCatarino Feb 20, 2019
0c7752c
Remove ExceptionTypeCache
Martin-Molinero Feb 21, 2019
a98099a
Switch to using TrueDivide instead of Divide everywhere
filmor Feb 2, 2019
eb5d27e
Update .gitignore
Cronan Feb 25, 2019
4db02de
Drop Python 3.4 from CI
filmor Mar 6, 2019
3df33cc
Disable Mono special case in memory map tests
filmor Mar 6, 2019
7291409
cleaned up MethodBinder.Bind a bit
lostmsu Mar 9, 2019
cb53c4d
a bit more refactoring of MethodBinder.Bind
lostmsu Mar 9, 2019
e558506
extracted TryConvertArguments from MethodBinder.Bind
lostmsu Mar 10, 2019
ff4a75d
extracted TryConvertArgument from MethodBinder.TryConvertArguments
lostmsu Mar 10, 2019
71914d9
added a documentation comment for MethodBinder.TryConvertArguments
lostmsu Mar 10, 2019
403a9df
updated AUTHORS and CHANGELOG
lostmsu Mar 12, 2019
77f1426
Fix memory leak in finalizer
Martin-Molinero Apr 2, 2019
a6ddccd
List installed Win10 SDK's when looking for windows sdk tool
OneBlue Apr 2, 2019
88a9c39
Update changelog and authors
OneBlue Apr 2, 2019
b382af0
Revert "Update moduleobject.cs"
filmor Apr 5, 2019
e42d4b3
Convert README to rst and drop pypandoc build dep
filmor Apr 7, 2019
4510698
Run black on setup.py
filmor Apr 7, 2019
d0d02b9
Update copyright year
filmor Apr 7, 2019
9387a95
Update changelog
filmor Apr 7, 2019
2718c2c
Bump all relevant versions to 2.4.0-rc2
filmor Apr 7, 2019
3f8ed5b
Make README.rst pure ASCII for now
filmor Apr 8, 2019
3706b87
Fix memory leak - finalizer
Martin-Molinero Apr 23, 2019
20b6a84
Fix unit test - Refactor
Martin-Molinero Apr 23, 2019
dfb6ad1
Remove error-prone text comparison in exception test (#854)
filmor Apr 27, 2019
430946f
Bump version to 2.4.0
filmor May 3, 2019
9655105
Back to dev version for 2.4.1
filmor May 3, 2019
9fd2ede
Drop official 3.4 compatibility
filmor May 4, 2019
8fb8bb0
Fix deadlock when shuting down
Martin-Molinero Apr 29, 2019
a3eb6e5
Add shield of conda-forge package to README (#877)
m-rossi Jun 1, 2019
14c94db
Generate NuGet package during build (#875)
inna-w Jun 3, 2019
46df1e4
Enable C# parameters of type `object` accept any argument, passed fro…
lostmsu Jun 17, 2019
3a62b0a
Improve performance of unwrapping .NET objects passed from Python
lostmsu Jun 14, 2019
2d0af3d
Fix unit test - Refactor
Martin-Molinero Apr 23, 2019
3dfab86
Revert "Enable C# parameters of type `object` accept any argument, pa…
filmor Jun 20, 2019
44277d1
Fix the failing test (#888)
filmor Jun 20, 2019
40007ad
Support ARM architectures again (#887)
filmor Jun 24, 2019
6335e44
Get the correct library loading functions at runtime
filmor Jun 25, 2019
ed3009e
Implement error handling, move using statements
filmor Jun 26, 2019
95b842e
Bump C# language version to 7.3 (#896)
lostmsu Jun 26, 2019
f08fa5e
Improve "No method matches given arguments" message with more details…
lostmsu Jun 28, 2019
6896410
Safe wheel import (#905)
chrisjbremner Jul 3, 2019
c835ced
Simplify travis config and pin mono to 5.20 (#927)
filmor Aug 1, 2019
ae18126
Removes imports deprecated in Python3 (#925)
Cronan Aug 2, 2019
3b1cdc0
Fix so that Runtime.PyModuleType is retrieved via Python.dll (#904) (…
ftreurni Aug 2, 2019
b610cc9
Readd .NET implementations of GC slots again (#913)
filmor Aug 2, 2019
3728cba
Adds support to convert iterators to arrays (#928)
jmlidbetter Aug 5, 2019
5f8d5dc
Fixes bug where there is casting on delegates -- this is explicitly i…
jmlidbetter Aug 26, 2019
17bc3f5
Feature/named arg support (#953)
s4v4g3 Sep 12, 2019
1d33b46
Update readme with resources (#955)
Sep 20, 2019
2355f54
Fix implicit conversion method resolution
Martin-Molinero Sep 23, 2019
6dba85e
Detect py arch (#961)
jmlidbetter Oct 1, 2019
39470c4
Implement PyList to C# list conversion
Martin-Molinero Oct 15, 2019
50ccbfd
Provide hook to implement __repr__ (#808)
koubaa Oct 18, 2019
9d3b020
Add function to set Py_NoSiteFlag global variable to 1 (#971)
alexhelms Oct 23, 2019
5dca959
Adds performance tests, that compare to published NuGet (#975)
lostmsu Oct 23, 2019
c630f9f
Improve assembly manager initialization
Martin-Molinero Nov 11, 2019
3e79cf2
Update .Net framework to 4.5.2
Martin-Molinero Nov 13, 2019
13420cc
Adds support for the Jetson Nano (#986)
Cronan Nov 13, 2019
378e18d
Add CI support for py3.8. (#988)
matham Nov 19, 2019
4e4b41c
Split from PR 958: restoring the __import__ after shutdown. (#993)
benoithudson Nov 21, 2019
601c87d
Capture function pointer declarations in structs
Jeff17Robbins Nov 28, 2019
0abe94a
Internal implement Py_CompileString for compat with CPython 3.8.0 (#1…
amos402 Dec 2, 2019
b4d2e39
Remove unnecessary `CopySlot` calls (#1004)
amos402 Dec 2, 2019
799182a
Fix refcnt errors (split from #958) (#1001)
amos402 Dec 2, 2019
e88c172
Add mp_length slot for .NET classes implementing ICollection/ICollect…
slide Dec 16, 2019
7d33fe8
Release method wrapper(split from #958) (#1002)
amos402 Dec 18, 2019
0da86b4
* Decref the members of Runtime
amos402 Dec 18, 2019
9d9845d
Transfer the ownership of method's thunk to caller(split from #958) (…
amos402 Dec 18, 2019
f0d7933
Add explicit release action
amos402 Dec 21, 2019
15ce67e
Fix simple typo: heirarchy -> hierarchy (#1026)
timgates42 Dec 31, 2019
cf822c2
Decref the PyDecimalType of Runtime
AlexCatarino Jun 27, 2020
64506ca
enable expanding set of marshaling conversions via PyObjectConversions
lostmsu Sep 12, 2019
87612f9
fixed ConversionsObject test failing due to sequence to array convers…
lostmsu Jan 16, 2020
4f7f150
attempt to fix CI build issue with ValueTuple under Mono
lostmsu Jan 16, 2020
0c72955
added RefereneAssemblies package reference to fix CI build
lostmsu Jan 30, 2020
2da90ba
marked the new codecs API as unstable
lostmsu Feb 1, 2020
c6783a4
attempt to fix PyScopeTest.TestThread() reading stale value from res …
lostmsu Feb 1, 2020
a35d546
GILState.Dispose is safe to be called multiple times (#1037)
lostmsu Feb 3, 2020
687552f
Added parameter validation to PyObject methods (#1021)
lostmsu Feb 3, 2020
fffd53a
CI for performance tests (#992)
lostmsu Feb 13, 2020
bac9d31
#1047 ModuleObject __getattribute__ doesn't treat exceptions ocurred …
as250735 Feb 20, 2020
230c89a
#1047 ModuleObject __getattribute__ doesn't treat exceptions ocurred …
as250735 Feb 20, 2020
db17881
report AppVeyor build timings
lostmsu Feb 20, 2020
9bd3007
reduced number of iterations in performance tests to fit into AppVeyo…
lostmsu Feb 20, 2020
f370bc0
make timings output more prominent
lostmsu Feb 20, 2020
7df8429
fixed bad IncRef after PyTuple_New
lostmsu Feb 21, 2020
8cd32d1
corrected reference counting in Codecs
lostmsu Feb 21, 2020
9c8129d
don't dispose encoded object in case codec keeps a cache of them
lostmsu Feb 21, 2020
3f75d20
limit benchmark time in config
lostmsu Feb 22, 2020
cc144b2
ensure Py handles are inaccessible after PythonException is disposed …
lostmsu Feb 23, 2020
f2db323
do not dispose object, that might have been just decoded succesfully,…
lostmsu Feb 23, 2020
6fcfb6b
remove incref for tuple fields, as Converter.ToPython is supposed to …
lostmsu Feb 23, 2020
59d13dc
Update test dependencies to the latest stable versions (#1054)
lostmsu Feb 25, 2020
02c400a
fixed reference counting for exception objects in Py.With (#1062)
lostmsu Feb 26, 2020
abe9473
added checks to PyCheck_Iter_PyObject_IsIterable_ThreadingLock_Test i…
lostmsu Feb 26, 2020
9f3e32a
Safe pointers (#1043)
lostmsu Feb 26, 2020
6bbb051
Disable 3.8 tests in AppVeyor temporarily, as they never pass yet any…
lostmsu Feb 29, 2020
cb0866b
correctly dispose the result of PyRun_String (#1071)
lostmsu Mar 2, 2020
16c4701
Enable C# parameters of type `object` accept any argument, passed fro…
lostmsu Mar 3, 2020
f9f1dd5
reimplemented some of the PyList members using BorrowedReference (#1068)
lostmsu Mar 3, 2020
5782f96
adds extension object.GetRawPythonProxy() (#1078)
lostmsu Mar 6, 2020
608d2cc
Fix synchronization in PyScopeTest.TestThread as suggested in da97502…
lostmsu Mar 6, 2020
2384e95
fixed tuple codec not clearing Python exception after unsuccessful el…
lostmsu Mar 10, 2020
cd01586
Python runtime must be initialized before trying to acquire GIL (#1086)
lostmsu Mar 10, 2020
6aebf6b
allow borrowing from NewReference
lostmsu Mar 11, 2020
ce0aabe
Implements DictionaryObject
AlexCatarino Mar 28, 2020
81e809a
Changes DictionaryObject to KeyValuePairEnumerableObject
AlexCatarino Mar 30, 2020
0b177be
Addresses Peer-Review: Perfomance Improments
AlexCatarino Mar 31, 2020
b187923
Add Format method to pythonexception (#1031)
slide Apr 8, 2020
14be2ca
Update vswhere usage (#1105)
slide Apr 9, 2020
d6e8015
fix compile error when PYTHON_WITHOUT_ENABLE_SHARED is not set #977
lostmsu Apr 21, 2020
6023b30
Codec groups: EncoderGroup and DecoderGroup (#1085)
lostmsu Apr 22, 2020
c6f7e47
Remove unnecessary glib-dev dependency #1120 (#1121)
lostmsu Apr 22, 2020
fc733f7
update NonCopyableAnalyzer (#1123)
lostmsu Apr 24, 2020
db70821
Add RawProxyEncoder (#1122)
lostmsu Apr 29, 2020
bb34f7b
Removes new object.GetRawPythonProxy extension method in favor of exi…
lostmsu May 1, 2020
41a413f
Add IsNone() and Runtime.None (#1137)
henon May 11, 2020
b51e4d8
Link stdc++ and force-preload libmono on Linux (#1139)
filmor May 11, 2020
e7b6530
simplified Finalizer
lostmsu Mar 17, 2020
752924d
Removes UnsafeDispose since Dispose Does Not Require
AlexCatarino Jun 29, 2020
84a9df0
check if PyObject.Dispose throws any Python exceptions
lostmsu May 1, 2020
e013a5e
allow excluding public .NET types from being exposed to Python
lostmsu Sep 28, 2019
fea265e
temporarily remove NET40 define to see if we can get going without it
lostmsu May 1, 2020
d5e164a
Improve "No constructor matches given arguments" message with more de…
lostmsu May 14, 2020
284b108
Only run conda builds for tagged commits
filmor May 14, 2020
a9c7b6b
Reactivate Python 3.8 CI build
filmor May 10, 2020
6eba814
Set __classcell__ if it exists
filmor May 14, 2020
3deb29d
Make the newest python versions run first in CI
filmor May 15, 2020
ab2a39b
Implement InitializePlatformData without calling Python
filmor May 15, 2020
9cf3763
Stop exposing Python's MachineName on Runtime
filmor May 15, 2020
7891a50
Drop OperatingSystemName from the interface as well
filmor May 15, 2020
d914a1c
Code review adjustments
filmor May 15, 2020
a3368be
Update changelog
filmor May 16, 2020
bc836e6
Improve performance of unwrapping .NET objects passed from Python (#930)
filmor May 16, 2020
c8586bb
Fix params argument handling (#1106)
slide May 16, 2020
e06f26c
Update project lead list
filmor May 17, 2020
a016014
Update copyright notice and use Python.NET everywhere
filmor May 17, 2020
17e53fe
Update README
filmor May 17, 2020
d8b3fcb
Add link to Code of Conduct
filmor May 17, 2020
551f5a5
Drop conda recipe as the one in conda-forge should be maintained (#1147)
filmor May 18, 2020
36f5a8b
Encode strings passed to PyRun_String as UTF8
NickSavin Mar 5, 2019
95725f3
Prepare for 2.5.0 release
filmor May 18, 2020
81dda7b
Add Python 3.8 in the setup.py classifier list
filmor Jun 9, 2020
91c2558
Make pycparser an unconditional requirement for now
filmor Jun 13, 2020
5388911
Fix typo
filmor Jun 13, 2020
4d33c41
Make pip recognise the dependency on pycparser
filmor Jun 14, 2020
e03c0ce
Drop bumpversion as we never used it anyhow
filmor Jun 14, 2020
f8f1f95
Release 2.5.0
filmor Jun 14, 2020
19890e6
Make test install on AppVeyor use the index for pycparser
filmor Jun 14, 2020
db22d47
Bump version to 3.0.0dev
filmor Jun 14, 2020
034330f
Increase ob's ref count in tp_repr to avoid accidental free
DanBarzilian Jun 17, 2020
8126db6
fixed crash due to unnecessary decref of a borrowed reference in para…
lostmsu Jun 18, 2020
7b1f4d7
Update changelog
filmor Jun 18, 2020
d38f864
Drop Python 2 support (#1158)
filmor Jun 20, 2020
0832c43
reimplement remoting check with .NET standard-compatible reflection (…
koubaa Jun 24, 2020
2068399
Adds keyvaluepairenumerableobject.cs Back to Python.Runtime Project
AlexCatarino Jun 29, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 0 additions & 29 deletions .bumpversion.cfg

This file was deleted.

11 changes: 11 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,17 @@ indent_size = 2
[*.{csproj,pyproj,config}]
indent_size = 2

# .NET formatting settings
[*.{cs,vb}]
dotnet_sort_system_directives_first = true
dotnet_separate_import_directive_groups = true

[*.cs]
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true

# Solution
[*.sln]
indent_style = tab
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,10 @@ UpgradeLog*.htm

# Coverity
cov-int/

# Visual Studio Code
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
105 changes: 19 additions & 86 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,87 +1,17 @@
dist: trusty
dist: xenial
sudo: false
language: python

matrix:
include:
# --------------------- XPLAT builds ------------------------
- python: 2.7
env: &xplat-env
- BUILD_OPTS=--xplat
- NUNIT_PATH=~/.nuget/packages/nunit.consolerunner/3.*/tools/nunit3-console.exe
addons: &xplat-addons
apt:
sources:
- sourceline: deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod trusty main
key_url: https://packages.microsoft.com/keys/microsoft.asc
- sourceline: deb http://download.mono-project.com/repo/ubuntu trusty main
key_url: http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xA6A19B38D3D831EF
packages:
- mono-devel
- ca-certificates-mono
- dotnet-hostfxr-2.0.0
- dotnet-runtime-2.0.0
- dotnet-sdk-2.0.0

- python: 3.4
env: *xplat-env
addons: *xplat-addons

- python: 3.5
env: *xplat-env
addons: *xplat-addons

- python: 3.6
env: *xplat-env
addons: *xplat-addons

- python: 3.7
env: *xplat-env
dist: xenial
sudo: true
addons: &xplat-addons-xenial
apt:
sources:
- sourceline: deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main
key_url: https://packages.microsoft.com/keys/microsoft.asc
- sourceline: deb https://download.mono-project.com/repo/ubuntu stable-xenial main
key_url: http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xA6A19B38D3D831EF
packages:
- mono-devel
- ca-certificates-mono
- dotnet-hostfxr-2.0.0
- dotnet-runtime-2.0.0
- dotnet-sdk-2.0.0

# --------------------- Classic builds ------------------------
- python: 2.7
env: &classic-env
- BUILD_OPTS=
- NUNIT_PATH=./packages/NUnit.*/tools/nunit3-console.exe

- python: 3.4
env: *classic-env

- python: 3.5
env: *classic-env

- python: 3.6
env: *classic-env

- python: 3.7
env: *classic-env
dist: xenial
sudo: true
addons:
apt:
sources:
- sourceline: deb http://download.mono-project.com/repo/ubuntu xenial main
key_url: http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xA6A19B38D3D831EF
packages:
- mono-devel
- ca-certificates-mono
python:
- 3.8
- 3.7
- 3.6
- 3.5

env:
matrix:
- BUILD_OPTS=--xplat NUNIT_PATH="~/.nuget/packages/nunit.consolerunner/3.*/tools/nunit3-console.exe" RUN_TESTS=dotnet EMBED_TESTS_PATH=netcoreapp2.0_publish/ PERF_TESTS_PATH=net461/
- BUILD_OPTS="" NUNIT_PATH="./packages/NUnit.*/tools/nunit3-console.exe" RUN_TESTS="mono $NUNIT_PATH" EMBED_TESTS_PATH="" PERF_TESTS_PATH=""

global:
- LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
- SEGFAULT_SIGNALS=all
Expand All @@ -91,11 +21,16 @@ env:
addons:
apt:
sources:
- sourceline: deb http://download.mono-project.com/repo/ubuntu trusty main
- sourceline: deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main
key_url: https://packages.microsoft.com/keys/microsoft.asc
- sourceline: deb http://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/5.20 main
key_url: http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xA6A19B38D3D831EF
packages:
- mono-devel
- ca-certificates-mono
- dotnet-hostfxr-2.2
- dotnet-runtime-2.2
- dotnet-sdk-2.2

before_install:
# Set-up dll path for embedded tests
Expand All @@ -109,13 +44,11 @@ install:

script:
- python -m pytest
- mono $NUNIT_PATH src/embed_tests/bin/Python.EmbeddingTest.dll
- if [[ $BUILD_OPTS == --xplat ]]; then dotnet src/embed_tests/bin/netcoreapp2.0_publish/Python.EmbeddingTest.dll; fi
- $RUN_TESTS src/embed_tests/bin/$EMBED_TESTS_PATH/Python.EmbeddingTest.dll --labels=All
# does not work on Linux, because NuGet package for 2.3 is Windows only
# - "if [[ $TRAVIS_PYTHON_VERSION == '3.5' && $PERF_TESTS_PATH != '' ]]; then mono $NUNIT_PATH src/perf_tests/bin/$PERF_TESTS_PATH/Python.PerformanceTests.dll; fi"

after_script:
# Uncomment if need to geninterop, ie. py37 final
# - python tools/geninterop/geninterop.py

# Waiting on mono-coverage, SharpCover or xr.Baboon
- coverage xml -i
- codecov --file coverage.xml --flags setup_linux
Expand Down
22 changes: 19 additions & 3 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@

## Development Lead

- Barton Cline ([@BartonCline](https://github.com/BartonCline))
- Benedikt Reinartz ([@filmor](https://github.com/filmor))
- Victor Milovanov ([@lostmsu](https://github.com/lostmsu))

## Former Development Leads
- Barton Cline ([@BartonCline](https://github.com/BartonCline))
- Brian Lloyd ([@brianlloyd](https://github.com/brianlloyd))
- David Anthoff ([@davidanthoff](https://github.com/davidanthoff))
- Denis Akhiyarov ([@denfromufa](https://github.com/denfromufa))
Expand All @@ -12,30 +15,41 @@

## Contributors

- Alex Earl ([@slide](https://github.com/slide))
- Alex Helms ([@alexhelms](https://github.com/alexhelms))
- Alexandre Catarino([@AlexCatarino](https://github.com/AlexCatarino))
- Andrey Sant'Anna ([@andreydani](https://github.com/andreydani))
- Arvid JB ([@ArvidJB](https://github.com/ArvidJB))
- Benoît Hudson ([@benoithudson](https://github.com/benoithudson))
- Bradley Friedman ([@leith-bartrich](https://github.com/leith-bartrich))
- Callum Noble ([@callumnoble](https://github.com/callumnoble))
- Christian Heimes ([@tiran](https://github.com/tiran))
- Christoph Gohlke ([@cgohlke](https://github.com/cgohlke))
- Christopher Bremner ([@chrisjbremner](https://github.com/chrisjbremner))
- Christopher Pow ([@christopherpow](https://github.com/christopherpow))
- Daniel Fernandez ([@fdanny](https://github.com/fdanny))
- Daniel Santana ([@dgsantana](https://github.com/dgsantana))
- Dave Hirschfeld ([@dhirschfeld](https://github.com/dhirschfeld))
- David Lassonde ([@lassond](https://github.com/lassond))
- David Lechner ([@dlech](https://github.com/dlech))
- Dmitriy Se ([@dmitriyse](https://github.com/dmitriyse))
- Florian Treurniet ([@ftreurni](https://github.com/ftreurni))
- He-chien Tsai ([@t3476](https://github.com/t3476))
-   Ivan Cronyn ([@cronan](https://github.com/cronan))
- Inna Wiesel ([@inna-w](https://github.com/inna-w))
- Ivan Cronyn ([@cronan](https://github.com/cronan))
- Jan Krivanek ([@jakrivan](https://github.com/jakrivan))
-   Jeff Reback ([@jreback](https://github.com/jreback))
- Jeff Reback ([@jreback](https://github.com/jreback))
- Jeff Robbins ([@jeff17robbins](https://github.com/jeff17robbins))
- Joe Frayne ([@jfrayne](https://github.com/jfrayne))
- Joe Lidbetter ([@jmlidbetter](https://github.com/jmlidbetter))
- Joe Savage ([@s4v4g3](https://github.com/s4v4g3))
- John Burnett ([@johnburnett](https://github.com/johnburnett))
- John Wilkes ([@jbw3](https://github.com/jbw3))
- Luke Stratman ([@lstratman](https://github.com/lstratman))
- Konstantin Posudevskiy ([@konstantin-posudevskiy](https://github.com/konstantin-posudevskiy))
- Matthias Dittrich ([@matthid](https://github.com/matthid))
- Meinrad Recheis ([@henon](https://github.com/henon))
- Mohamed Koubaa ([@koubaa](https://github.com/koubaa))
- Patrick Stewart ([@patstew](https://github.com/patstew))
- Raphael Nestler ([@rnestler](https://github.com/rnestler))
- Rickard Holmberg ([@rickardraysearch](https://github.com/rickardraysearch))
Expand All @@ -54,8 +68,10 @@
- ([@civilx64](https://github.com/civilx64))
- ([@GSPP](https://github.com/GSPP))
- ([@omnicognate](https://github.com/omnicognate))
- ([@OneBlue](https://github.com/OneBlue))
- ([@rico-chet](https://github.com/rico-chet))
- ([@rmadsen-ks](https://github.com/rmadsen-ks))
- ([@stonebig](https://github.com/stonebig))
- ([@testrunner123](https://github.com/testrunner123))
- ([@DanBarzilian](https://github.com/DanBarzilian))

78 changes: 74 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,75 @@
# Changelog

All notable changes to Python for .NET will be documented in this file.
This project adheres to [Semantic Versioning][].
All notable changes to Python.NET will be documented in this file. This
project adheres to [Semantic Versioning][].

This document follows the conventions laid out in [Keep a CHANGELOG][].

## [unreleased][]
## [Unreleased][]

### Added

### Changed
- Drop support for Python 2

### Fixed

- Fix incorrect dereference of wrapper object in `tp_repr`, which may result in a program crash
- Fix incorrect dereference in params array handling

## [2.5.0][] - 2020-06-14

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 as
`traceback.format_exception`
- `Runtime.None` to be able to pass `None` 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` and `PyClass_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)` to
`GetDelegateForFunctionPointer<TDelegate>(IntPtr)`
- 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])
- 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` and `Runtime.MachineName` as
`Obsolete`, should never have been `public` in the first place. They also
don't necessarily return a result that matches the `platform` module's.
- Unconditionally depend on `pycparser` for the interop module generation

### 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

## [2.4.0][] - 2019-05-15

### Added

Expand All @@ -21,13 +85,19 @@ This document follows the conventions laid out in [Keep a CHANGELOG][].
- 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)
- Look for installed Windows 10 sdk's during installation instead of relying on specific versions.
- improved performance of calls from Python to C#

### Fixed

Expand All @@ -43,7 +113,7 @@ This document follows the conventions laid out in [Keep a CHANGELOG][].
- 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 `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])
Expand Down
7 changes: 6 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
# How to contribute

PythonNet is developed and maintained by unpaid community members so well
Python.NET is developed and maintained by unpaid community members so well
written, documented and tested pull requests are encouraged.

By submitting a pull request for this project, you agree to license your
contribution under the MIT license to this project.

This project has adopted the code of conduct defined by the Contributor
Covenant to clarify expected behavior in our community. For more information
see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct).

## Getting Started

- Make sure you have a [GitHub account](https://github.com/signup/free)
Expand Down Expand Up @@ -41,3 +45,4 @@ contribution under the MIT license to this project.

- [General GitHub documentation](https://help.github.com/)
- [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
- [.NET Foundation Code of Conduct](https://dotnetfoundation.org/about/code-of-conduct)
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2006-2017 the contributors of the "Python for .NET" project
Copyright (c) 2006-2020 the contributors of the Python.NET project

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
Expand Down
Loading