mirror of https://github.com/swig/swig
104 lines
4.2 KiB
Plaintext
104 lines
4.2 KiB
Plaintext
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.
|
|
Issue # numbers mentioned below can be found on Github. For more details, add
|
|
the issue number to the end of the URL: https://github.com/swig/swig/issues/
|
|
|
|
Version 4.4.0 (in progress)
|
|
===========================
|
|
|
|
2025-02-28: olly
|
|
#3127 Fix bad generated code in some cases when a constant
|
|
expression is split over multiple lines and used as part of a type.
|
|
This manifested in cases where SWIG's parser gets the expression
|
|
text by skipping to the matching closing parenthesis and grabbing
|
|
the skipped program text.
|
|
|
|
2025-02-19: wsfulton
|
|
Add support for $n special variable expansion in the names of typemap
|
|
local variables, such as:
|
|
|
|
%typemap(in) int MYINT (int $1_temp) { ... }
|
|
|
|
$1_temp is typically expanded to arg1_temp, arg2_temp etc depending on
|
|
which argument the typemap is applied to.
|
|
|
|
2025-02-05: wsfulton
|
|
#3075 Regression fix when using -keyword, kwargs or compactdefaultargs
|
|
option. Restore generating a non-const cast to the default value when
|
|
wrapping const pointer default arguments.
|
|
|
|
2025-01-27: StefanBattmer
|
|
[Python] #2889 Fix regression when using directors and threads
|
|
but not using limited API.
|
|
|
|
2024-12-07: arbrauns
|
|
[Lua] #3083 Fix "unsigned long long" being interpreted as "signed
|
|
long long".
|
|
|
|
2024-11-22: wsfulton
|
|
Use new <errno.h> fragment for including this header when needed instead
|
|
of either always including it or relying on it being included elsewhere.
|
|
Fixes the removal of errno.h when defining PY_LIMITED_API for python-3.11
|
|
and later.
|
|
|
|
2024-11-21: olly
|
|
[Java] #3070 Fix regression wrapping enum values which don't fit
|
|
in a Java signed int.
|
|
|
|
2024-11-09: wsfulton
|
|
#3064 Perform repeated typedef lookups instead of a single typedef
|
|
lookup on the type being applied in %apply when looking for a family
|
|
of typemaps to apply.
|
|
|
|
2024-11-01: wsfulton
|
|
Fix internal error handling parameters that are typedefs to references
|
|
when using the compactdefaultargs feature.
|
|
|
|
2024-10-30: wsfulton
|
|
#1851 Fix handling of parameters with default arguments that are
|
|
initializer lists when using -keyword or the compactdefaultargs option.
|
|
|
|
2024-10-27: olly
|
|
#3058 Fix precedence of casts, which should have the same high
|
|
precedence as unary plus and minus, but actually had a lower
|
|
precedence than anything else. This could lead to the wrong type
|
|
being deduced in obscure cases, but also prevented SWIG deducing a
|
|
type for expressions such as (0)*1+2 which SWIG parses as a cast
|
|
and then fixes up afterwards. A bug fixed in 4.3.0 made this
|
|
latter problem manifest more often (previously type deduction
|
|
happened to work for (0)*1+2 due to an internal field not getting
|
|
cleared properly).
|
|
|
|
2024-10-25: olly
|
|
[Guile] Allow wrapping anything with a `varout` typemap as a
|
|
constant.
|
|
|
|
2024-10-24: olly
|
|
[Perl] https://sourceforge.net/p/swig/bugs/1134/ Ensure C++
|
|
local variables get destroyed before throwing a Perl exception.
|
|
|
|
2024-10-22: olly
|
|
#3034 SWIG's testsuite is now free of SWIG warnings for all target
|
|
languages except mzscheme and the SWIG -Werror option is now
|
|
enabled automatically to ensure this doesn't regress.
|
|
|
|
2024-10-22: olly
|
|
#2998 Drop support for specifying SWIG's internal type string
|
|
representation in interface files. This "secret developer feature"
|
|
was only documented in developer documentation, and had no test
|
|
coverage.
|
|
|
|
It allowed specifying an SWIG internal syntax type string, e.g.:
|
|
|
|
`p.a(10).p.f(int, p.f(int).int)` foo(int, int (*x)(int));
|
|
|
|
In the unlikely event that anyone was using this, we recommend you
|
|
use the standard C/C++ type syntax instead, which will work with
|
|
previous SWIG releases too, e.g.:
|
|
|
|
(*(*foo(int, int (*)(int)))[10])(int, int (*)(int));
|
|
|
|
The C/C++ syntax has the major advantage of being the same syntax
|
|
that C/C++ compilers use.
|