@@ -13,163 +13,164 @@ This document follows the conventions laid out in [Keep a CHANGELOG][].
1313 Currently there two side-by-side build systems that produces the same output (net40) from the same sources.
1414 After a some transition time, current (mono/ msbuild 14.0) build system will be removed.
1515- NUnit upgraded to 3.7 (eliminates travis-ci random bug)
16- - Added ` clr.GetClrType ` (#432 , #433 )
17- - Allowed passing ` None ` for nullable args (#460 )
18- - Added keyword arguments based on C# syntax for calling CPython methods (#461 )
19- - Catches exceptions thrown in C# iterators (yield returns) and rethrows them in python (#475 )
20- - Implemented GetDynamicMemberNames() for PyObject to allow dynamic object members to be visible in the debugger (#443 )
16+ - Added ` clr.GetClrType ` ([ #432 ] [ i432 ] )([ #433 ] [ p433 ] )
17+ - Allowed passing ` None ` for nullable args ([ #460 ] [ p460 ] )
18+ - Added keyword arguments based on C# syntax for calling CPython methods ([ #461 ] [ p461 ] )
19+ - Catches exceptions thrown in C# iterators (yield returns) and rethrows them in python ([ #475 ] [ i475 ] )([ #693 ] [ p693 ] )
20+ - Implemented GetDynamicMemberNames() for PyObject to allow dynamic object members to be visible in the debugger ([ #443 ] [ i443 ] )([ #690 ] [ p690 ] )
21+ - Incorporated reference-style links to issues and pull requests in the CHANGELOG ([ #608 ] [ i608 ] )
2122
2223### Changed
2324
2425### Fixed
2526
26- - Fixed Visual Studio 2017 compat (#434 ) for setup.py
27+ - Fixed Visual Studio 2017 compat ([ #434 ] [ i434 ] ) for setup.py
2728- Fixed crash on exit of the Python interpreter if a python class
2829 derived from a .NET class has a ` __namespace__ ` or ` __assembly__ `
29- attribute (#481 )
30- - Fixed conversion of 'float' and 'double' values (#486 )
31- - Fixed 'clrmethod' for python 2 (#492 )
32- - Fixed double calling of constructor when deriving from .NET class (#495 )
33- - Fixed ` clr.GetClrType ` when iterating over ` System ` members (#607 )
34- - Fixed ` LockRecursionException ` when loading assemblies (#627 )
35- - Fixed errors breaking .NET Remoting on method invoke (#276 )
36- - Fixed PyObject.GetHashCode (#676 )
30+ attribute ([ #481 ] [ i481 ] )
31+ - Fixed conversion of 'float' and 'double' values ([ #486 ] [ i486 ] )
32+ - Fixed 'clrmethod' for python 2 ([ #492 ] [ i492 ] )
33+ - Fixed double calling of constructor when deriving from .NET class ([ #495 ] [ i495 ] )
34+ - Fixed ` clr.GetClrType ` when iterating over ` System ` members ([ #607 ] [ p607 ] )
35+ - Fixed ` LockRecursionException ` when loading assemblies ([ #627 ] [ i627 ] )
36+ - Fixed errors breaking .NET Remoting on method invoke ([ #276 ] [ i276 ] )
37+ - Fixed PyObject.GetHashCode ([ #676 ] [ i676 ] )
3738
3839
6284
3940## [ 2.3.0] [ ] - 2017-03-11
4041
4142### Added
4243
43- - Added Code Coverage (#345 )
44- - Added ` PySys_SetArgvEx ` (#347 )
45- - Added XML Documentation (#349 )
46- - Added ` Embedded_Tests ` on AppVeyor (#224 )( #353 )
47- - Added ` Embedded_Tests ` on Travis (#224 )( #391 )
48- - Added PY3 settings to solution configuration-manager (#346 )
49- - Added ` Slack ` (#384 )( #383 )( #386 )
44+ - Added Code Coverage ([ #345 ] [ p345 ] )
45+ - Added ` PySys_SetArgvEx ` ([ #347 ] [ p347 ] )
46+ - Added XML Documentation ([ #349 ] [ p349 ] )
47+ - Added ` Embedded_Tests ` on AppVeyor ([ #224 ] [ i224 ] )( [ #353 ] [ p353 ] )
48+ - Added ` Embedded_Tests ` on Travis ([ #224
A93C
] [ i224 ] )( [ #391 ] [ p391 ] )
49+ - Added PY3 settings to solution configuration-manager ([ #346 ] [ p346 ] )
50+ - Added ` Slack ` ([ #384 ] [ p384 ] )( [ #383 ] [ i383 ] )( [ #386 ] [ p386 ] )
5051- Added function of passing an arbitrary .NET object as the value
51- of an attribute of ` PyObject ` (#370 )( #373 )
52- - Added ` Coverity scan ` (#390 )
53- - Added ` bumpversion ` for version control (#319 )( #398 )
54- - Added ` tox ` for local testing (#345 )
52+ of an attribute of ` PyObject ` ([ #370 ] [ i370 ] )( [ #373 ] [ p373 ] )
53+ - Added ` Coverity scan ` ([ #390 ] [ i390 ] )
54+ - Added ` bumpversion ` for version control ([ #319 ] [ i319 ] )( [ #398 ] [ p398 ] )
55+ - Added ` tox ` for local testing ([ #345 ] [ p345 ] )
5556- Added ` requirements.txt `
56- - Added to ` PythonEngine ` methods ` Eval ` and ` Exec ` (#389 )
57- - Added implementations of ` ICustomMarshal ` (#407 )
58- - Added docker images (#322 )
59- - Added hooks in ` pyinstaller ` and ` cx_freeze ` for ` pythonnet ` (#66 )
57+ - Added to ` PythonEngine ` methods ` Eval ` and ` Exec ` ([ #389 ] [ p389 ] )
58+ - Added implementations of ` ICustomMarshal ` ([ #407 ] [ p407 ] )
59+ - Added docker images ([ #322 ] [ i322 ] )
60+ - Added hooks in ` pyinstaller ` and ` cx_freeze ` for ` pythonnet ` ([ #66 ] [ i66 ] )
6061
6162### Changed
6263
63- - Refactored python ` unittests ` (#329 )
64- - Refactored python ` setup.py ` (#337 )
65- - Refactored remaining of Build Directives on ` runtime.cs ` (#339 )
66- - Refactored ` Embedded_Tests ` to make easier to write tests (#369 )
67- - Changed ` unittests ` to ` pytest ` (#368 )
68- - Upgraded NUnit framework from ` 2.6.3 ` to ` 3.5.0 ` (#341 )
69- - Downgraded NUnit framework from ` 3.5.0 ` to ` 2.6.4 ` (#353 )
70- - Upgraded NUnit framework from ` 2.6.4 ` to ` 3.6.0 ` (#371 )
71- - Unfroze Mono version on Travis (#345 )
72- - Changed ` conda.recipe ` build to only pull-requests (#345 )
73- - Combine ` Py_DEBUG ` and ` PYTHON_WITH_PYDEBUG ` flags (#362 )
64+ - Refactored python ` unittests ` ([ #329 ] [ p329 ] )
65+ - Refactored python ` setup.py ` ([ #337 ] [ p337 ] )
66+ - Refactored remaining of Build Directives on ` runtime.cs ` ([ #339 ] [ p339 ] )
67+ - Refactored ` Embedded_Tests ` to make easier to write tests ([ #369 ] [ p369 ] )
68+ - Changed ` unittests ` to ` pytest ` ([ #368 ] [ p368 ] )
69+ - Upgraded NUnit framework from ` 2.6.3 ` to ` 3.5.0 ` ([ #341 ] [ p341 ] )
70+ - Downgraded NUnit framework from ` 3.5.0 ` to ` 2.6.4 ` ([ #353 ] [ p353 ] )
71+ - Upgraded NUnit framework from ` 2.6.4 ` to ` 3.6.0 ` ([ #371 ] [ p371 ] )
72+ - Unfroze Mono version on Travis ([ #345 ] [ p345 ] )
73+ - Changed ` conda.recipe ` build to only pull-requests ([ #345 ] [ p345 ] )
74+ - Combine ` Py_DEBUG ` and ` PYTHON_WITH_PYDEBUG ` flags ([ #362 ] [ i362 ] )
7475
7576### Deprecated
7677
77- - Deprecated ` RunString ` (#401 )
78+ - Deprecated ` RunString ` ([ #401 ] [ i401 ] )
7879
7980### Fixed
8081
81- - Fixed crash during Initialization (#262 )( #343 )
82- - Fixed crash during Shutdown (#365 )
82+ - Fixed crash during Initialization ([ #262 ] [ i262 ] )( [ #343 ] [ p343 ] )
83+ - Fixed crash during Shutdown ([ #365 ] [ p365 ] )
8384- Fixed multiple build warnings
84- - Fixed method signature match for Object Type (#203 )( #377 )
85- - Fixed outdated version number in AssemblyInfo (#398 )
86- - Fixed wrong version number in ` conda.recipe ` (#398 )
85+ - Fixed method signature match for Object Type ([ #203 ] [ i203 ] )( [ #377 ] [ p377 ] )
86+ - Fixed outdated version number in AssemblyInfo ([ #398 ] [ p398 ] )
87+ - Fixed wrong version number in ` conda.recipe ` ([ #398 ] [ p398 ] )
8788- Fixed fixture location for Python tests and ` Embedded_Tests `
88- - Fixed ` PythonException ` crash during Shutdown (#400 )
89- - Fixed ` AppDomain ` unload during GC (#397 )( #400 )
90- - Fixed ` Py_Main<
6284
/span>` & ` PySys_SetArgvEx ` ` no mem error ` on ` UCS4/PY3 ` (#399 )
91- - Fixed ` Python.Runtime.dll.config ` on macOS (#120 )
92- - Fixed crash on ` PythonEngine.Version ` (#413 )
93- - Fixed ` PythonEngine.PythonPath ` issues (#179 )( #414 )( #415 )
89+ - Fixed ` PythonException ` crash during Shutdown ([ #400 ] [ p400 ] )
90+ - Fixed ` AppDomain ` unload during GC ([ #397 ] [ i397 ] )( [ #400 ] [ p400 ] )
91+ - Fixed ` Py_Main ` & ` PySys_SetArgvEx ` ` no mem error ` on ` UCS4/PY3 ` ([ #399 ] [ p399 ] )
92+ - Fixed ` Python.Runtime.dll.config ` on macOS ([ #120 ] [ i120 ] )
93+ - Fixed crash on ` PythonEngine.Version ` ([ #413 ] [ i413 ] )
94+ - Fixed ` PythonEngine.PythonPath ` issues ([ #179 ] [ i179 ] )( [ #414 ] [ i414 ] )( [ #415 ] [ p415 ] )
9495
9596### Removed
9697
97- - Removed ` six ` dependency for ` unittests ` (#329 )
98- - Removed ` Mono.Unix ` dependency for ` UCS4 ` (#360 )
98+ - Removed ` six ` dependency for ` unittests ` ([ #329 ] [ p329 ] )
99+ - Removed ` Mono.Unix ` dependency for ` UCS4 ` ([ #360 ] [ p360 ] )
99100- Removed need for ` Python.Runtime.dll.config `
100- - Removed PY32 build option ` PYTHON_WITH_WIDE_UNICODE ` (#417 )
101+ - Removed PY32 build option ` PYTHON_WITH_WIDE_UNICODE ` ([ #417 ] [ i417 ] )
101102
102103## [ 2.2.2] [ ] - 2017-01-29
103104
104105### Fixed
105106
106- - Missing files from packaging (#336 )
107+ - Missing files from packaging ([ #336 ] [ i336 ] )
107108
108109## [ 2.2.1] [ ] - 2017-01-26
109110
110111- ` v2.2.0 ` had a release issue on PyPi. Bumped to ` v2.2.1 `
111112
112113### Added
113114
114- - Python 3.6 support (#310 )
115- - Added ` __version__ ` to module (#312 )
116- - Added ` conda ` recipe (#281 )
117- - Nuget update on build (#268 )
118- - Added ` __cause__ ` attribute on exception (#287 )
115+ - Python 3.6 support ([ #310 ] [ p310 ] )
116+ - Added ` __version__ ` to module ([ #312 ] [ p312 ] )
117+ - Added ` conda ` recipe ([ #281 ] [ p281 ] )
118+ - Nuget update on build ([ #268 ] [ p268 ] )
119+ - Added ` __cause__ ` attribute on exception ([ #287 ] [ p287 ] )
119120
120121### Changed
121122
122- - License to MIT (#314 )
123- - Project clean-up (#320 )
123+ - License to MIT ([ #314 ] [ p314 ] )
124+ - Project clean-up ([ #320 ] [ p320 ] )
124125- Refactor ` #if ` directives
125- - Rename Decref/Incref to XDecref/XIncre (#275 )
126- - Remove printing if Decref is called with NULL (#275 )
126+ - Rename Decref/Incref to XDecref/XIncre ([ #275 ] [ p275 ] )
127+ - Remove printing if Decref is called with NULL ([ #275 ] [ p275 ] )
127128
128129### Removed
129130
130- - Python 2.6 support (#270 )
131- - Python 3.2 support (#270 )
131+ - Python 2.6 support ([ #270 ] [ i270 ] )
132+ - Python 3.2 support ([ #270 ] [ i270 ] )
132133
133134### Fixed
134135
135- - Fixed ` isinstance ` refcount_leak (#273 )
136- - Comparison Operators (#294 )
137- - Improved Linux support (#300 )
138- - Exception pickling (#286 )
136+ - Fixed ` isinstance ` refcount_leak ([ #273 ] [ p273 ] )
137+ - Comparison Operators ([ #294 ] [ p294 ] )
138+ - Improved Linux support ([ #300 ] [ p300 ] )
139+ - Exception pickling ([ #286 ] [ p286 ] )
139140
140141## [ 2.2.0-dev1] [ ] - 2016-09-19
141142
142143### Changed
143144
144- - Switch to C# 6.0 (#219 )
145- - ` setup.py ` improvements for locating build tools (#208 )
146- - unmanaged exports updated (#206 )
147- - Mono update pinned to 4.2.4.4 (#233 )
145+ - Switch to C# 6.0 ([ #219 ] [ p219 ] )
146+ - ` setup.py ` improvements for locating build tools ([ #208 ] [ p208 ] )
147+ - unmanaged exports updated ([ #206 ] [ p206 ] )
148+ - Mono update pinned to 4.2.4.4 ([ #233 ] [ p233 ] )
148149
149150### Fixed
150151
151- - Fixed relative imports (#219 )
152- - Fixed recursive types (#250 )
153- - Demo fix - stream reading (#225 )
152+ - Fixed relative imports ([ #219 ] [ p219 ] )
153+ - Fixed recursive types ([ #250 ] [ p250 ] )
154+ - Demo fix - stream reading ([ #225 ] [ p225 ] )
154155
155156## [ 2.1.0] [ ] - 2016-04-12
156157
157158### Added
158159
159- - Added Python 3.2 support. (#78 )
160- - Added Python 3.3 support. (#78 )
161- - Added Python 3.4 support. (#78 )
162- - Added Python 3.5 support. (#163 )
163- - Managed types can be sub-classed in Python (#78 )
164- - Uses dynamic objects for cleaner code when embedding Python (#78 )
160+ - Added Python 3.2 support. ([ #78 ] [ p78 ] )
161+ - Added Python 3.3 support. ([ #78 ] [ p78 ] )
162+ - Added Python 3.4 support. ([ #78 ] [ p78 ] )
163+ - Added Python 3.5 support. ([ #163 ] [ p163 ] )
164+ - Managed types can be sub-classed in Python ([ #78 ] [ p78 ] )
165+ - Uses dynamic objects for cleaner code when embedding Python ([ #78 ] [ p78 ] )
165166
166167### Changed
167168
168- - Better Linux support (with or without --enable-shared option) (#78 )
169+ - Better Linux support (with or without --enable-shared option) ([ #78 ] [ p78 ] )
169170
170171### Removed
171172
172- - Implicit Type Casting (#131 )
173+ - Implicit Type Casting ([ #131 ] [ i131 ] )
173174
174175## [ 2.0.0] [ ] - 2015-06-26
175176
@@ -589,3 +590,95 @@ This document follows the conventions laid out in [Keep a CHANGELOG][].
589590[ 2.0.0 ] : ../../compare/1.0...v2.0.0
590591
591592[ 1.0.0 ] : https://github.com/pythonnet/pythonnet/releases/tag/1.0
593+
594+ [ i608 ] : https://github.com/pythonnet/pythonnet/issues/608
595+ [ i443 ] : https://github.com/pythonnet/pythonnet/issues/443
596+ [ p690 ] : https://github.com/pythonnet/pythonnet/pull/690
597+ [ i475 ] : https://github.com/pythonnet/pythonnet/issues/475
598+ [ p693 ] : https://github.com/pythonnet/pythonnet/pull/693
599+ [ i432 ] : https://github.com/pythonnet/pythonnet/issues/432
600+ [ p433 ] : https://github.com/pythonnet/pythonnet/pull/433
601+ [ p460 ] : https://github.com/pythonnet/pythonnet/pull/460
602+ [ p461 ] : https://github.com/pythonnet/pythonnet/pull/461
603+ [ p433 ] : https://github.com/pythonnet/pythonnet/pull/433
604+ [ i434 ] : https://github.com/pythonnet/pythonnet/issues/434
605+ [ i481 ] : https://github.com/pythonnet/pythonnet/issues/481
606+ [ i486 ] : https://github.com/pythonnet/pythonnet/issues/486
607+ [ i492 ] : https://github.com/pythonnet/pythonnet/issues/492
608+ [ i495 ] : https://github.com/pythonnet/pythonnet/issues/495
609+ [ p607 ] : https://github.com/pythonnet/pythonnet/pull/607
610+ [ i627 ] : https://github.com/pythonnet/pythonnet/issues/627
611+ [ i276 ] : https://github.com/pythonnet/pythonnet/issues/276
612+ [ i676 ] : https://github.com/pythonnet/pythonnet/issues/676
613+ [ p345 ] : https://github.com/pythonnet/pythonnet/pull/345
614+ [ p347 ] : https://github.com/pythonnet/pythonnet/pull/347
615+ [ p349 ] : https://github.com/pythonnet/pythonnet/pull/349
616+ [ i224 ] : https://github.com/pythonnet/pythonnet/issues/224
617+ [ p353 ] : https://github.com/pythonnet/pythonnet/pull/353
618+ [ p391 ] : https://github.com/pythonnet/pythonnet/pull/391
619+ [ p346 ] : https://github.com/pythonnet/pythonnet/pull/346
620+ [ p384 ] : https://github.com/pythonnet/pythonnet/pull/384
621+ [ i383 ] : https://github.com/pythonnet/pythonnet/issues/383
622+ [ p386 ] : https://github.com/pythonnet/pythonnet/pull/386
623+ [ i370 ] : https://github.com/pythonnet/pythonnet/issues/370
624+ [ p373 ] : https://github.com/pythonnet/pythonnet/pull/373
625+ [ i390 ] : https://github.com/pythonnet/pythonnet/issues/390
626+ [ i319 ] : https://github.com/pythonnet/pythonnet/issues/319
627+ [ p398 ] : https://github.com/pythonnet/pythonnet/pull/398
628+ [ p345 ] : https://github.com/pythonnet/pythonnet/pull/345
629+ [ p389 ] : https://github.com/pythonnet/pythonnet/pull/389
630+ [ p407 ] : https://github.com/pythonnet/pythonnet/pull/407
631+ [ i322 ] : https://github.com/pythonnet/pythonnet/issues/322
632+ [ i66 ] : https://github.com/pythonnet/pythonnet/issues/66
633+ [ p329 ] : https://github.com/pythonnet/pythonnet/pull/329
634+ [ p337 ] : https://github.com/pythonnet/pythonnet/pull/337
635+ [ p339 ] : https://github.com/pythonnet/pythonnet/pull/339
636+ [ p369 ] : https://github.com/pythonnet/pythonnet/pull/369
637+ [ p368 ] : https://github.com/pythonnet/pythonnet/pull/368
638+ [ p341 ] : https://github.com/pythonnet/pythonnet/pull/341
639+ [ p353 ] : https://github.com/pythonnet/pythonnet/pull/353
640+ [ p371 ] : https://github.com/pythonnet/pythonnet/pull/371
641+ [ p345 ] : https://github.com/pythonnet/pythonnet/pull/345
642+ [ i362 ] : https://github.com/pythonnet/pythonnet/issues/362
643+ [ i401 ] : https://github.com/pythonnet/pythonnet/issues/401
644+ [ i262 ] : https://github.com/pythonnet/pythonnet/issues/262
645+ [ p343 ] : https://github.com/pythonnet/pythonnet/pull/343
646+ [ p365 ] : https://github.com/pythonnet/pythonnet/pull/365
647+ [ i203 ] : https://github.com/pythonnet/pythonnet/issues/203
648+ [ p377 ] : https://github.com/pythonnet/pythonnet/pull/377
649+ [ p398 ] : https://github.com/pythonnet/pythonnet/pull/398
650+ [ p400 ] : https://github.com/pythonnet/pythonnet/pull/400
651+ [ i397 ] : https://github.com/pythonnet/pythonnet/issues/397
652+ [ p399 ] : https://github.com/pythonnet/pythonnet/pull/399
653+ [ i120 ] : https://github.com/pythonnet/pythonnet/issues/120
654+ [ i413 ] : https://github.com/pythonnet/pythonnet/issues/413
655+ [ i179 ] : https://github.com/pythonnet/pythonnet/issues/179
656+ [ i414 ] : https://github.com/pythonnet/pythonnet/issues/414
657+ [ p415 ] : https://github.com/pythonnet/pythonnet/pull/415
658+ [ p329 ] : https://github.com/pythonnet/pythonnet/pull/329
659+ [ p360 ] : https://github.com/pythonnet/pythonnet/pull/360
660+ [ i417 ] : https://github.com/pythonnet/pythonnet/issues/417
661+ [ i336 ] : https://github.com/pythonnet/pythonnet/issues/336
662+ [ p310 ] : https://github.com/pythonnet/pythonnet/pull/310
663+ [ p312 ] : https://github.com/pythonnet/pythonnet/pull/312
664+ [ p281 ] : https://github.com/pythonnet/pythonnet/pull/281
665+ [ p268 ] : https://github.com/pythonnet/pythonnet/pull/268
666+ [ p287 ] : https://github.com/pythonnet/pythonnet/pull/287
667+ [ p314 ] : https://github.com/pythonnet/pythonnet/pull/314
668+ [ p320 ] : https://github.com/pythonnet/pythonnet/pull/320
669+ [ p275 ] : https://github.com/pythonnet/pythonnet/pull/275
670+ [ i270 ] : https://github.com/pythonnet/pythonnet/issues/270
671+ [ p273 ] : https://github.com/pythonnet/pythonnet/pull/273
672+ [ p294 ] : https://github.com/pythonnet/pythonnet/pull/294
673+ [ p300 ] : https://github.com/pythonnet/pythonnet/pull/300
674+ [ p286 ] : https://github.com/pythonnet/pythonnet/pull/286
675+ [ p219 ] : https://github.com/pythonnet/pythonnet/pull/219
676+ [ p208 ] : https://github.com/pythonnet/pythonnet/pull/208
677+ [ p206 ] : https://github.com/pythonnet/pythonnet/pull/206
678+ [ p233 ] : https://github.com/pythonnet/pythonnet/pull/233
679+ [ p219 ] : https://github.com/pythonnet/pythonnet/pull/219
680+ [ p250 ] : https://github.com/pythonnet/pythonnet/pull/250
681+ [ p225 ] : https://github.com/pythonnet/pythonnet/pull/225
682+ [ p78 ] : https://github.com/pythonnet/pythonnet/pull/78
683+ [ p163 ] : https://github.com/pythonnet/pythonnet/pull/163
684+ [ i131 ] : https://github.com/pythonnet/pythonnet/issues/131
0 commit comments