Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
d6c9716
Support weakref for CLR types
amos402 Sep 24, 2020
2972f49
Merge pull request #958 from amos402/soft-shutdown
lostmsu Oct 8, 2020
7f4f77b
Fixed dllLocal not being initialized. (#1252)
benoithudson Oct 9, 2020
6d59aea
Return interface objects when iterating over interface collections
danabr Oct 12, 2020
21f11db
Make `len` work for `ICollection<>` interface objects
danabr Oct 6, 2020
64a6909
Fix typo
danabr Oct 9, 2020
db30b87
enable source link and symbol package generation during build
lostmsu Oct 12, 2020
f506d65
Fixed polyfill for TypeBuilder.CreateType (#1261)
lostmsu Oct 13, 2020
de7c7c2
Fix Appveyor configuration
filmor Oct 14, 2020
5d57e5a
Merge branch 'master' into weakref-support
amos402 Oct 22, 2020
f08813c
Apply unified mechanism for `GetManagedObjectType`
amos402 Oct 22, 2020
84e2735
fix wrongly cased Microsoft.CSHARP.Targets
vivainio Nov 2, 2020
d0c588b
Add intern string and PyIdentifier (#1254)
amos402 Nov 6, 2020
36bdb98
use .NET Core 3.1 LTS for tests (instead of 2.0)
lostmsu Nov 11, 2020
6be3636
Python 3.9 (#1264)
filmor Nov 13, 2020
6dd40dc
minor improvement to debugging experience
lostmsu Nov 11, 2020
2e6d12f
Remove deprecated implicit assembly loading
lostmsu Nov 11, 2020
7870a9f
Ensure methods of Object are also available on interface objects (#1284)
danabr Nov 17, 2020
c81c3c3
Fix kwarg func resolution (#1136)
jmlidbetter Nov 18, 2020
182faed
allow creating new .NET arrays from Python using Array[T](dim1, dim2,…
lostmsu Nov 24, 2020
67c6d11
detect the size of wchar_t (aka Runtime.UCS) at runtime using PyUnico…
lostmsu Nov 30, 2020
4831b83
TypeOffset class no longer depends on target Python version
lostmsu Nov 24, 2020
125c818
implemented NativeTypeOffset for installation with setup.py
lostmsu Nov 24, 2020
d623d2f
fixed missing ITypeOffset members np_inplace_*
lostmsu Nov 25, 2020
ab97b02
revert slot-related parts of 1b466df0 to avoid conditional compilation
lostmsu Nov 30, 2020
57f4a80
Create main.yml
lostmsu Dec 8, 2020
5b09ba6
Parameters marked with `ParameterAttributes.Out` are no longer return…
lostmsu Dec 8, 2020
f8c27a1
Added github actions workflow to replace travis (#1307)
lostmsu Dec 9, 2020
f811e51
Convert projects to SDK style
filmor Nov 7, 2020
5607205
Drop CLSCompliant attributes to get rid of warnings
filmor Nov 14, 2020
fabe401
Add pyparser dependency to pyproject.toml
filmor Dec 9, 2020
6f97bdd
Adjust clr loading and merge Mono code into one file
filmor Dec 9, 2020
ee990b7
Adjust workflows
filmor Dec 9, 2020
640b497
Ignore test failing on Mono for now
filmor Dec 9, 2020
d75cdcc
Always run configure step if dotnet modules are present
filmor Dec 10, 2020
6cb3fd9
Add solution items back
filmor Dec 10, 2020
deaf97b
Remove outdated comment
filmor Dec 10, 2020
916b26a
Run AppVeyor tests without coverage for now
filmor Dec 10, 2020
3ae7026
Split build_dotnet into its own command
filmor Dec 10, 2020
e3f8c20
Do the clr import later to not interfere with other test imports
filmor Dec 10, 2020
f5c76b0
Merge pull request #1209 from filmor/sdk-style
filmor Dec 10, 2020
c692491
Test other Operating Systems than Linux via Github Actions (#1310)
filmor Dec 10, 2020
24c5af3
Remove accidentally merged change
filmor Dec 10, 2020
4133927
Ensure that param-array matching works correctly (#1304)
filmor Dec 10, 2020
b014ce1
Merge branch 'master' into weakref-support
filmor Dec 10, 2020
ce76f2e
Adjust shields in README
filmor Dec 10, 2020
d888244
fixed CollectBasicObject by ensuring MakeAGarbage is not keeping temp…
lostmsu Dec 10, 2020
ff86507
reworked Finalizer to only store raw python object handles instead of…
lostmsu Dec 11, 2020
ca96444
fixed domain reload test, that tries to call static method from objec…
lostmsu Dec 11, 2020
9934cc8
Remove API warnings as these will be stabilised for 3.0
filmor Dec 11, 2020
c23958e
Replace custom platform handling by RuntimeInformation
filmor Dec 11, 2020
6bc85ff
Merge pull request #1313 from losttech/bugs/1309
filmor Dec 12, 2020
ffbbf17
Implement inplace building and develop (#1317)
filmor Dec 12, 2020
d2685a1
Drop the long-deprecated CLR.* alias
filmor Dec 12, 2020
bd264cf
Fix or disable warnings in Python.Runtime (#1318)
filmor Dec 12, 2020
44a36dc
Update ISSUE_TEMPLATE.md
filmor Dec 17, 2020
08ea6f3
refactoring in CreateSubType
lostmsu Dec 17, 2020
9682dc6
allocate space for GCHandle in instances of CLR Metatype (which are t…
lostmsu Dec 18, 2020
38b3f01
classderived: handle tp_dealloc called after tp_clear
lostmsu Dec 18, 2020
039b3ca
a few extra assertions
lostmsu Dec 18, 2020
7e73b0d
Merge pull request #1330 from losttech/bugs/1327
filmor Dec 18, 2020
e2ab3ae
fixed crash in finalizer of CLR types defined in Python, that survive…
lostmsu Dec 18, 2020
6a5c3a4
Add test-case for non-ASCII method name
filmor Dec 16, 2020
139dc87
Ensure that all *String C-API functions are used with UTF8
filmor Dec 18, 2020
9307bb3
Fix illegal delegate usage (#1328)
BadSingleton Dec 18, 2020
7a03b61
Ensure that the DLL locations exist for clean checkouts
filmor Dec 18, 2020
7149d5e
PyIter: do not force dispose previous object upon moving to the next …
lostmsu Dec 18, 2020
d9e15a7
Incorrectly using a non-generic type with type parameters now produce…
tminka Dec 18, 2020
e7f97a9
Merge branch 'master' into weakref-support
amos402 Dec 21, 2020
b68f0a4
* Remove magic offset
amos402 Dec 21, 2020
b4b1cff
Merge branch 'master' into weakref-support
amos402 Dec 21, 2020
a0d1a3d
Call PyErr_NormalizeException for exceptions (#1265)
slide Dec 21, 2020
1f40564
TestPythonEngineProperties.SetPythonPath avoids corrupting the module…
tminka Dec 22, 2020
cac82a6
ABI.Initialize gives a helpful message when the TypeOffset interop cl…
tminka Jan 4, 2021
107c8b9
PyObject.AsManagedObject gives a better error message
tminka Jan 4, 2021
5bb2566
Python tests can now be debugged by running them as embedded tests wi…
tminka Dec 31, 2020
0ccc443
ImportHook preserves the original exception message when an import fails
tminka Jan 4, 2021
0a88f27
Use PythonException.Restore
tminka Jan 5, 2021
4ac44fe
Updated CHANGELOG
tminka Jan 5, 2021
96cc739
Merge pull request #1341 from tminka/TestPythonTest
lostmsu Jan 5, 2021
9f01ebb
Operator overloads support (#1324)
christabella Jan 5, 2021
0c41273
time limit GitHub actions to 5 min
lostmsu Jan 7, 2021
d6c0081
Support changes to CLR code when domain reloads
BadSingleton Jan 7, 2021
ed6763c
Add more more tests for in, out and ref parameters
BadSingleton Jan 6, 2021
e44aa46
Support comparison operators (#1347)
christabella Jan 12, 2021
0f33f71
disable implicit conversion from PyFloat to .NET integer types (fixes…
lostmsu Dec 31, 2020
5fd77b1
Add PythonEngine.Interrupt (#1337)
gpetrou Jan 21, 2021
7e7cbca
Disable implicit conversion from PyFloat to uint64 (#1362)
tminka Jan 21, 2021
32fdc9c
Disable implicit conversion from PyFloat to array index (#1363)
tminka Jan 21, 2021
92932fd
Better error messages for method argument mismatch and others (#1361)
tminka Jan 27, 2021
063a674
Added the ability to implement delegates with `ref` and `out` paramet…
tminka Jan 28, 2021
909ed1f
dropped net40 target from modern projects
lostmsu Nov 30, 2020
47e926e
use .NET Standard 2.0 platform detection features
lostmsu Dec 2, 2020
21683b3
drop NativeCodePage alltogether
lostmsu Dec 2, 2020
972c41d
WIP: use C# 9 function pointers for PInvoke
lostmsu Dec 4, 2020
51e5184
allow setting PythonDLL
lostmsu Dec 10, 2020
2498d47
always explicitly specify the way strings are marshaled
lostmsu Jan 22, 2021
70fc803
CI: figure out DLL name from environment
lostmsu Jan 22, 2021
28a5dab
use Roslyn preview in CI
lostmsu Jan 22, 2021
c75229a
fixed Linux and Mac DLL loaders breaking dll path
lostmsu Jan 22, 2021
a0a1dc1
correctly detect DLL on *nix when running from Python
lostmsu Jan 22, 2021
1b88783
Windows library loader: add support for hModule == 0
lostmsu Jan 22, 2021
2c1aaef
fix dll loading in tests
lostmsu Jan 22, 2021
39e41d0
mentiond PythonDLL in changelog
lostmsu Jan 22, 2021
17040fe
set PYDLL in AppVeyor
lostmsu Jan 22, 2021
b7410b6
revert automatically added 'm' suffix for *nix default dll name
lostmsu Jan 22, 2021
275cae9
specify full DLL name instead of PYVER in GH Actions
lostmsu Jan 22, 2021
b4cb37e
use Microsoft.Net.Compilers.Toolset instead of Microsoft.Net.Compilers
lostmsu Jan 23, 2021
f68e581
in CI MacOS python DLL has 'm' suffix
lostmsu Jan 23, 2021
cda604a
only set PYTHONNET_PYDLL for test runs from .NET
lostmsu Jan 23, 2021
3982892
workaround for pytest/clr module not preloading python C API library
lostmsu Jan 23, 2021
a6cbe20
addressed a few code comments
lostmsu Jan 26, 2021
9e5887c
Merge pull request #1365 from losttech/features/VersionIndependent
lostmsu Jan 28, 2021
1afae4c
Fix exception string (#1360)
filmor Jan 29, 2021
d86bf3c
ParameterInfo.Name needs to be checked for null before usage (#1375)
filmor Feb 4, 2021
ff35e6d
Merge branch 'master' into weakref-support
amos402 Feb 10, 2021
6b2347a
monthly NuGet release previews (#1381)
lostmsu Feb 12, 2021
4da1954
Sign Runtime DLL with a strong name (#1382)
gpetrou Feb 13, 2021
b92d929
Replace clr module by loading through clr_loader
filmor Feb 13, 2021
fdb7144
Add Changelog entry
filmor Feb 14, 2021
f01a78c
Fix domain reload tests and activate them on macOS
filmor Feb 13, 2021
0d7e43a
Run tests on .NET Core
filmor Feb 13, 2021
67032ea
Vendor System.Drawing.Point for testing on .NET Core
filmor Feb 14, 2021
8bc458b
Use approximate comparison for single max/min value comparison
filmor Feb 14, 2021
d46fa1e
Adjust the import tests to use only commonly available deps
filmor Feb 14, 2021
f0011a5
Fix PythonTestRunner to work with new pytest setup
filmor Feb 14, 2021
c1a01b7
Drop references to the obsolete call
filmor Feb 14, 2021
6510ff7
Merge pull request #1373 from filmor/clr-loader
filmor Feb 14, 2021
fb083bb
Adjust setup.py for wheel building
filmor Feb 14, 2021
4c05417
enable manual preview release
lostmsu Feb 17, 2021
132b666
rename nuget preview release workflow
lostmsu Feb 17, 2021
0f5e781
NuGet Preview pipeline changes missed in https://github.com/pythonnet…
lostmsu Feb 17, 2021
1ab9cb1
simplify PyScope by delegating ownership to PyObject instance
lostmsu Jan 23, 2021
707ef36
Lossless encoders for IList<T>, IEnumerable<T> and ICollection<T> (#1…
koubaa Feb 18, 2021
ea3d47a
Merge branch 'master' into weakref-support
amos402 Feb 19, 2021
958a8eb
Fix Shutdown crash
amos402 Feb 19, 2021
53ad8d9
Use PyTypeType.tp_basicsize as size of PyHeapTypeObject directly inst…
amos402 Feb 19, 2021
d0d7616
ensure interned strings can not be referenced after InternString.Shut…
lostmsu Feb 21, 2021
83328d2
made InterruptTest more robust
lostmsu Feb 21, 2021
6db4373
added NuGet shields to README
lostmsu Feb 21, 2021
6f1219f
mentioned PythonDLL in README
lostmsu Feb 21, 2021
647bc8a
Merge branch 'master' into weakref-support
amos402 Feb 21, 2021
f474039
* Use C# 9.0 for Python.EmbeddingTest.csproj
amos402 Feb 21, 2021
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
4 changes: 4 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ csharp_new_line_before_finally = true
[*.sln]
indent_style = tab

[*.csproj]
charset = utf-8
insert_final_newline = true

# bumpversion reformats itself after every bump
[.bumpversion.cfg]
trim_trailing_whitespace = false
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
- Pythonnet version:
- Python version:
- Operating System:
- .NET Runtime:

### Details

Expand Down
77 changes: 77 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: GitHub Actions

on: [ pull_request, push ]

jobs:
build-test:
name: Build and Test
runs-on: ${{ matrix.os }}-latest
timeout-minutes: 5

strategy:
fail-fast: false
matrix:
os: [windows, ubuntu, macos]
python: ["3.6", "3.7", "3.8", "3.9"]
platform: [x64]
shutdown_mode: [Normal, Soft]

env:
PYTHONNET_SHUTDOWN_MODE: ${{ matrix.SHUTDOWN_MODE }}

steps:
- name: Set Environment on macOS
uses: maxim-lobanov/setup-xamarin@v1
if: ${{ matrix.os == 'macos' }}
with:
mono-version: latest

- name: Checkout code
uses: actions/checkout@v2

- name: Setup .NET
uses: actions/setup-dotnet@v1

- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
architecture: ${{ matrix.platform }}

- name: Install dependencies
run: |
pip install --upgrade -r requirements.txt

- name: Build and Install
run: |
pip install -v .

- name: Set Python DLL path (non Windows)
if: ${{ matrix.os != 'windows' }}
run: |
python -m pythonnet.find_libpython --export >> $GITHUB_ENV

- name: Set Python DLL path (Windows)
if: ${{ matrix.os == 'windows' }}
run: |
python -m pythonnet.find_libpython --export | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

- name: Python Tests (Mono)
if: ${{ matrix.os != 'windows' }}
run: pytest --runtime mono

- name: Python Tests (.NET Core)
run: pytest --runtime netcore

- name: Python Tests (.NET Framework)
if: ${{ matrix.os == 'windows' }}
run: pytest --runtime netfx

- name: Embedding tests
run: dotnet test --runtime any-${{ matrix.platform }} src/embed_tests/

- name: Python tests run from .NET
run: dotnet test --runtime any-${{ matrix.platform }} src/python_tests_runner/

# TODO: Run perf tests
# TODO: Run mono tests on Windows?
60 changes: 60 additions & 0 deletions .github/workflows/nuget-preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: NuGet Preview Release

on:
schedule:
- cron: "5 4 3 */1 *" # once a month, at 4:05 on 3rd
workflow_dispatch:

jobs:
release:
name: Release Preview
runs-on: ubuntu-latest
environment: NuGet
timeout-minutes: 10

env:
PYTHONNET_SHUTDOWN_MODE: Normal

steps:
- name: Get Date
run: |
echo "DATE_VER=$(date "+%Y-%m-%d")" >> $GITHUB_ENV

- name: Checkout code
uses: actions/checkout@v2

- name: Setup .NET
uses: actions/setup-dotnet@v1

- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
architecture: x64

- name: Install dependencies
run: |
pip install --upgrade -r requirements.txt

- name: Build and Install
run: |
pip install -v .

- name: Python Tests
run: pytest
env:
PYTHONNET_PYDLL: libpython3.8.so

- name: Embedding tests
run: dotnet test --runtime any-ubuntu src/embed_tests/
env:
PYTHONNET_PYDLL: libpython3.8.so

- name: Pack
run: dotnet pack --configuration Release --version-suffix preview${{env.DATE_VER}} --output "Release-Preview"

- name: Publish NuGet
run: dotnet nuget push --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_MONTHLY }} Release-Preview/*.nupkg

# TODO: Run perf tests
# TODO: Run mono tests on Windows?
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
/src/runtime/interopNative.cs

# General binaries and Build results
*.dll
*.exe
*.pdb
*.deps.json

### JetBrains ###
.idea/
Expand All @@ -15,6 +18,7 @@ __pycache__/
build/
dist/
*.egg-info/
.eggs/

# Unit test / coverage reports
htmlcov/
Expand Down
60 changes: 0 additions & 60 deletions .travis.yml

This file was deleted.

7 changes: 5 additions & 2 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
- Benoît Hudson ([@benoithudson](https://github.com/benoithudson))
- Bradley Friedman ([@leith-bartrich](https://github.com/leith-bartrich))
- Callum Noble ([@callumnoble](https://github.com/callumnoble))
- Christabella Irwanto([@christabella](https://github.com/christabella))
- Christian Heimes ([@tiran](https://github.com/tiran))
- Christoph Gohlke ([@cgohlke](https://github.com/cgohlke))
- Christopher Bremner ([@chrisjbremner](https://github.com/chrisjbremner))
Expand Down Expand Up @@ -60,14 +61,15 @@
- Sean Freitag ([@cowboygneox](https://github.com/cowboygneox))
- Serge Weinstock ([@sweinst](https://github.com/sweinst))
- Simon Mourier ([@smourier](https://github.com/smourier))
- Tom Minka ([@tminka](https://github.com/tminka))
- Viktoria Kovescses ([@vkovec](https://github.com/vkovec))
- Ville M. Vainio ([@vivainio](https://github.com/vivainio))
- Virgil Dupras ([@hsoft](https://github.com/hsoft))
- Wenguang Yang ([@yagweb](https://github.com/yagweb))
- William Sardar ([@williamsardar])(https://github.com/williamsardar)
- William Sardar ([@williamsardar](https://github.com/williamsardar))
- Xavier Dupré ([@sdpython](https://github.com/sdpython))
- Zane Purvis ([@zanedp](https://github.com/zanedp))
- ([@amos402]https://github.com/amos402)
- ([@amos402](https://github.com/amos402))
- ([@bltribble](https://github.com/bltribble))
- ([@civilx64](https://github.com/civilx64))
- ([@GSPP](https://github.com/GSPP))
Expand All @@ -80,3 +82,4 @@
- ([@testrunner123](https://github.com/testrunner123))
- ([@DanBarzilian](https://github.com/DanBarzilian))
- ([@alxnull](https://github.com/alxnull))
- ([@gpetrou](https://github.com/gpetrou))
54 changes: 45 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,63 @@ This document follows the conventions laid out in [Keep a CHANGELOG][].

### Added

- Ability to instantiate new .NET arrays using `Array[T](dim1, dim2, ...)` syntax
- Python operator method will call C# operator method for supported binary and unary operators ([#1324][p1324]).
- Add GetPythonThreadID and Interrupt methods in PythonEngine
- Ability to implement delegates with `ref` and `out` parameters in Python, by returning the modified parameter values in a tuple. ([#1355][i1355])

### Changed
- Drop support for Python 2, 3.4, and 3.5
- `wchar_t` size aka `Runtime.UCS` is now determined at runtime
- `clr.AddReference` may now throw errors besides `FileNotFoundException`, that provide more
details about the cause of the failure
- `clr.AddReference` no longer adds ".dll" implicitly
- `PyIter(PyObject)` constructor replaced with static `PyIter.GetIter(PyObject)` method
- Return values from .NET methods that return an interface are now automatically
- BREAKING: Return values from .NET methods that return an interface are now automatically
wrapped in that interface. This is a breaking change for users that rely on being
able to access members that are part of the implementation class, but not the
interface. Use the new __implementation__ or __raw_implementation__ properties to
if you need to "downcast" to the implementation class.
- BREAKING: Parameters marked with `ParameterAttributes.Out` are no longer returned in addition
to the regular method return value (unless they are passed with `ref` or `out` keyword).
- BREAKING: Drop support for the long-deprecated CLR.* prefix.
- `PyObject` now implements `IEnumerable<PyObject>` in addition to `IEnumerable`
- floating point values passed from Python are no longer silently truncated
when .NET expects an integer [#1342][i1342]
- More specific error messages for method argument mismatch
- BREAKING: Methods with `ref` or `out` parameters and void return type return a tuple of only the `ref` and `out` parameters.
- BREAKING: to call Python from .NET `Runtime.PythonDLL` property must be set to Python DLL name
or the DLL must be loaded in advance. This must be done before calling any other Python.NET functions.
- Sign Runtime DLL with a strong name
- Implement loading through `clr_loader` instead of the included `ClrModule`, enables
support for .NET Core

### Fixed

- Fix incorrect dereference of wrapper object in `tp_repr`, which may result in a program crash
- Fix incorrect dereference in params array handling
- Fix `object[]` parameters taking precedence when should not in overload resolution
- Fixed a bug where all .NET class instances were considered Iterable
- Fix incorrect choice of method to invoke when using keyword arguments.
- Fix non-delegate types incorrectly appearing as callable.
- Indexers can now be used with interface objects
- Fixed a bug where indexers could not be used if they were inherited
- Fix incorrect dereference of wrapper object in `tp_repr`, which may result in a program crash
- Fix incorrect dereference in params array handling
- Fixes issue with function resolution when calling overloaded function with keyword arguments from python ([#1097][i1097])
- Fix `object[]` parameters taking precedence when should not in overload resolution
- Fixed a bug where all .NET class instances were considered Iterable
- Fix incorrect choice of method to invoke when using keyword arguments.
- Fix non-delegate types incorrectly appearing as callable.
- Indexers can now be used with interface objects
- Fixed a bug where indexers could not be used if they were inherited
- Made it possible to use `__len__` also on `ICollection<>` interface objects
- Fixed issue when calling PythonException.Format where another exception would be raise for unnormalized exceptions
- Made it possible to call `ToString`, `GetHashCode`, and `GetType` on inteface objects
- Fixed objects returned by enumerating `PyObject` being disposed too soon
- Incorrectly using a non-generic type with type parameters now produces a helpful Python error instead of throwing NullReferenceException
- `import` may now raise errors with more detail than "No module named X"
- Exception stacktraces on `PythonException.StackTrace` are now properly formatted
- Providing an invalid type parameter to a generic type or method produces a helpful Python error
- Empty parameter names (as can be generated from F#) do not cause crashes

### Removed

- implicit assembly loading (you have to explicitly `clr.AddReference` before doing import)
- support for .NET Framework 4.0-4.6; Mono before 5.4. Python.NET now requires .NET Standard 2.0
(see [the matrix](https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support))

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

Expand Down Expand Up @@ -790,3 +825,4 @@ This version improves performance on benchmarks significantly compared to 2.3.
[i755]: https://github.com/pythonnet/pythonnet/pull/755
[p534]: https://github.com/pythonnet/pythonnet/pull/534
[i449]: https://github.com/pythonnet/pythonnet/issues/449
[i1342]: https://github.com/pythonnet/pythonnet/issues/1342
21 changes: 21 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<Project>
<PropertyGroup>
<VersionPrefix>3.0.0</VersionPrefix>
<AssemblyCopyright>Copyright (c) 2006-2020 The Contributors of the Python.NET Project</AssemblyCopyright>
<AssemblyCompany>pythonnet</AssemblyCompany>
<AssemblyProduct>Python.NET</AssemblyProduct>
<LangVersion>7.3</LangVersion>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="Microsoft.Net.Compilers.Toolset" Version="3.9.0-3.final">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Lost.NonCopyableAnalyzer" Version="0.7.0-m04">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>
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-2020 the contributors of the Python.NET project
Copyright (c) 2006-2021 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
7 changes: 0 additions & 7 deletions NuGet.config

This file was deleted.

Loading