diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2016-05-29 15:46:46 +0100 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2016-05-29 15:46:46 +0100 |
commit | 8aea57c704cd8157130274f25cede22f00f3bc16 (patch) | |
tree | 12b046f0f1a4bcb97d8bfe8c3dd8fc7725c0e8ff | |
parent | bab51398053188a136effd155d7ed8f5d441908e (diff) | |
download | swig-8aea57c704cd8157130274f25cede22f00f3bc16.tar.gz |
Bump version to 3.0.10
-rw-r--r-- | ANNOUNCE | 8 | ||||
-rw-r--r-- | CHANGES | 196 | ||||
-rw-r--r-- | CHANGES.current | 196 | ||||
-rw-r--r-- | Doc/Manual/Sections.html | 2 | ||||
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | configure.ac | 2 |
6 files changed, 205 insertions, 201 deletions
@@ -1,8 +1,8 @@ -*** ANNOUNCE: SWIG 3.0.9 (29 May 2016) *** +*** ANNOUNCE: SWIG 3.0.10 (in progress) *** http://www.swig.org -We're pleased to announce SWIG-3.0.9, the latest SWIG release. +We're pleased to announce SWIG-3.0.10, the latest SWIG release. What is SWIG? ============= @@ -27,11 +27,11 @@ Availability ============ The release is available for download on Sourceforge at - http://prdownloads.sourceforge.net/swig/swig-3.0.9.tar.gz + http://prdownloads.sourceforge.net/swig/swig-3.0.10.tar.gz A Windows version is also available at - http://prdownloads.sourceforge.net/swig/swigwin-3.0.9.zip + http://prdownloads.sourceforge.net/swig/swigwin-3.0.10.zip Please report problems with this release to the swig-devel mailing list, details at http://www.swig.org/mail.html. @@ -3,6 +3,202 @@ 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.9 (29 May 2016) +=========================== + +2016-05-24: mromberg + [Python] Patch #612 - Add support for Python's implicit namespace packages. + +2016-05-23: wsfulton + [Ruby] Fix #602 - Error handling regression of opaque pointers introduced + in swig-3.0.8 when C functions explicitly reset a pointer using 'DATA_PTR(self) = 0'. + An ObjectPreviouslyDeleted error was incorrectly thrown when the pointer was used + as a parameter. + +2016-05-17: tamuratak + [Ruby] Patch #651 - Correct overloaded function error message when function is + using %newobject. + +2016-05-17: aurelj + [Ruby] Patch #582 - add support for docstring option in %module() + +2016-05-14: wsfulton + Fix #434 - Passing classes by value as parameters in director methods did not create + a copy of the argument leading to invalid memory accesses if the object was used + after the upcall into the target language. Passing arguments by value shouldn't give + rise to these sorts of memory problems and so the objects are now copied and ownership + of their lifetime is controlled by the target language. + +2016-05-07: wsfulton + Fix #611. Fix assertion handling defaultargs when using %extend for a template + class and the extended methods contain default arguments. + +2016-05-05: ejulian + [Python] Patch #617. Fix operator/ wrappers. + +2016-05-02: wsfulton + Fix #669. Don't issue warning about ignoring base classes when the derived class is + itself ignored. + +2016-04-18: ianlancetaylor + [Go] Fix use of goout typemap when calling base method by + forcing the "type" attribute to the value we need. + +2016-04-17: ianlancetaylor + [Go] Fixes for Go 1.6: avoid returning Go pointers from + directors that return string values; add a trailing 0 byte + when treating Go string as C char*. + +2016-04-06: smarchetto + [Scilab] #552 Make Scilab runtime keep track of pointer types + Instead of a Scilab pointer which has no type, SWIG Scilab maps a + pointer to a structure tlist containing the pointer adress and its type. + +2016-04-02: ahnolds + [Python] Apply #598. Fix misleading error message when attempting to read a non-existent + attribute. The previous cryptic error message: + AttributeError: type object 'object' has no attribute '__getattr__' + is now replaced with one mentioning the attribute name, eg: + AttributeError: 'Foo' object has no attribute 'bar' + +2016-04-02: derkuci + [Python] Patch #610 to fix #607. + Fix single arguments when using python -builtin -O with %feature("compactdefaultargs") + +2016-03-31: wsfulton + Fixes #594. Fix assertion for some languages when wrapping a C++11 enum class that + is private in a class. + + Also don't wrap private enums for a few languages that attempted to do so. + +2016-03-31: wsfulton + [Java] unsigned long long marshalling improvements when a negative number + is passed from Java to C. A cast to signed long long in the C layer will now + result in the expected value. No change for positive numbers passed to C. + Fixes #623. + +2016-03-22: alexwarg + [Lua] #398 Fix lua __getitem + inheritance + The new handling of classes in Lua (not merging methods into the derived classes) + breaks for classes that provide a __getitem function. The __getitem function + prevents method calls to any method defined in a base class. This fix calls + __getitem only if the member is not found using recursive lookup. + +2016-03-18: ptomulik + [Python] #563 Stop generating unnecessary _swigconstant helpers. + +2016-03-16: richardbeare + [R] #636 Add extra std::vector numeric types + +2016-03-14: wsfulton + [Java] Add std_array.i for C++11 std::array support. + +2016-03-12: wsfulton + [Java, C#, D] Fix static const char member variables wrappers with %javaconst(1) + %csconst(1) or %dmanifestconst. + This fixes the case when an integer is used as the initializer, such as: + + struct W { static const char w = 100; }; + + Fix generated code parsing enum values using char escape sequences + when these values appear in the Java code (usually when using %javaconst(1)) + such as: + + enum X { x1 = '\n', x2 = '\1' }; + + Similarly for static const member char variables such as: + + struct Y { static const char y = '\n'; } + + Likewise for D and %dmanifestconstant. For C# and %csconst(1), char + values in C# are now hex escaped as C# doesn't support C octal escaping. + +2016-03-11: wsfulton + [Java C#] Add support for treating C++ base classes as Java interfaces + instead of Java proxy classes. This enable some sort of support for + multiple inheritance. The implementation is in swiginterface.i and + provides additional macros (see Java.html for full documentation): + + %interface(CTYPE) + %interface_impl(CTYPE) + %interface_custom("PROXY", "INTERFACE", CTYPE) + +2016-03-01: wsfulton + Add rstrip encoder for use in %rename. This is like the strip encoder but + strips the symbol's suffix instead of the prefix. The example below + will rename SomeThingCls to SomeThing and AnotherThingCls to AnotherThing: + + %rename("%(rstrip:[Cls])s") ""; + + class SomeThingCls {}; + struct AnotherThingCls {}; + +2016-03-01: olly + Fix isfinite() check to work with GCC6. Fixes + https://github.com/swig/swig/issues/615 reported by jplesnik. + +2016-02-17: olly + [Python] Add missing keywords 'as' and 'with' to pythonkw.swg. + +2016-02-07: kwwette + [Octave] recognise various unary functions + * Use __float__() for numeric conversions, e.g. when calling double() + * Map various unary functions, e.g. abs() to __abs__(), see full list + in section 32.3.10 of manual; only available in Octave 3.8.0 or later + +2016-02-07: kwwette + [Octave] export function swig_octave_prereq() for testing Octave version + +2016-02-06: pjohangustavsson + [C#] Fix duplicate symbol problems when linking the source generated + from multiple SWIG modules into one shared library for the -namespace + option. The namespace is now mangled into the global PInvoke function + names. + + *** POTENTIAL INCOMPATIBILITY *** + +2016-01-27: ahnolds + [Python] Added support for differentiating between Python Bytes + and Unicode objects using by defining SWIG_PYTHON_STRICT_BYTE_CHAR + and SWIG_PYTHON_STRICT_UNICODE_WCHAR. + +2016-01-27: steeve + [Go] Ensure structs are properly packed between gc and GCC/clang. + +2016-01-25: ahnolds + [Python] Support the full Python test suite in -classic mode + * Convert long/unsigned long/long long/unsigned long long to PyInt + rather than PyLong when possible. Certain python functions like + len() require a PyInt when operating on old-style classes. + * Add support for static methods in classic mode, including support + for pythonappend, pythonprepend, and docstrings. + * Removing the use of __swig_getmethods__ for static member methods + since they will always be found by the standard argument lookup + * Fix a bug where the wrong type of exception was caught when + checking for new-style class support + +2016-01-23: ahnolds + [Go] Enable support for the Go test-suite on OSX: + * The linker on OSX requires that all symbols (even weak symbols) + are defined at link time. Because the function _cgo_topofstack is + only defined starting in Go version 1.4, we explicitly mark it as + undefined for older versions of Go on OSX. + * Avoid writing empty swigargs structs, since empty structs are not + allowed in extern "C" blocks. + +2016-01-12: olly + [Javascript] Look for "nodejs" as well as "node", as it's packaged + as the former on Debian. + +2016-01-12: olly + [Javascript] For v8 >= 4.3.0, use V8_MAJOR_VERSION. + Fixes https://github.com/swig/swig/issues/561. + +2016-01-10: ahnolds + Improved size_t and ptrdiff_t typemaps to support large values + on platforms where sizeof(size_t) > sizeof(unsigned long) and + sizeof(ptrdiff_t) > sizeof(long). + Version 3.0.8 (31 Dec 2015) =========================== diff --git a/CHANGES.current b/CHANGES.current index 12a58085d..22ba30fa7 100644 --- a/CHANGES.current +++ b/CHANGES.current @@ -2,198 +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.9 (29 May 2016) -=========================== +Version 3.0.10 (in progress) +============================ -2016-05-24: mromberg - [Python] Patch #612 - Add support for Python's implicit namespace packages. - -2016-05-23: wsfulton - [Ruby] Fix #602 - Error handling regression of opaque pointers introduced - in swig-3.0.8 when C functions explicitly reset a pointer using 'DATA_PTR(self) = 0'. - An ObjectPreviouslyDeleted error was incorrectly thrown when the pointer was used - as a parameter. - -2016-05-17: tamuratak - [Ruby] Patch #651 - Correct overloaded function error message when function is - using %newobject. - -2016-05-17: aurelj - [Ruby] Patch #582 - add support for docstring option in %module() - -2016-05-14: wsfulton - Fix #434 - Passing classes by value as parameters in director methods did not create - a copy of the argument leading to invalid memory accesses if the object was used - after the upcall into the target language. Passing arguments by value shouldn't give - rise to these sorts of memory problems and so the objects are now copied and ownership - of their lifetime is controlled by the target language. - -2016-05-07: wsfulton - Fix #611. Fix assertion handling defaultargs when using %extend for a template - class and the extended methods contain default arguments. - -2016-05-05: ejulian - [Python] Patch #617. Fix operator/ wrappers. - -2016-05-02: wsfulton - Fix #669. Don't issue warning about ignoring base classes when the derived class is - itself ignored. - -2016-04-18: ianlancetaylor - [Go] Fix use of goout typemap when calling base method by - forcing the "type" attribute to the value we need. - -2016-04-17: ianlancetaylor - [Go] Fixes for Go 1.6: avoid returning Go pointers from - directors that return string values; add a trailing 0 byte - when treating Go string as C char*. - -2016-04-06: smarchetto - [Scilab] #552 Make Scilab runtime keep track of pointer types - Instead of a Scilab pointer which has no type, SWIG Scilab maps a - pointer to a structure tlist containing the pointer adress and its type. - -2016-04-02: ahnolds - [Python] Apply #598. Fix misleading error message when attempting to read a non-existent - attribute. The previous cryptic error message: - AttributeError: type object 'object' has no attribute '__getattr__' - is now replaced with one mentioning the attribute name, eg: - AttributeError: 'Foo' object has no attribute 'bar' - -2016-04-02: derkuci - [Python] Patch #610 to fix #607. - Fix single arguments when using python -builtin -O with %feature("compactdefaultargs") - -2016-03-31: wsfulton - Fixes #594. Fix assertion for some languages when wrapping a C++11 enum class that - is private in a class. - - Also don't wrap private enums for a few languages that attempted to do so. - -2016-03-31: wsfulton - [Java] unsigned long long marshalling improvements when a negative number - is passed from Java to C. A cast to signed long long in the C layer will now - result in the expected value. No change for positive numbers passed to C. - Fixes #623. - -2016-03-22: alexwarg - [Lua] #398 Fix lua __getitem + inheritance - The new handling of classes in Lua (not merging methods into the derived classes) - breaks for classes that provide a __getitem function. The __getitem function - prevents method calls to any method defined in a base class. This fix calls - __getitem only if the member is not found using recursive lookup. - -2016-03-18: ptomulik - [Python] #563 Stop generating unnecessary _swigconstant helpers. - -2016-03-16: richardbeare - [R] #636 Add extra std::vector numeric types - -2016-03-14: wsfulton - [Java] Add std_array.i for C++11 std::array support. - -2016-03-12: wsfulton - [Java, C#, D] Fix static const char member variables wrappers with %javaconst(1) - %csconst(1) or %dmanifestconst. - This fixes the case when an integer is used as the initializer, such as: - - struct W { static const char w = 100; }; - - Fix generated code parsing enum values using char escape sequences - when these values appear in the Java code (usually when using %javaconst(1)) - such as: - - enum X { x1 = '\n', x2 = '\1' }; - - Similarly for static const member char variables such as: - - struct Y { static const char y = '\n'; } - - Likewise for D and %dmanifestconstant. For C# and %csconst(1), char - values in C# are now hex escaped as C# doesn't support C octal escaping. - -2016-03-11: wsfulton - [Java C#] Add support for treating C++ base classes as Java interfaces - instead of Java proxy classes. This enable some sort of support for - multiple inheritance. The implementation is in swiginterface.i and - provides additional macros (see Java.html for full documentation): - - %interface(CTYPE) - %interface_impl(CTYPE) - %interface_custom("PROXY", "INTERFACE", CTYPE) - -2016-03-01: wsfulton - Add rstrip encoder for use in %rename. This is like the strip encoder but - strips the symbol's suffix instead of the prefix. The example below - will rename SomeThingCls to SomeThing and AnotherThingCls to AnotherThing: - - %rename("%(rstrip:[Cls])s") ""; - - class SomeThingCls {}; - struct AnotherThingCls {}; - -2016-03-01: olly - Fix isfinite() check to work with GCC6. Fixes - https://github.com/swig/swig/issues/615 reported by jplesnik. - -2016-02-17: olly - [Python] Add missing keywords 'as' and 'with' to pythonkw.swg. - -2016-02-07: kwwette - [Octave] recognise various unary functions - * Use __float__() for numeric conversions, e.g. when calling double() - * Map various unary functions, e.g. abs() to __abs__(), see full list - in section 32.3.10 of manual; only available in Octave 3.8.0 or later - -2016-02-07: kwwette - [Octave] export function swig_octave_prereq() for testing Octave version - -2016-02-06: pjohangustavsson - [C#] Fix duplicate symbol problems when linking the source generated - from multiple SWIG modules into one shared library for the -namespace - option. The namespace is now mangled into the global PInvoke function - names. - - *** POTENTIAL INCOMPATIBILITY *** - -2016-01-27: ahnolds - [Python] Added support for differentiating between Python Bytes - and Unicode objects using by defining SWIG_PYTHON_STRICT_BYTE_CHAR - and SWIG_PYTHON_STRICT_UNICODE_WCHAR. - -2016-01-27: steeve - [Go] Ensure structs are properly packed between gc and GCC/clang. - -2016-01-25: ahnolds - [Python] Support the full Python test suite in -classic mode - * Convert long/unsigned long/long long/unsigned long long to PyInt - rather than PyLong when possible. Certain python functions like - len() require a PyInt when operating on old-style classes. - * Add support for static methods in classic mode, including support - for pythonappend, pythonprepend, and docstrings. - * Removing the use of __swig_getmethods__ for static member methods - since they will always be found by the standard argument lookup - * Fix a bug where the wrong type of exception was caught when - checking for new-style class support - -2016-01-23: ahnolds - [Go] Enable support for the Go test-suite on OSX: - * The linker on OSX requires that all symbols (even weak symbols) - are defined at link time. Because the function _cgo_topofstack is - only defined starting in Go version 1.4, we explicitly mark it as - undefined for older versions of Go on OSX. - * Avoid writing empty swigargs structs, since empty structs are not - allowed in extern "C" blocks. - -2016-01-12: olly - [Javascript] Look for "nodejs" as well as "node", as it's packaged - as the former on Debian. - -2016-01-12: olly - [Javascript] For v8 >= 4.3.0, use V8_MAJOR_VERSION. - Fixes https://github.com/swig/swig/issues/561. - -2016-01-10: ahnolds - Improved size_t and ptrdiff_t typemaps to support large values - on platforms where sizeof(size_t) > sizeof(unsigned long) and - sizeof(ptrdiff_t) > sizeof(long). diff --git a/Doc/Manual/Sections.html b/Doc/Manual/Sections.html index 0fef2496e..8df5f33db 100644 --- a/Doc/Manual/Sections.html +++ b/Doc/Manual/Sections.html @@ -8,7 +8,7 @@ <H1><a name="Sections">SWIG-3.0 Documentation</a></H1> <p> -Last update : SWIG-3.0.9 (29 May 2016) +Last update : SWIG-3.0.10 (in progress) </p> <H2><a name="Sections_Sections">Sections</a></H2> @@ -1,6 +1,6 @@ SWIG (Simplified Wrapper and Interface Generator) -Version: 3.0.9 (29 May 2016) +Version: 3.0.10 (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 1fbbdb84d..a29443005 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.9],[http://www.swig.org]) +AC_INIT([swig],[3.0.10],[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 |