* char-escaping: Add missing string_constant.i testcase changes file update for char wrappers C# char wrappers fixes for enum values, static const member char values and %csconst D testing added for %dmanifestconst and char constants Fix wrapping D constants using %dmanifestconst Php fix for enum value of '\0' Fix static const char member variables wrappers with %javaconst(1). Expand char testing in enums and %constant Java char changes file update Java enum and static member variable escaping fix for chars Add tests for enum values and static const member variables chars containing escape sequences Minor documentation tweak Conflicts: CHANGES.current
112 lines
4.8 KiB
Text
112 lines
4.8 KiB
Text
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 (in progress)
|
|
===========================
|
|
|
|
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
|
|
[Python] 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).
|