| 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.10 (27 May 2013) |
| ============================ |
| |
| 2013-05-25: wsfulton |
| [Python] Fix Python 3 inconsistency when negative numbers are passed |
| where a parameter expects an unsigned C type. An OverFlow error is |
| now consistently thrown instead of a TypeError. |
| |
| 2013-05-25: Artem Serebriyskiy |
| SVN Patch ticket #338 - fixes to %attribute macros for template usage |
| with %arg. |
| |
| 2013-05-19: wsfulton |
| Fix ccache-swig internal error bug due to premature file cleanup. |
| |
| Fixes SF bug 1319 which shows up as a failure in the ccache tests on |
| Debian 64 bit Wheezy, possibly because ENABLE_ZLIB is defined. |
| |
| This is a corner case which will be hit when the maximum number of files |
| in the cache is set to be quite low (-F option), resulting in a cache miss. |
| |
| 2013-05-09: kwwette |
| [Octave] Fix bugs in Octave module loading: |
| - fix a memory leak in setting of global variables |
| - install functions only once, to speed up module loads |
| |
| 2013-04-28: gjanssens |
| [Guile] Updates in guile module: |
| - Add support for guile 2.0 |
| - Drop support for guile 1.6 |
| - Drop support for generating wrappers using guile's gh interface. |
| All generated wrappers will use the scm interface from now on. |
| - Deprecate -gh and -scm options. They are no longer needed. |
| A warning will be issued when these options are still used. |
| - Fix all tests and examples to have a successful travis test |
| |
| 2013-04-18: wsfulton |
| Apply Patch #36 from Jesus Lopez to add support for $descriptor() special variable macro expansion |
| in fragments. For example: |
| |
| %fragment("nameDescriptor", "header") |
| %{ |
| static const char *nameDescriptor = "$descriptor(Name)"; |
| %} |
| |
| which will generate into the wrapper if the fragment is used: |
| |
| static const char *nameDescriptor = "SWIGTYPE_Name"; |
| |
| 2013-04-18: wsfulton |
| Fix SF Bug #428 - Syntax error when preprocessor macros are defined inside of enum lists, such as: |
| |
| typedef enum { |
| eZero = 0 |
| #define ONE 1 |
| } EFoo; |
| |
| The macros are silently ignored. |
| |
| 2013-04-17: wsfulton |
| [C#] Pull patch #34 from BrantKyser to fix smart pointers in conjuction with directors. |
| |
| 2013-04-15: kwwette |
| [Octave] Fix bugs in output of cleanup code. |
| - Cleanup code is now written also after the "fail:" label, so it will be called if |
| a SWIG_exception is raised by the wrapping function, consistent with other modules. |
| - Octave module now also recognises the "$cleanup" special variable, if needed. |
| |
| 2013-04-08: kwwette |
| Add -MP option to SWIG for generating phony targets for all dependencies. |
| - Prevents make from complaining if header files have been deleted before |
| the dependency file has been updated. |
| - Modelled on similar option in GCC. |
| |
| 2013-04-09: olly |
| [PHP] Add missing directorin typemap for char* and char[] which |
| fixes director_string testcase failure. |
| |
| 2013-04-05: wsfulton |
| [Ruby] SF Bug #1292 - Runtime fixes for Proc changes in ruby-1.9 when using STL |
| wrappers that override the default predicate, such as: |
| |
| %template(Map) std::map<swig::LANGUAGE_OBJ, swig::LANGUAGE_OBJ, swig::BinaryPredicate<> >; |
| |
| 2013-04-05: wsfulton |
| [Ruby] SF Bug #1159 - Correctly check rb_respond_to call return values to fix some |
| further 1.9 problems with functors and use of Complex wrappers. |
| |
| 2013-04-02: wsfulton |
| [Ruby] Runtime fixes for std::complex wrappers for ruby-1.9 - new native Ruby complex numbers are used. |
| |
| 2013-03-30: wsfulton |
| [Ruby] Fix seg fault when using STL containers of generic Ruby types, GC_VALUE or LANGUAGE_OBJECT, |
| on exit of the Ruby interpreter. More frequently observed in ruby-1.9. |
| |
| 2013-03-29: wsfulton |
| [Ruby] Fix delete_if (reject!) for the STL container wrappers which previously would |
| sometimes seg fault or not work. |
| |
| 2013-03-25: wsfulton |
| [Python] Fix some undefined behaviour deleting slices in the STL containers. |
| |
| 2013-03-19: wsfulton |
| [C#, Java, D] Fix seg fault in SWIG using directors when class and virtual method names are |
| the same except being in different namespaces when the %nspace feature is not being used. |
| |
| 2013-02-19: kwwette |
| Fix bug in SWIG's handling of qualified (e.g. const) variables of array type. Given the typedef |
| a(7).q(volatile).double myarray // typedef volatile double[7] myarray; |
| the type |
| q(const).myarray // const myarray |
| becomes |
| a(7).q(const volatile).double // const volatile double[7] |
| Previously, SwigType_typedef_resolve() produces the type |
| q(const).a(7).q(volatile).double // non-sensical type |
| which would never match %typemap declarations, whose types were parsed correctly. |
| Add typemap_array_qualifiers.i to the test suite which checks for the correct behaviour. |
| |
| 2013-02-18: wsfulton |
| Deprecate typedef names used as constructor and destructor names in %extend. The real |
| class/struct name should be used. |
| |
| typedef struct tagEStruct { |
| int ivar; |
| } EStruct; |
| |
| %extend tagEStruct { |
| EStruct() // illegal name, should be tagEStruct() |
| { |
| EStruct *s = new EStruct(); |
| s->ivar = ivar0; |
| return s; |
| } |
| ~EStruct() // illegal name, should be ~tagEStruct() |
| { |
| delete $self; |
| } |
| } |
| |
| For now these trigger a warning: |
| |
| extend_constructor_destructor.i:107: Warning 522: Use of an illegal constructor name 'EStruct' in |
| %extend is deprecated, the constructor name should be 'tagEStruct'. |
| extend_constructor_destructor.i:111: Warning 523: Use of an illegal destructor name 'EStruct' in |
| %extend is deprecated, the destructor name should be 'tagEStruct'. |
| |
| These %extend destructor and constructor names were valid up to swig-2.0.4, however swig-2.0.5 ignored |
| them altogether for C code as reported in SF bug #1306. The old behaviour of using them has been |
| restored for now, but is officially deprecated. This does not apply to anonymously defined typedef |
| classes/structs such as: |
| |
| typedef struct {...} X; |
| |
| 2013-02-17: kwwette |
| When generating functions provided by %extend, use "(void)" for no-argument functions |
| instead of "()". This prevents warnings when compiling with "gcc -Wstrict-prototypes". |
| |
| 2013-02-17: kwwette |
| [Octave] Minor fix to autodoc generation: get the right type for functions returning structs. |
| |
| 2013-02-15: wsfulton |
| Deprecate typedef names used in %extend that are not the real class/struct name. For example: |
| |
| typedef struct StructBName { |
| int myint; |
| } StructB; |
| |
| %extend StructB { |
| void method() {} |
| } |
| |
| will now trigger a warning: |
| |
| swig_extend.i:19: Warning 326: Deprecated %extend name used - the struct name StructBName |
| should be used instead of the typedef name StructB. |
| |
| This is only partially working anyway (the %extend only worked if placed after the class |
| definition). |
| |
| 2013-02-09: wsfulton |
| [CFFI] Apply patch #22 - Fix missing package before &body |
| |
| 2013-01-29: wsfulton |
| [Java] Ensure 'javapackage' typemap is used as it stopped working from version 2.0.5. |
| |
| 2013-01-28: wsfulton |
| [Python] Apply patch SF #334 - Fix default value conversions "TRUE"->True, "FALSE"->False. |
| |
| 2013-01-28: wsfulton |
| [Java] Apply patch SF #335 - Truly ignore constructors in directors with %ignore. |
| |
| 2013-01-18: Brant Kyser |
| [Java] Patch #15 - Allow the use of the nspace feature without the -package commandline option. |
| This works as long and the new jniclasspackage pragma is used to place the JNI intermediate class |
| into a package and the nspace feature is used to place all exposed types into a package. |
| |
| 2013-01-15: wsfulton |
| Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces. |
| |
| 2013-01-15: wsfulton |
| [C#] Fix cstype typemap lookup for member variables so that a fully qualified variable name |
| matches. For example: |
| %typemap(cstype) bool MVar::mvar "MyBool" |
| struct MVar { |
| bool mvar; |
| }; |
| |
| 2013-01-11: Brant Kyser |
| [Java, C#, D] SF Bug #1299 - Fix generated names for when %nspace is used on |
| classes with the same name in two different namespaces. |
| |
| 2013-01-11: Vladimir Kalinin |
| [C#] Add support for csdirectorin 'pre', 'post' and 'terminator' attributes. |
| |
| 2013-01-08: olly |
| [PHP] Fix to work with a ZTS build of PHP (broken in 2.0.7). |
| |
| 2013-01-07: olly |
| Fix bashism in configure, introduced in 2.0.9. |
| |
| 2013-01-06: wsfulton |
| Pull patch #4 from ptomulik to fix SF Bug #1296 - Fix incorrect warning for virtual destructors |
| in templates, such as: |
| Warning 521: Illegal destructor name B< A >::~B(). Ignored. |
| |
| 2013-01-05: wsfulton |
| [Python] Pull patch #3 from ptomulik to fix SF Bug #1295 - standard exceptions as |
| classes using the SWIG_STD_EXCEPTIONS_AS_CLASSES macro. |
| |
| 2013-01-04: wsfulton |
| [Java] Pull patch #2 from BrantKyser to fix SF Bug #1283 - fix smart pointers in conjuction |
| with directors. |
| |
| 2013-01-03: wsfulton |
| [Java] Pull patch #1 from BrantKyser to fix SF Bug #1278 - fix directors and nspace feature when |
| multilevel namespaces are used. |
| |