| 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. |