Skip to content

Releases: mmomtchev/swig

v5.0.12

30 Dec 03:58

Choose a tag to compare

2025-12-29 mmomtchev
[JavaScript] Fix building on Linux with the `SWIG_NAPI_Callback``
fragment and no native threads
mmomtchev/swig#172

2025-12-29 mmomtchev
[JavaScript] Support permanent SWIG_NAPI_Callback that are never
deleted and do not prevent the event loop from exiting
mmomtchev/swig#171

2025-12-27 mmomtchev
[TypeScript] Significant overhaul of the tsout typemaps in order
to support automatic type generation together with
%append_output_field
mmomtchev/swig#165
Old tsout typemaps still work, but emit a warning that they
must be updated with the new merge argument

2025-12-27 mmomtchev
[JavaScript] Provide %apppend_output_field macro for adding
additional values to a structured object with named fields
mmomtchev/swig#166

2025-12-20 mmomtchev
[JavaScript] Optional support for basic finalizers to be enabled
at module compile time
mmomtchev/swig#162

2025-12-19 mmomtchev
[JavaScript] Fix some leaks and primitive types support in
container typemaps (vector, map and pair). Nested containers
are not supported now, limited support may come back in a
later version.
mmomtchev/swig#158
mmomtchev/swig#159
mmomtchev/swig#160

2025-12-16 mmomtchev
[JavaScript] Node-API specific support for wrapping
std::function and function pointers

2025-12-15 mmomtchev
Support for expanding parameter packs in templates in general
and std::function in particular
swig/swig#3297
swig/swig#3021
swig/swig#3172
swig/swig#341

2025-12-09 mmomtchev
[TypeScript] Fix the TypeScript definitions for C functions
declared as `fn(void)``
mmomtchev/swig#152

2025-12-08 mmomtchev
[TypeScript] Extend the type tagging to all classes exported
to TypeScript in order to prevent illegal substitutions
with classes having identical duck-typing
mmomtchev/swig#150

2025-12-06: mmomtchev
Merge SWIG 4.4.1 from upstream

2025-12-06 mmomtchev
[TypeScript] Significant overhaul of the types system, eliminating
many cases where any was emitted because the type match was
failing
mmomtchev/swig#147

2025-12-06 mmomtchev
[TypeScript] Generate types for opaque C typedef struct without
definition restricting the accepted values
mmomtchev/swig#138

2025-12-04: mmomtchev
[JavaScript] Fix char [] strings compatibility with
code splitting
mmomtchev/swig#130
mmomtchev/swig#144

2025-12-03: mmomtchev
[TypeScript] Add TypeScript types for C++ enum class
and fix several missing enum cases
mmomtchev/swig#139

2025-12-03: mmomtchev
[TypeScript] Add TypeScript types for templated arguments
mmomtchev/swig#135

2025-12-03: mmomtchev
[TypeScript] Add TypeScript types for fixed-size character
C arrays
mmomtchev/swig#134

2025-12-02: mmomtchev
[TypeScript] Fix more cases of incorrect TypeScript types
for pointers and references
mmomtchev/swig#133

v5.0.11

27 Nov 16:26

Choose a tag to compare

2025-11-23: mmomtchev
[JavaScript] Close properly uv_async_t used by smart pointers
and callbacks and fix the race condition with a use-after-free
that can lead to a crash on Node.js exit
mmomtchev/swig#128
Raise the minimum Node API requirement to version 8
Node.js 16+ or Node.js 14.17+

2025-11-12: mmomtchev
Fix incorrect backslashes in #include when generating the
wrappers with SWIG on Windows with code splitting
mmomtchev/swig#126

2025-11-12: mmomtchev
Drop macos-13 and macos-14 support and add arm64
binaries for all OS

2025-11-12: mmomtchev
Fix manually setting --with-swiglibdir with
--enable-relocatable using configure on Windows with
Visual Studio
mmomtchev/swig#124

v5.0.10

01 Nov 18:27

Choose a tag to compare

2025-10-27: mmomtchev
[TypeScript] Generate correct types for anonymous enums and C
arrays and fix the default typemaps for pointers and references

2025-10-26: mmomtchev
Merge upstream SWIG 4.4.0

2025-10-14: mmomtchev
[TypeScript] Fix enum function arguments not being resolved to
TypeScript types
mmomtchev/swig#116

