205 lines
7.9 KiB
Text
205 lines
7.9 KiB
Text
Below are the changes for the current release.
|
|
See the CHANGES file for changes in older releases.
|
|
See the RELEASENOTES file for a summary of changes in each release.
|
|
|
|
Version 3.0.6 (5 Jul 2015)
|
|
==========================
|
|
|
|
2015-07-02: wsfulton
|
|
Fix syntax error when the template keyword is used in types, eg:
|
|
|
|
std::template vector<int> v;
|
|
|
|
2015-07-02: ngladitz
|
|
[Lua] Push characters as unformatted 1-character strings to avoid
|
|
unprintable characters such as (char)127 being converted to
|
|
"<\127>" with Lua 5.3 and later. (github PR #452)
|
|
|
|
2015-06-29: olly
|
|
[Python] Improve handling of whitespace in %pythoncode.
|
|
|
|
Previously SWIG looked at the indentation of the first line and
|
|
removed that many characters from each subsequent line, regardless
|
|
of what those characters were. This was made worse because SWIG's
|
|
preprocessor removes any whitespace before a '#'. Fixes github
|
|
issue #379, reported by Joe Orton.
|
|
|
|
2015-06-12: wsfulton
|
|
[R] Fix #430 - call to SWIG_createNewRef in copyToC was incorrectly named.
|
|
|
|
2015-06-11: sghirate
|
|
[C#] Patch #427 adds in new command line option -outfile to combine all the
|
|
generated C# code into a single file.
|
|
|
|
2015-06-09: wsfulton
|
|
Fix seg fault processing C++11 type aliasing. Issue #424.
|
|
|
|
2015-05-28: wsfulton
|
|
[Python] Add new feature "python:cdefaultargs" to control default argument
|
|
code generation. By default, SWIG attempts to convert C/C++ default argument values
|
|
into Python values and generates code into the Python layer with these values.
|
|
Recent versions of SWIG are able to convert more of these values, however, the
|
|
new behaviour can be circumvented if desired via this new feature, such that
|
|
the default argument values are obtained from the C layer and not the Python layer.
|
|
For example:
|
|
|
|
struct CDA {
|
|
int fff(int a = 1, bool b = false);
|
|
};
|
|
|
|
The default code generation in the Python layer is:
|
|
|
|
class CDA(_object):
|
|
...
|
|
def fff(self, a=1, b=False):
|
|
return _default_args.CDA_fff(self, a, b)
|
|
|
|
Adding the feature:
|
|
|
|
%feature("python:cdefaultargs") CDA::fff;
|
|
|
|
Results in:
|
|
|
|
class CDA(_object):
|
|
...
|
|
def fff(self, *args):
|
|
return _default_args.CDA_fff(self, *args)
|
|
|
|
Some code generation modes, eg -builtin and -fastproxy, are unaffected by this as
|
|
the default values are always obtained from the C layer.
|
|
|
|
2015-05-27: wsfulton
|
|
[Python] Deal with an integer as the default value of a typedef to bool
|
|
parameter in the C++ prototype. See #327. Regression from 3.0.0 onwards.
|
|
|
|
2015-05-19: olly
|
|
[Python] Fix warning when compiling generated code with MSVC.
|
|
(Fixes https://sourceforge.net/p/swig/patches/351/ reported by
|
|
Mateusz Szymański).
|
|
|
|
2015-05-14: wsfulton
|
|
Fix seg fault wrapping shared_ptr of classes with private constructors and destructors.
|
|
This also fixes the "unref" feature when used on classes with private destructors.
|
|
|
|
2015-05-10: wsfulton
|
|
[Java] Fix multi-argument typemaps (char *STRING, size_t LENGTH)
|
|
so that they can be applied to a wider range of types. Fixes #385.
|
|
|
|
2015-05-07: olly
|
|
[Python] Deal with an integer as the default value of a bool
|
|
parameter in the C++ prototype. Fixes github #327, reported by
|
|
Greg Allen.
|
|
|
|
2015-05-07: LindleyF
|
|
[Java] Allow feature("director") and feature("ref") to be used
|
|
together. Github PR#403.
|
|
|
|
2015-05-05: olly
|
|
Suppress warning 325 "Nested class not currently supported (Foo
|
|
ignored)" when Foo has already been explicitly ignored with "%ignore".
|
|
|
|
2015-05-04: wsfulton
|
|
Add support for friend templates, including operator overloading - fixes #196. Considering
|
|
the example below, previously the operator gave a syntax error and friendfunc incorrectly
|
|
warned with:
|
|
|
|
"Warning 503: Can't wrap 'friendfunc<(Type)>' unless renamed to a valid identifier."
|
|
|
|
template <class Type> class MyClass {
|
|
friend int friendfunc <Type>(double is, MyClass <Type> & x);
|
|
friend int operator<< <Type>(double un, const MyClass <Type> &x);
|
|
};
|
|
|
|
The following also previously incorrectly warned with:
|
|
|
|
"Warning 302: Identifier 'template_friend' redefined (ignored),"
|
|
|
|
template<typename T> T template_friend(T);
|
|
struct MyTemplate {
|
|
template<typename T> friend T template_friend(T);
|
|
};
|
|
|
|
2015-05-01: wsfulton
|
|
Fix handling of conversion operators where the operator is split over multiple
|
|
lines or has comments within the operator type. Fixes #401.
|
|
|
|
Also fix similar problem with normal operators which gave a syntax error if split over
|
|
multiple lines or had a comment within the operator declaration.
|
|
|
|
2015-04-30: olly
|
|
Ignore unknown preprocessor directives which are inside an inactive
|
|
conditional (github issue #394, reported by Dan Wilcox).
|
|
Regression introduced in 3.0.3.
|
|
|
|
2015-04-27: vadz
|
|
[Python] Fix "default" typemap used after an argument with "numinputs=0" (#377).
|
|
|
|
2015-04-24: wsfulton
|
|
[Python] Fix #256. Code generated with '-builtin -modernargs' segfaults for any
|
|
method taking zero arguments.
|
|
|
|
Also fixes: "SystemError: error return without exception set" during error checking
|
|
when using just -builtin and the incorrect number of arguments is passed to a class
|
|
method expecting zero arguments.
|
|
|
|
2015-04-23: wsfulton
|
|
[Java] Bug #386 - Memory leak fix in (char *STRING, size_t LENGTH) typemaps.
|
|
|
|
2015-04-23: vadz
|
|
[Python] Make "default" typemap work again (#330, #377).
|
|
|
|
2015-04-23: vadz
|
|
[Python] Fix the use of default values for the pointer types (#365, #376).
|
|
|
|
2015-04-23: wsfulton
|
|
Fix 'make check-ccache' which is part of 'make check' when one of the CCACHE_
|
|
environment variables, for example CCACHE_DISABLE, is set.
|
|
|
|
2015-04-14: wsfulton
|
|
Clearer warning message for badly constructed typecheck typemaps. For example, was:
|
|
|
|
example.i:3: Warning 467: Overloaded foo(int) not supported (no type checking
|
|
rule for 'int').
|
|
|
|
Now:
|
|
|
|
example.i:3: Warning 467: Overloaded foo(int) not supported (incomplete type checking
|
|
rule - no precedence level in typecheck typemap for 'int').
|
|
|
|
2015-04-11: wsfulton
|
|
[Java] Fix #353 - Linker multiple definition of 'ExceptionMatches' when
|
|
using directors and multiple modules.
|
|
|
|
2015-04-11: wsfulton
|
|
Merge #320 - Make __dict__ accessible for Python builtin classes.
|
|
|
|
2015-04-07: wsfulton
|
|
Fix #375 - parsing of extern "C" and typedef for example:
|
|
extern "C" typedef void (*Hook2_t)(int, const char *);
|
|
extern "C" typedef int Integer;
|
|
|
|
2015-03-12: olly
|
|
-DSWIG_DIRECTOR_STATIC is now supported for all languages with
|
|
director support, not only Python and PHP.
|
|
|
|
2015-03-02: ianlancetaylor
|
|
[Go] Add -cgo option, required for Go versions 1.5 and
|
|
later.
|
|
|
|
2015-02-26: olly
|
|
Fix segmentation fault when top==NULL, introduced by nested class
|
|
handling (reported in issue#346 by Paweł Tomulik).
|
|
|
|
2015-02-09: wsfulton
|
|
[Guile] Fix generated code for static const char member variables when
|
|
defined and declared inline.
|
|
|
|
2015-02-09: mishas
|
|
[Go] Fix %import of files in sub directories.
|
|
|
|
2015-02-05: ianlancetaylor
|
|
[Go] Ignore Go specific type maps (goin, goout, etc.) if they are empty.
|
|
|
|
2015-02-05: ianlancetaylor
|
|
[Go] Generated Go code no longer calls _swig_goallocate or
|
|
_swig_makegostring, as they will no longer work as of Go 1.5.
|