@@ -4,6 +4,147 @@ See the RELEASENOTES file for a summary of changes in each release.
4
4
Issue # numbers mentioned below can be found on Github. For more details, add
5
5
the issue number to the end of the URL: https://github.com/swig/swig/issues/
6
6
7
- Version 4.0.2 (in progress )
8
- ===========================
7
+ Version 4.0.2 (8 Jun 2020 )
8
+ ==========================
9
9
10
+ 2020-06-07 vigsterkr
11
+ [Ruby] #1717 Nil fix mangling strings
12
+
13
+ 2020-06-07 vadz
14
+ #1748 Fix doxygen comments quoting issue
15
+
16
+ 2020-06-07 munoah
17
+ #1800 Escape spaces in file paths for dependencies (-M -MM etc)
18
+
19
+ 2020-06-06 andreas-schwab
20
+ [Ruby] #1801 Fix encoding on big endian systems when wrapping std::wstring.
21
+
22
+ 2020-05-31 kwwette
23
+ [Octave] #1789 error handling improvements and return error code on exit for SWIG wrapped modules.
24
+
25
+ 2020-05-30 msteinbeck
26
+ [D] #1593 Replace broken imports when using newer versions of D.
27
+
28
+ 2020-05-29: ZackerySpytz
29
+ [Python] #1716 Performance improvements converting strings when using Python >= 3.3.
30
+
31
+ 2020-05-28: ZackerySpytz
32
+ #1776 Quite dramatically decrease run times when generating very large interface files by changing
33
+ some internal memory pool sizes.
34
+
35
+ 2020-05-28: mcfarljm
36
+ #1788 Fix handling of Doxygen \endlink command.
37
+
38
+ 2020-05-24: vapier
39
+ [Javascript] #1796 Fix pkg-config invocation in configure.
40
+
41
+ 2020-04-30: kwwette
42
+ [Octave] Fix exception raising for newer Octave versions
43
+ Since (at least) Octave 5.1.0, the Octave error() function now raises a C++ exception,
44
+ which if uncaught immediately exits a SWIG wrapper function, bypassing any cleanup code
45
+ that may appear after a "fail:" label. This patch adds a "try { ... } catch(...) { }"
46
+ block around the contents of SWIG wrapper functions to first execute the cleanup code
47
+ before rethrowing any exception raised. It is backward compatible with earlier versions
48
+ of Octave where error() does not raise an exception, which will still branch to the
49
+ "fail:" block to execute cleanup code if an error is encountered.
50
+
51
+ Note that the new "try { ... } catch(...) { }" block will localise any local variables
52
+ used in typemaps that were NOT declared through SWIG's %typemap(...) syntax, so it's
53
+ possible this could break existing SWIG wrappers which were implicitly sharing local
54
+ variables between typemaps. This can be fixed, however, by declaring local variables
55
+ which need to be shared between typemaps through SWIG's %typemap(...) syntax.
56
+
57
+ 2020-02-18: ryannevell
58
+ [Lua] #1728 Add support for LUA lightuserdata to SWIG_Lua_ConvertPtr.
59
+
60
+ 2020-02-18: dmach
61
+ [Ruby] #1725 Fix gcc -Wcatch-value warnings.
62
+
63
+ 2020-02-14: treitmayr
64
+ #1724 Fix wrapping of abstract user-defined conversion operators.
65
+
66
+ 2020-02-13: ddurham2
67
+ [Python] #1512 Fix memleak when using STL containers of shared_ptr objects.
68
+
69
+ 2020-02-06: wsfulton
70
+ [Python] #1673 #1674 Fix setting 'this' when extending a proxy class with __slots__.
71
+
72
+ 2020-01-31: vadz
73
+ [Ruby] #1651 Add std::auto_ptr<> typemaps.
74
+
75
+ 2020-01-31: ZackerySpytz
76
+ [Python] #1700 More robust error checking for failures in calls to Python C API:
77
+ PyBytes_AsStringAndSize() and PyString_AsStringAndSize().
78
+
79
+ 2020-01-31: vadz
80
+ [Python] #1710 Fix crash parsing empty docstrings.
81
+
82
+ 2020-01-30: Alzathar
83
+ [R] #910 #914 Fix R memory leak on exception.
84
+
85
+ 2020-01-30: richardbeare
86
+ [R] #1511 Fix bug wrapping functions. These were previously incorrectly wrapped as if
87
+ they were variables. This happened when 'get' or 'set' was in the name of the function
88
+ or method, but sometimes also in some other circumstances. If you were using R
89
+ attribute syntax to access these methods, you'll need to switch to calling them as R
90
+ methods.
91
+
92
+ *** POTENTIAL INCOMPATIBILITY ***
93
+
94
+ 2020-01-24: etse-dignitas, wsfulton
95
+ [C#, D, Java] #1533 Fix upcasting for shared_ptr's of templated types.
96
+
97
+ 2020-01-16: mcfarljm
98
+ #1643 #1654 When using -doxygen, fix segfault when nameless parameters or vararg parameters
99
+ are used.
100
+
101
+ 2020-01-16: mcfarljm
102
+ #1632 #1659 Fix newline handling for doxygen "///" comments.
103
+
104
+ 2020-01-14: mcfarljm
105
+ #1647 #1656 Fix crash handling empty doxygen comments.
106
+
107
+ 2020-01-14: mcfarljm
108
+ #1608 Improve doxygen support.
109
+ - Add support for \param[] commands such as: \param[in].
110
+ - Optional arguments are marked as 'optional' in pydoc.
111
+ - Improve support for \code commands so that other languages are supported as code blocks.
112
+ Support added for java, c and py. For example Python: \code{.py} ... \endcode
113
+ - Fix doxygen handling of \em and \p tags for Python.
114
+
115
+ 2020-01-13: wsfulton
116
+ [Python] #1595 Python -builtin constructors silently ignored keyword arguments.
117
+ Instead of silenty ignoring them, now a "TypeError: f() takes no keyword arguments"
118
+ exception is thrown if keyword arguments are used. Hence constructors and normal methods/
119
+ functions behave in the same way. Note, -keyword should be used with -builtin to obtain
120
+ keyword argument support.
121
+
122
+ 2020-01-05: jschueller shadchin
123
+ [Python] #1670 #1696 Add missing field initializers introduced in python 3.8:
124
+ tp_vectorcall and tp_print.
125
+
126
+ 2020-01-05: friedrichatgc
127
+ [Octave] #1688 Change swig_this() to use size_t instead of long for compatibility
128
+ with Windows 64 bit.
129
+
130
+ 2020-01-05: treitmayr
131
+ [Ruby] #1692 #1689 Add support for Ruby 2.7
132
+
133
+ 2019-12-30: treitmayr
134
+ [Ruby] #1653 #1668 Fix code generated when using -globalmodule option.
135
+
136
+ 2019-12-29: ZackerySpytz
137
+ [OCaml] #1686 Fix compilation errors with OCaml 4.09.0.
138
+
139
+ 2019-12-10: wsfulton
140
+ #1679 Fix parsing of C++11 identifiers with special meaning (final and override) when
141
+ they are used as part of the scope name of an identifier, such as a namespace name.
142
+
143
+ 2019-11-26: wsfulton
144
+ [C#] #1628 'out' or 'ref' used in a cstype typemap was not always stripped out in parts
145
+ of director code generation.
146
+
147
+ 2019-11-01: wsfulton
148
+ [Python] #1595 Fix bug in support for keyword arguments (kwargs feature or -keyword)
149
+ when using -builtin. The fix is in the argument error checking when wrapping zero
150
+ argument constructors only.
0 commit comments