summaryrefslogtreecommitdiff
path: root/CHANGES.current
blob: 215fdb203128a8f2b9896693fe34c9b81e540eba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
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.