We are pleased to announce SWIG-3.0.5 has been released with the addition of support for Scilab.
This version also contains:
SWIG-3.0.4 was also released recently and contained part of the Python fix for the regression mentioned above. Python users should definitely rather use 3.0.5.
SWIG-3.0.3 release summary:
- Add support for C++11 strongly typed enumerations.
- Numerous bug fixes and minor enhancements for C#, D, Go, Java,
More detailed release notes can be seen at http://swig.org/release.html
This release has been made to fix a bug during installation, but it also includes a couple of other rather minor changes.
This is a major new release focusing primarily on C++ improvements.
- This is a maintenance release backporting some fixes from the pending 3.0.0 release.
- Octave 3.8 support added.
- C++11 support for new versions of erase/insert in the STL containers.
- Compilation fixes on some systems for the generated Lua, PHP, Python and R wrappers.
- Minor bug fixes and enhancements mostly in Python, but also
C#, Lua, Ocaml, Octave, Perl, PHP, Python, R, Ruby, Tcl.
- Ruby 1.9 support is now complete.
- Add support for Guile 2.0 and Guile 1.6 support (GH interface) has
- Various small language neutral improvements and fixes.
- Various bug fixes and minor improvements specific to C#, CFFI, D,
Java, Octave, PHP, Python,
- Minor bug fix in ccache-swig.
- Development has moved to Github with Travis continuous integration
testing - patches using https://github.com/swig/swig are welcome.
We have recently updated the SWIG legal page to provide clarification on the SWIG license. There has been some confusion as to how the GPL license may or may not affect the code generated by SWIG. Please take a look at the updated SWIG legal page.
We are indebted to the Software Freedom Law Center for all the help given in providing the legal explanations and for originally helping set up the license for version 2.0.
With the new year we have switched SWIG development to a new development model - Git on Github. The old Subversion history (including the even older CVS history) has been migrated and is now viewable in Github - https://github.com/swig/swig. If you have used SWIG we would really appreciate improvements you have made for incorporation into the mainline SWIG releases. So, feel free to use Github to fork and send your pull requests or patches.... read more
- Improved typemap matching.
- Ruby 1.9 support is much improved.
- Various bug fixes and minor improvements in C#, CFFI, Go, Java,
Modula3, Octave, Perl, Python, R, Ruby, Tcl and in ccache-swig.
GSoC 2012 was SWIG's third Summer of Code, and this year we
received five slots for projects related to SWIG. Out of five,
four students completed the program successfully with valuable
additions to SWIG.
Dmitry Kabak, mentored by Marko Klopcic, worked on SWIG
internals to parse the source code documentation comments within
the C/C++ header files and use them to document the target
language wrapper classes/functions. Dmitry's efforts
complemented the existing support added in GSoC 2008. In
summary, all previously known bugs have been fixed and the
original source code for comment translation was re-factored to
improve performance and maintainability. Parsing of C/C++ source
code has been improved, so that every declaration/definition can
now be commented. Translation of Doxygen tags to Javadoc and
Python docstrings has been improved and corresponding regression
tests have been implemented. The project mentor, Marko Klopcic
has some great ideas for the future GSoC. The work can be tried
out on the branch gsoc2012-doxygen.... read more
- Fix a couple of regressions introduced in 2.0.5 and 2.0.7.
- Improved using declarations and using directives support.
- Minor fixes/enhancements for C#, Java, Octave, Perl and Python.
- Important regression fixes since 2.0.5 for typemaps in general and
- Fixes and enhancements for Go, Java, Octave and PHP.
This release fixes a bug in SWIG-2.0.5, please use SWIG-2.0.6 instead.
- Regression fix for Python STL wrappers on some systems.
Google has announced the list of accepted students for the Google Summer of Code program. SWIG was given 5 slots this year the SWIG developer community has chosen the following projects which will be worked on over the next 4 months:
"SWIG's Scilab 6.0 Backend" - Wolfgang Frisch
"Enhance Objective C support" - Swati Sharma
"Get the C backend in shape and into trunk" - Leif Middelschulte
"Source Code Documentation Comments" - Dmitry Kabak... read more
- Official Android support added including documentation and examples.
- Improvements involving templates:
1) Various fixes with templates and typedef types.
2) Some template lookup problems fixed.
3) Templated type fixes to use correct typemaps.
- Autodoc documentation generation improvements.
- Python STL container wrappers improvements including addition of
- Approximately 70 fixes and minor enhancements for the following
target languages: AllegroCL, C#, D, Go, Java, Lua, Ocaml, Octave,
Perl, PHP, Python, R, Ruby, Tcl, Xml.
SWIG has been accepted on the Google Summer of Code program for the third time. This is an opportunity for budding open source programmers to get paid for coding. If you are a student and interested please take a look at http://codewrapper.com/wiki/index.php?title=SWIG_GSoC_2012_ideas_page and http://www.google-melange.com/gsoc/homepage/google/gsoc2012 for further details. Applications must be in by 6 April 2012.
SWIG-2.0.4 release summary:
- This is mainly a Python oriented release including support for Python
built-in types for superior performance with the new -builtin option.
The -builtin option is especially suitable for performance-critical
libraries and applications that call wrapped methods repeatedly.
See the python-specific chapter of the SWIG manual for more info.
- Python 3.2 support has also been added and various Python bugs have
- Octave 3.4 support has also been added.
- There are also the usual minor generic improvements, as well as bug
fixes and enhancements for D, Guile, Lua, Octave, Perl and Tcl.
SWIG-2.0.3 has been released. This is a bug fix release including a couple of fixes for regressions in the 2.0 series.
SWIG-2.0.2 has been released and includes the following changes:
- Support for the D language has been added.
- Various bug fixes and minor enhancements.
- Bug fixes particular to the Clisp, C#, Go, MzScheme, Ocaml, PHP, R, Ruby target languages.
SWIG-2.0.1 has been released and includes the following changes:
- Support for the Go language has been added.
- New regular expression (regex) encoder for renaming symbols based on the Perl Compatible Regular Expressions (PCRE) library - http://pcre.org .
- Numerous fixes in reporting file and line numbers in error and warning messages.
- Various bug fixes and improvements in the C#, Lua, Perl, PHP, Ruby and Python language modules.
SWIG-2.0.0 has been released. The following are the main changes:
- License changes, see LICENSE file and http://www.swig.org/legal.html .
- Much better nested class/struct support.
- Much improved template partial specialization and explicit specialization handling.
- Namespace support improved with the 'nspace' feature where namespaces can be automatically translated into Java packages or C# namespaces.
- Improved typemap and symbol table debugging.
- Numerous subtle typemap matching rule changes when using the default (SWIGTYPE) type. These now work much like C++ class template partial specialization matching.
- Other small enhancements for typemaps. Typemap fragments are also now official and documented.
- Warning and error display refinements.
- Wrapping of shared_ptr is improved and documented now.
- Numerous C++ unary scope operator (::) fixes.
- Better support for boolean expressions.
- Various bug fixes and improvements in the Allegrocl, C#, Java, Lua, Octave, PHP, Python, R, Ruby and XML modules.
The Software Freedom Conservancy has just announced that SWIG has been accepted as a member of the Conservancy - http://sfconservancy.org/news/2010/apr/20/swig-joins/ . Being part of the Conservancy and all the good work it does for free and open source software is great news for SWIG. The Conservancy provides many benefits such as a formal legal structure and will help ensure the vitality of SWIG as the Conservancy is able to handle donations to the SWIG project. Please visit our new http://www.swig.org/donate.html donations page.... read more
SWIG is a programmer's tool designed to make it easier to use C and C++ code from other popular programming languages such as Python, Perl, Ruby, PHP, Java, and C#. 2009 was SWIG's second Summer of Code, and this year we mentored five projects related to SWIG. All five students were very active over the summer period and produced some great new features. In no particular order:
Matevz Jekovec has been busy working at the coal face of SWIG to add support for C++0x, the forthcoming C++ standard. Matevz has managed to achieve close to full support for C++0x. The C++0x Wikipaedia article http://en.wikipedia.org/wiki/C%2B%2B0x details the numerous planned new C++0x features and Matevž has put together a SWIG C++0x page (http://swig.svn.sourceforge.net/viewvc/swig/branches/gsoc2009-matevz/Doc/Manual/Cpp0x.html) documenting the new SWIG support for each of these. In summary the enhanced C++ language can now be parsed by SWIG, which in itself is a great step. There is much more than just this though, as most of the information parsed is used to create useful wrappers of C++0x code. The work can be tried out on the C++0x branch http://swig.svn.sourceforge.net/viewvc/swig/branches/gsoc2009-matevz which should be merged fairly soon into a forthcoming release.... read more