diff options
-rw-r--r-- | ANNOUNCE | 8 | ||||
-rw-r--r-- | CHANGES | 202 | ||||
-rw-r--r-- | CHANGES.current | 202 | ||||
-rw-r--r-- | Doc/Manual/Sections.html | 2 | ||||
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | configure.ac | 2 |
6 files changed, 211 insertions, 207 deletions
@@ -1,8 +1,8 @@ -*** ANNOUNCE: SWIG 3.0.6 (5 Jul 2015) *** +*** ANNOUNCE: SWIG 3.0.7 (in progress) *** http://www.swig.org -We're pleased to announce SWIG-3.0.6, the latest SWIG release. +We're pleased to announce SWIG-3.0.7, the latest SWIG release. What is SWIG? ============= @@ -22,11 +22,11 @@ Availability ============ The release is available for download on Sourceforge at - http://prdownloads.sourceforge.net/swig/swig-3.0.6.tar.gz + http://prdownloads.sourceforge.net/swig/swig-3.0.7.tar.gz A Windows version is also available at - http://prdownloads.sourceforge.net/swig/swigwin-3.0.6.zip + http://prdownloads.sourceforge.net/swig/swigwin-3.0.7.zip Please report problems with this release to the swig-devel mailing list, details at http://www.swig.org/mail.html. @@ -3,6 +3,208 @@ SWIG (Simplified Wrapper and Interface Generator) See the CHANGES.current file for changes in the current version. 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. + Version 3.0.5 (31 Jan 2015) =========================== diff --git a/CHANGES.current b/CHANGES.current index 36e8bf758..63dd22d21 100644 --- a/CHANGES.current +++ b/CHANGES.current @@ -2,204 +2,6 @@ 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) -========================== +Version 3.0.7 (in progress) +=========================== -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. diff --git a/Doc/Manual/Sections.html b/Doc/Manual/Sections.html index bfea68ac0..4bf40c969 100644 --- a/Doc/Manual/Sections.html +++ b/Doc/Manual/Sections.html @@ -6,7 +6,7 @@ <body bgcolor="#ffffff"> <H1><a name="Sections"></a>SWIG-3.0 Documentation</H1> -Last update : SWIG-3.0.6 (5 Jul 2015) +Last update : SWIG-3.0.7 (in progress) <H2>Sections</H2> @@ -1,6 +1,6 @@ SWIG (Simplified Wrapper and Interface Generator) -Version: 3.0.6 (5 Jul 2015) +Version: 3.0.7 (in progress) Tagline: SWIG is a compiler that integrates C and C++ with languages including Perl, Python, Tcl, Ruby, PHP, Java, C#, D, Go, Lua, diff --git a/configure.ac b/configure.ac index 1eb338617..712ca0abd 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script. dnl The macros which aren't shipped with the autotools are stored in the dnl Tools/config directory in .m4 files. -AC_INIT([swig],[3.0.6],[http://www.swig.org]) +AC_INIT([swig],[3.0.7],[http://www.swig.org]) dnl NB: When this requirement is increased to 2.60 or later, AC_PROG_SED dnl definition below can be removed |