v5.0.9

18 Oct 19:26

Choose a tag to compare

2025-10-14: mmomtchev
Fix executable path detection on Linux when the binary is called
from the PATH
mmomtchev/swig#115

v5.0.8

13 Oct 12:17

Choose a tag to compare

2025-10-20: mmomtchev
Add scripts for generating prebuilt binaries for new releases
mmomtchev/swig#113

2025-10-09: mmomtchev
[JavaScript] Suppress all loss of precision warnings when
compiling the generated code, the loss of integer precision in
JavaScript is expected and part of the language specifications
mmomtchev/swig#112

2025-10-05: mmomtchev
Unify UNIX and Windows handling of SWIG_LIB and support
relocatable installations using --enable-relocatable
configure option, default on Windows
mmomtchev/swig#111

v5.0.7

29 Sep 10:31

Choose a tag to compare

Merge upstream SWIG up to 2025/09/10

2025-05-05: mmomtchev
[JavaScript] Do not call uv_ref in background threads since it
is not thread safe and can result an erroneous value of the
active open handles that can block the event loop exit
[#107]#107

2025-05-05: mmomtchev
[JavaScript] Provide built-in helpers for handling std::function
arguments

2025-04-23: mmomtchev
[JavaScript] Integrate std::shared_ptr with the JavaScript
reference counting of the GC
mmomtchev/swig#92,
mmomtchev/swig#95

v5.0.6

21 May 13:12

Choose a tag to compare

2025-10-21: merge upstream

2025-05-05: mmomtchev
[JavaScript] Provide built-in helpers for handling std::function
arguments

2025-04-23: mmomtchev
[JavaScript] Integrate std::shared_ptr with the JavaScript reference counting
of the GC
mmomtchev/swig#92,
mmomtchev/swig#95

v5.0.5

09 Sep 21:07

Choose a tag to compare

2024-09-09: merge upstream

2024-09-09: mmomtchev
[build] conan build compatibility: getting bison from the
environment and case-insensitive path equality test

2024-09-08: mmomtchev
[JavaScript] Fix mmomtchev/swig#37,
Generated code compilation fails with clang on Windows

2024-09-01: mmomtchev
[JavaScript] Fix mmomtchev/swig#62,
eliminate $argnum from JavaScript C-style array typemaps

v5.0.4

30 Jul 11:00

Choose a tag to compare

2024-07-19: merge upstream

2024-07-17: mmomtchev
[JavaScript] Fix mmomtchev/swig#58,
remove the unused dependency on the uv.h header

2024-07-14: mmomtchev
[JavaScript] Support emsdk up to 3.1.63

2024-04-17: mmomtchev
[JavaScript] Fix mmomtchev/swig#52,
double free with certain arguments when a check typemap
explicitly rejects in async mode

2024-03-28: mmomtchev
[JavaScript] Add SWIG_NAPI_SetInstanceData and
SWIG_NAPI_GetInstanceData allowing modules to store per-isolate
context data

2024-03-28: mmomtchev
[JavaScript] Fix mmomtchev/swig#47,
expand $owner in argout typemaps

2024-03-27: mmomtchev
[JavaScript] Support using std containers with non-copyable
objects

2024-03-27: mmomtchev
[JavaScript] std::pair with copy conversion for Node-API
(Node.js and WASM)

2024-03-22: mmomtchev
[JavaScript] Basic std::shared_ptr support for Node-API
(Node.js and WASM)

2024-03-20: mmomtchev
Implement swig/swig#2837,
support %rename matching on C++11/C23 attributes

2024-03-26: mmomtchev
[JavaScript] Fix mmomtchev/swig#43,
$Tntype expansion does not support templated classes with
multiple arguments

2024-03-26: mmomtchev
[JavaScript] Fix mmomtchev/swig#44,
std::map RETURN typemap does not compile

v5.0.3

29 Feb 19:05

Choose a tag to compare

2024-02-29: mmomtchev
[JavaScript] Fix mmomtchev/swig#33,
the ArrayBuffer tmap does not properly handle zero-length
ArrayBuffer when compiling with emscripten

2024-02-29: mmomtchev
[JavaScript] Fix mmomtchev/swig#31,
the ArrayBuffer tmap is missing the emnapi synchronization
unless -D__EMSCRIPTEN__ is passed when running SWIG