From: Lyle Johnson Date: 2002-06-04T01:18:17+09:00 Subject: ANNOUNCE: SWIG-1.3.12 [Copied from the SWIG users' mailing list. Although it's not specifically noted in the announcement, a number of bug fixes were made for the Ruby module. --Lyle] *** ANNOUNCE: SWIG 1.3.12 *** http://www.swig.org June 2, 2002 We're pleased to announce SWIG 1.3.12, the latest installment in the SWIG development effort. SWIG 1.3.12 is a milestone in the SWIG project--it is the first release that features a nearly complete C++ type system including full support for namespaces, templates, and more. Simply stated, SWIG-1.3.12 is more capable than ever. What is SWIG? ------------- SWIG is a software development tool that reads C/C++ header files and generates the wrapper code needed to make C and C++ code accessible from other languages including Perl, Python, Tcl, Ruby, PHP, Java, Guile, and Mzscheme. Major applications of SWIG include generation of scripting language extension modules, rapid prototyping, testing, and user interface development for large C/C++ systems. SWIG has been available for more than six years and it is used by thousands of developers--primarily in industry and research. Although several tools appear to be similar to SWIG on the surface, SWIG is much more than a simple wrapper generator based on parsing C++ declarations. In fact, the major advantage of SWIG is that it implements the full C++ type system and it is highly customizable. This allows SWIG to work with real applications and it allows SWIG to better understand the relationship between different program modules. Furthermore, there are very few restrictions on what can be wrapped by SWIG--in fact, it can generate bindings for nearly every C/C++ programming construct. New Features in 1.3.12 ---------------------- * C++ namespace support * SWIG-1.3.12 provides full support for C++ namespaces including all C++ namespace related declarations (using, namespace aliases, nested namespaces, etc.). Namespace support is fully integrated into the type system, typemaps, customization features, and all other parts of SWIG. * Enhanced template support * Minimal C++ template support was available in earlier SWIG releases. SWIG-1.3.12 builds upon this and provides support for templates, member templates, template specialization, and template partial specialization. These features have been used to provide new library modules for wrapping C++ strings and STL vectors. More C++ library support will appear in later releases. * Variable length arguments * New directives and support is provided for wrapping C variable length argument functions. * Refined PHP4 Module * Richard Palmer and Sam Lidicott have continued to improve the PHP4 module. * Improved support on Cygwin * The Perl, Python, Tcl, Ruby and Java examples run out of the box on Cygwin. * Warning framework * Most SWIG warning messages can be controlled and error messages have been improved. * Bug fixes * Numerous bug fixes in many parts of SWIG. See the CHANGES file for details. * Updated documentation * Continued updates of the SWIG Users Manual are included in this release. Almost all of the documentation is now up to date with SWIG-1.3.12 features. However, a lot of the old documentation is still incomplete. We're still working on this. Availability: ------------- The release is available for download on Sourceforge at http://prdownloads.sourceforge.net/swig/swig-1.3.12.tar.gz Within the next day, a Windows version will also be made available at http://prdownloads.sourceforge.net/swig/swigwin-1.3.12.zip New Development Process ----------------------- With SWIG1.3, we are adopting an odd/even version numbering scheme for SWIG. Odd version numbers (1.3, 1.5, 1.7, etc...) are considered to be development releases. Even numbers (1.4,1.6,1.8) are stable releases. The current 1.3 effort is working to produce a stable 2.0 release. A stable 2.0 release will not be made until it can accompanied by fully updated documentation. In the meantime, we will continue to make periodic 1.3.x releases. We need your help! ------------------ Even if you are perfectly happy with SWIG1.1, we can still use your feedback. First, we like to know about compilation problems and other issues concerning the building of SWIG. Second, if SWIG1.3 is unable to compile your old interface files, we would like to get information about the features you are using. This information will help us find bugs in the SWIG1.3 release, develop techniques for supporting backwards compatibility, and write documentation that addresses specific issues related to migrating from SWIG1.1 to SWIG1.3. We are also looking for volunteers who would like to work on various aspects of SWIG development. SWIG is an unfunded project that would not exist without volunteers. We are also looking for the developers of other SWIG language modules. If you have developed a SWIG module and would like to see it incorporated into the new release, please contact us to obtain SWIG-CVS access. We are also more than willing to help port your module from SWIG1.1 to SWIG1.3. Please send email to beazley@cs.uchicago.edu for further information. Please report problems with this release to swig-dev@cs.uchicago.edu. --- The SWIG Developers