| 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.1.1 (30 Nov 2022) |
| =========================== |
| |
| 2022-11-29: bero |
| Fix mismatch between #pragma GCC diagnostic push and pop statements |
| |
| 2022-11-26: wsfulton |
| #2449 Fix undefined behaviour in ccache-swig calculating md4 hashes and possibly |
| also handling errors when CCACHE_CPP2 is set. |
| |
| 2022-11-25: wsfulton |
| #961 Fix syntax error parsing unnamed template parameters with a default value. |
| |
| 2022-11-25: olly |
| #2447 Fix undefined behaviour in swig's parser when handling |
| default parameter expressions containing method calls. |
| |
| 2022-11-13: olly |
| [PHP] #2419 Update the documentation to reflect that SWIG 4.1.0 |
| dropped support for -noproxy when generating PHP wrappers. |
| |
| 2022-11-05: wsfulton |
| #2417 Fix -swiglib for Windows when building with CMake. |
| |
| 2022-11-02: wsfulton |
| #2418 Fix infinite loop handling non-type template parameters. |
| |
| Fixes infinite loop due to () brackets in a non-type template |
| parameter containing an expression. |
| |
| 2022-10-28: wsfulton |
| [R] R rtypecheck typemaps |
| |
| Further switch to use rtypecheck typemaps instead of hard coded logic. |
| The full switch to typemaps is deferred until swig-4.2 as it can't be fully |
| backwards compatible. For now a warning is provided to help the |
| transition. It provides the full typemap that should be placed into |
| a user's interface file, for example: |
| |
| %typemap("rtype") int32_t * "integer" |
| void testmethod(int32_t * i); |
| void testmethod(); |
| |
| If there is no rtypecheck typemap for int32_t *, the warning shown is: |
| |
| example.i:7: Warning 750: Optional rtypecheck code is deprecated. Add the |
| following typemap to fix as the next version of SWIG will not work without it: |
| %typemap("rtypecheck") int32_t * %{ (is.integer($arg) || is.numeric($arg)) %} |
| |
| The warning is shown for any code that previously used "numeric", "integer" or |
| "character" for the rtype typemap. Copying the rtypecheck typemap as |
| shown into the user interface file will provide the appropriate fix and |
| the warning will disappear. This is important to do as swig-4.2 will |
| not be able to provide this helpful warning. |
| |
| 2022-10-27: wsfulton |
| [R] Allow NULL to be used in overloaded functions taking shared_ptr. |
| Also fixes special variable $argtype expansion in rtypecheck typemaps. |
| |
| 2022-10-26: wsfulton |
| [R] Improve R wrapper error message when calling overloaded methods |
| when incorrect types passed are passed to the overloaded methods. |
| |
| Old unhelpful error message: |
| Error in f(...) : could not find function "f" |
| |
| Example of new improved error message: |
| Error in use_count(k) : |
| cannot find overloaded function for use_count with argtypes (NULL) |
| |
| 2022-10-26: wsfulton |
| [R] #2386 Fix memory leak in R shared_ptr wrappers. |
| Fix leak when a cast up a class inheritance chain is required. |