CHANGES.current 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. Below are the changes for the current release.
  2. See the CHANGES file for changes in older releases.
  3. See the RELEASENOTES file for a summary of changes in each release.
  4. Issue # numbers mentioned below can be found on Github. For more details, add
  5. the issue number to the end of the URL: https://github.com/swig/swig/issues/
  6. Version 4.1.1 (30 Nov 2022)
  7. ===========================
  8. 2022-11-29: bero
  9. Fix mismatch between #pragma GCC diagnostic push and pop statements
  10. 2022-11-26: wsfulton
  11. #2449 Fix undefined behaviour in ccache-swig calculating md4 hashes and possibly
  12. also handling errors when CCACHE_CPP2 is set.
  13. 2022-11-25: wsfulton
  14. #961 Fix syntax error parsing unnamed template parameters with a default value.
  15. 2022-11-25: olly
  16. #2447 Fix undefined behaviour in swig's parser when handling
  17. default parameter expressions containing method calls.
  18. 2022-11-13: olly
  19. [PHP] #2419 Update the documentation to reflect that SWIG 4.1.0
  20. dropped support for -noproxy when generating PHP wrappers.
  21. 2022-11-05: wsfulton
  22. #2417 Fix -swiglib for Windows when building with CMake.
  23. 2022-11-02: wsfulton
  24. #2418 Fix infinite loop handling non-type template parameters.
  25. Fixes infinite loop due to () brackets in a non-type template
  26. parameter containing an expression.
  27. 2022-10-28: wsfulton
  28. [R] R rtypecheck typemaps
  29. Further switch to use rtypecheck typemaps instead of hard coded logic.
  30. The full switch to typemaps is deferred until swig-4.2 as it can't be fully
  31. backwards compatible. For now a warning is provided to help the
  32. transition. It provides the full typemap that should be placed into
  33. a user's interface file, for example:
  34. %typemap("rtype") int32_t * "integer"
  35. void testmethod(int32_t * i);
  36. void testmethod();
  37. If there is no rtypecheck typemap for int32_t *, the warning shown is:
  38. example.i:7: Warning 750: Optional rtypecheck code is deprecated. Add the
  39. following typemap to fix as the next version of SWIG will not work without it:
  40. %typemap("rtypecheck") int32_t * %{ (is.integer($arg) || is.numeric($arg)) %}
  41. The warning is shown for any code that previously used "numeric", "integer" or
  42. "character" for the rtype typemap. Copying the rtypecheck typemap as
  43. shown into the user interface file will provide the appropriate fix and
  44. the warning will disappear. This is important to do as swig-4.2 will
  45. not be able to provide this helpful warning.
  46. 2022-10-27: wsfulton
  47. [R] Allow NULL to be used in overloaded functions taking shared_ptr.
  48. Also fixes special variable $argtype expansion in rtypecheck typemaps.
  49. 2022-10-26: wsfulton
  50. [R] Improve R wrapper error message when calling overloaded methods
  51. when incorrect types passed are passed to the overloaded methods.
  52. Old unhelpful error message:
  53. Error in f(...) : could not find function "f"
  54. Example of new improved error message:
  55. Error in use_count(k) :
  56. cannot find overloaded function for use_count with argtypes (NULL)
  57. 2022-10-26: wsfulton
  58. [R] #2386 Fix memory leak in R shared_ptr wrappers.
  59. Fix leak when a cast up a class inheritance chain is required.