| 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 2.0.8 (20 August 2012) |
| ============================== |
| |
| 2012-08-15: wsfulton |
| [Perl] Add size_type, value_type, const_reference to the STL containers. |
| |
| 2012-08-15: wsfulton |
| [Python] Add discard and add methods to std::set wrappers so that pyabc.i can be used ensuring |
| MutableSet is a valid abstract base class for std::set. As reported by Alexey Sokolov. |
| Similarly for std::multiset. |
| |
| 2012-08-15: wsfulton |
| [Python] Fix #3541744 - Missing PyInt_FromSize_t calls for Python 3. |
| |
| 2012-08-13: wsfulton |
| [Java] Patch from David Baum to add the assumeoverride feature for Java directors to |
| improve performance when all overridden methods can be assumed to be overridden. |
| |
| 2012-08-05: wsfulton |
| [Python] #3530021 Fix unused variable warning. |
| |
| 2012-08-05: wsfulton |
| [C#] Fix #3536360 - Invalid code sometimes being generated for director methods |
| with many arguments. |
| |
| 2012-08-05: wsfulton |
| [Perl] #3545877 - Don't undefine bool if defined by C99 stdbool.h - problem using |
| Perl 5.16 and later. |
| |
| 2012-08-04: wsfulton |
| Remove incorrect warning (314) about target language keywords which were triggered |
| by using declarations and using directives. For example 'string' is a keyword in C#: |
| namespace std { class string; } |
| using std::string; |
| |
| 2012-07-21: wsfulton |
| Fix display of pointers in various places on 64 bit systems - only 32 bits were being shown. |
| |
| 2012-07-21: wsfulton |
| Fix gdb debugger functions 'swigprint' and 'locswigprint' to display to the gdb output window |
| rather than stdout. This fixes display problems in gdbtui and the ensures the output |
| appears where expected in other gdb based debuggers such as Eclipse CDT. |
| |
| 2012-07-20: kwwette |
| [Octave] segfault-on-exit prevention hack now preserves exit status, and uses C99 _Exit(). |
| |
| 2012-07-02: wsfulton |
| Fix Debian bug http://bugs.debian.org/672035, typemap copy failure - regression introduced |
| in swig-2.0.5: |
| %include<stl.i> |
| using std::pair; |
| %template(StrPair) pair<std::string, std::string>; |
| |
| 2012-07-02: wsfulton |
| Fix using declarations combined with using directives with forward class declarations so that |
| types are correctly found in scope for templates. Example: |
| |
| namespace Outer2 { |
| namespace Space2 { |
| template<typename T> class Thing2; |
| } |
| } |
| using namespace Outer2; |
| using Space2::Thing2; |
| template<typename T> class Thing2 {}; |
| // STILL BROKEN void useit2(Thing2<int> t) {} |
| void useit2a(Outer2::Space2::Thing2<int> t) {} |
| void useit2b(::Outer2::Space2::Thing2<int> t) {} |
| void useit2c(Space2::Thing2<int> t) {} |
| namespace Outer2 { |
| void useit2d(Space2::Thing2<int> t) {} |
| } |
| |
| %template(Thing2Int) Thing2<int>; |
| |
| |
| 2012-06-30: wsfulton |
| Fix template namespace problems for symbols declared with a forward class declarations, such as: |
| |
| namespace Space1 { |
| namespace Space2 { |
| template<typename T> struct YYY; |
| } |
| template<typename T> struct Space2::YYY { |
| T yyy(T h) { |
| return h; |
| } |
| }; |
| void testYYY1(Space1::Space2::YYY<int> yy) {} |
| void testYYY2(Space2::YYY<int> yy) {} |
| void testYYY3(::Space1::Space2::YYY<int> yy) {} |
| } |
| |
| %template(YYYInt) Space1::Space2::YYY<int>; |
| |
| 2012-06-30: wsfulton |
| Fix namespace problems for symbols declared with a forward class declarations, such as: |
| |
| namespace Space1 { |
| namespace Space2 { |
| struct XXX; |
| struct YYY; |
| } |
| |
| struct Space2::YYY {}; |
| struct Space1::Space2::XXX {}; |
| |
| void testXXX2(Space2::XXX xx) {} |
| void testYYY2(Space2::YYY yy) {} |
| } |
| |
| where xx and yy were not recognised as the proxy classes XXX and YYY. |
| |
| 2012-06-30: wsfulton |
| Fix using declarations combined with using directives with forward class declarations so that |
| types are correctly found in scope. |
| |
| namespace Outer2 { |
| namespace Space2 { |
| class Thing2; |
| } |
| } |
| using namespace Outer2; |
| using Space2::Thing2; |
| class Thing2 {}; |
| // None of the methods below correctly used the Thing2 proxy class |
| void useit2(Thing2 t) {} |
| void useit2a(Outer2::Space2::Thing2 t) {} |
| void useit2b(::Outer2::Space2::Thing2 t) {} |
| void useit2c(Space2::Thing2 t) {} |
| namespace Outer2 { |
| void useit2d(Space2::Thing2 t) {} |
| } |
| |
| 2012-06-25: wsfulton |
| Fix using declarations combined with using directives so that types are correctly found in scope. |
| Example: |
| |
| namespace Outer2 { |
| namespace Space2 { |
| class Thing2 {}; |
| } |
| } |
| using namespace Outer2; // using directive |
| using Space2::Thing2; // using declaration |
| void useit2(Thing2 t) {} |
| |
| Similarly for templated classes. |
| |
| 2012-05-29: wsfulton |
| Fix #3529601 - seg fault when a protected method has the "director" |
| feature but the parent class does not. Also fix similar problems with |
| the allprotected feature. |
| |
| 2012-05-28: wsfulton |
| Fix seg fault when attempting to warn about an illegal destructor - #3530055, 3530078 and #3530118. |
| |