aboutsummaryrefslogtreecommitdiff
path: root/CHANGES.current
blob: f44ab054a489c5c6e8dad6076d4dac3685e707a1 (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
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.2.1 (24 Feb 2024)
===========================

2024-02-23: wsfulton
            #2814 Correctly ignore duplicate template instantiation (when the
            duplicate contains typedef'd template parameters).

2024-02-22: erezgeva
            [Ruby, Octave, R] #2284 Fix segfault shrinking STL containers.

2024-02-22: simark
	    Fix -Wundef warning about testing the value of __cplusplus when
	    compiling SWIG-generated C code.  Warning introduced by a change in
	    SWIG 4.2.0.

2024-02-21: olly
	    #2808 [PHP] Fix memory leak when getting or setting a PHP
	    attribute which wraps a C++ member variable.  Bug introduced in
	    SWIG 4.1.0.

2024-02-18: wsfulton
            #2745 Fix for wrapping STL containers that are static member variables
            or global variables (most scripting languages). Previously a copy of the
            STL container was made into a target language container when reading the
            variable. Changes, such as adjusting an element or adding/erasing
            elements, were made to the copy of the container rather the actual
            underlying C++ container. Also applies to const reference STL static
            members.

            If you really need the old behaviour, add in the typemap that used
            to provide it. For example, for std::list< int > and
            const std::list< int >&, use:

              %typemap(varout,noblock=1,fragment="SWIG_" "Traits" "_" {std::list< int >})
                  std::list< int >, const std::list< int >&  {
                $result = swig::from(static_cast< std::list< int > >($1));
              }

	    *** POTENTIAL INCOMPATIBILITY ***

2024-02-15: olly
	    Improve type deduction for enum values in expressions.

2024-02-15: rlaboiss
	    #2799 [Octave] Add support for Octave 9.0; fix warnings about use
	    of deprecated Octave APIs with Octave 7 and later.

2024-02-14: olly
	    SWIG now warns and ignores if %constant is used with an implicit
	    type which SWIG can't deduce.

2024-02-13: olly
	    Fix type deduction for certain cases involving C-style casts, or
	    which are syntactically like a C-style cast applied to an unary
	    operator, such as: (7)*6

2024-02-13: olly
	    #2796 Fix handling of enum initialised by expression including a
	    cast to a typedef-ed type.  Regression introduced in 4.2.0.

2024-02-09: wsfulton
            #2794 Fix SwigType_isvariadic assertion to add support for variadic
            templated functions in a template.

2024-02-08: wsfulton
            #2761 [Tcl] Fix assert in SWIG_Tcl_ConvertPtrFromString().

2024-02-03: wsfulton
            #1897 [C#, Java] Fix crash handling enums with same name in different
            namespaces.

2024-02-01: wsfulton
            #2781 Correctly report line number warnings/errors for base classes that
            are templates.

2024-01-31: olly
	    Fix assertion failure and segfault trying to use %constant to
	    deduce the type of a "float _Complex" constant.

2024-01-31: jim-easterbrook
            #2771 [Python] builtin fixes to handle NULL values passed to slots using
            functype: ssizeobjargproc and ternaryfunc.

2024-01-31: olly
	    [Java] #2766 Fix segfault trying to wrap a constant whose type is unknown
	    to SWIG with "%javaconst(1);" enabled.

2024-01-31: wsfulton
            #2768 Fix seg fault handling upcasting when using %shared_ptr on some
            templates.

2024-01-31: olly
	    #2783 Fix incorrectly deduced type for function call.  Regression
	    introduced in 4.2.0.

2024-01-27: wsfulton
            [Python] Fix compilation error when wrapping two or more classes that
            have the same friend operator overload when the classes are in a namespace.

2024-01-15: wsfulton
            https://sourceforge.net/p/swig/bugs/960/
            https://sourceforge.net/p/swig/bugs/807/
            Fix so that friend operators within a namespace can be correctly ignored
            or renamed.

2024-01-15: wsfulton
            Wrap friend functions that are defined or declared within a namespace.
            Previously unqualified friend definitions/declarations in a namespace were
            ignored.

            The visibility of unqualified friend functions in C++ is somewhat quirky
            and the documentation has been enhanced to aid wrapping of friends.

2024-01-12: wsfulton
            #2749 Fix seg fault handling friend constructor/destructor declarations.

2024-01-12: olly
	    [Ruby, Tcl] #2751 Fix -external-runtime output to define
	    SWIG_snprintf (bug introduced in 4.2.0).

2024-01-12: olly
	    Improve preprocessor warning for use of an undefined function-like
	    macro. SWIG now warns:

	    Warning 202: Could not evaluate expression 'MY_VERSION_AT_LEAST(1,2,3)'
	    Warning 202: Use of undefined function-like macro

	    instead of:

	    Warning 202: Could not evaluate expression 'MY_VERSION_AT_LEAST(1,2,3)'
	    Warning 202: Syntax error: expected operator

2024-01-11: PaulObermeier
	    [Tcl] Improve support for Tcl 9.0.  All examples and tests now pass
	    with Tcl 9.0.b1.

2024-01-06: wsfulton
            [Python] #2744 Regression fix - add in missing SwigPyIterator_T fragment for
            SwigPyIteratorClosed_T when using %import on an instantiated std::map.