This file contains 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.

Version 2.0.1 (4 October 2010)
==============================

2010-10-03: wsfulton
            Apply patch #3066958 from Mikael Johansson to fix default smart pointer
            handling when the smart pointer contains both a const and non-const operator->.

2010-10-01: wsfulton
            Add -pcreversion option to display PCRE version information.

2010-10-01: olly
	    [Ruby] Avoid segfault when a method node has no parentNode
	    (SF#3034054).

2010-10-01: olly
	    [Python] Allow reinitialisation to work with an embedded Python
	    interpreter (patch from Jim Carroll in SF#3075178).

2010-09-28: wsfulton
            [C#] Apply patch from Tomas Dirvanauskas for std::map wrappers to avoid
            throwing exceptions with normal usage of iterators.

2010-09-27: olly
	    [Python] Improve error message given when a parameter of the wrong
	    type is passed to an overloaded method (SF#3027355).

2010-09-25: wsfulton
            Apply SF patch #3075150 - Java directors using static variables in
            named namespace.

2010-09-24: wsfulton
            More file and line error/warning reporting fixes where SWIG macros
            are used within {} braces (where the preprocessor expands macros),
            for example macros within %inline {...} and %fragment(...) {...}
            and nested structs.

2010-09-18: wsfulton
            More file and line error/warning reporting fixes for various inherited
            class problems.

2010-09-15: wsfulton
            A much improved debugging of SWIG source experience is now available and
            documented in the "Debugging SWIG" section in the Doc/Devel/internals.html
            file, including a swig.dbg support file for the gdb debugger.

2010-09-11: wsfulton
            Fix incorrect line number reporting in errors/warnings when a macro
            definition ends with '/' and it is not the end of a C comment.

2010-09-11: wsfulton
            Fix incorrect line number reporting in errors/warnings after parsing
            macro invocations with parameters given over more than one line.

2010-09-10: wsfulton
            Remove extraneous extra line in preprocessed output after including files
            which would sometimes lead to error/warning messages two lines after the
            end of the file.

2010-09-10: wsfulton
            Fix #2149523 - Incorrect line number reporting in errors after parsing macros
            containing C++ comments.

2010-09-08: olly
	    [PHP] Fix handling of OUTPUT typemaps (Patch from Ryan in SF#3058394).

2010-09-03: wsfulton
            Fix erroneous line numbers in error messages for macro expansions, for example,
            the error message now points to instantiation of the macro, ie the last line here:

              #define MACRO2(a, b) 

              #define MACRO1(NAME) MACRO2(NAME,2,3) 

              MACRO1(abc)

2010-09-02: wsfulton
            Fix line numbers in error and warning messages for preprocessor messages within
            %inline, for example:

              %inline %{
              #define FOOBAR 1
              #define FOOBAR "hi"
              %}

2010-09-02: wsfulton
            Fix line numbers in error and warning messages which were cumulatively one
            less than they should have been after parsing each %include/%import - bug
            introduced in swig-1.3.32. Also fix line numbers in error and warning messages
            when new line characters appear between the %include / %import statement and
            the filename.

2010-08-30: wsfulton
            Fix line number and file name reporting for some macro preprocessor warnings.
            The line number of the macro argument has been corrected and the line number
            of the start of the macro instead of one past the end of the macro is used.
            Some examples:
              file.h:11: Error: Illegal macro argument name '..'
              file.h:19: Error: Macro 'DUPLICATE' redefined,
              file.h:15: Error: previous definition of 'DUPLICATE'.
              file.h:25: Error: Variable-length macro argument must be last parameter
              file.h:32: Error: Illegal character in macro argument name
              file.i:37: Error: Macro 'SIT' expects 2 arguments

2010-08-26: wsfulton
            Fix __LINE__ and __FILE__ expansion reported by Camille Gillot. Mostly this
            did not work at all. Also fixes SF #2822822.

2010-08-17: wsfulton
            [Perl] Fix corner case marshalling of doubles - errno was not being correctly
            set before calling strtod - patch from Justin Vallon - SF Bug #3038936.

2010-08-17: wsfulton
            Fix make distclean when some of the more obscure languages are detected by
            configure - fixes from Torsten Landschoff.

2010-07-28: wsfulton
            Restore configuring out of source for the test-suite since it broke in 1.3.37.
            As previously, if running 'make check-test-suite' out of source, it needs to be
            done by invoking configure with a relative path. Invoking configure with an
            absolute path will not work. Running the full 'make check' still needs to be
            done in the source tree.

2010-07-16: wsfulton
            Fix wrapping of function pointers and member function pointers when the function
            returns by reference.

2010-07-13: vadz
            Removed support for the old experimental "rxspencer" encoder and
            "[not]rxsmatch" in %rename (see the 01/16/2006 entry). The new and
            officially supported "regex" encoder and "[not]regexmatch" checks
            should be used instead (see the two previous entries). Please
            replace "%(rxspencer:[pat][subst])s" with "%(regex:/pat/subst/)s"
            when upgrading. Notice that you will also need to replace the back-
            references of form "@1" with the more standard "\\1" and may need to
            adjust your regular expressions syntax as the new regex encoder uses
            Perl-compatible syntax and not (extended) POSIX syntax as the old one.

            *** POTENTIAL INCOMPATIBILITY ***

2010-07-13: vadz
            Add "regexmatch", "regextarget" and "notregexmatch" which can be
            used to apply %rename directives to the declarations matching the
            specified regular expression only. The first two can be used
            interchangeably, both of the %renames below do the same thing:

                %rename("$ignore", regexmatch$name="Old$") "";
                %rename("$ignore", regextarget=1) "Old$";

            (namely ignore the declarations having "Old" suffix).

            "notregexmatch" restricts the match to only the declarations which
            do not match the regular expression, e.g. here is how to rename to
            lower case versions all declarations except those consisting from
            capital letters only:

                %rename("$(lowercase)s", notregexmatch$name="^[A-Z]+$") "";

2010-07-13: vadz
            Add the new "regex" encoder that can be used in %rename, e.g.

                %rename("regex:/(\\w+)_(.*)/\\2/") "";

            to remove any alphabetical prefix from all identifiers. The syntax
            of the regular expressions is Perl-like and PCRE library
            (http://www.pcre.org/) is used to implement this feature but notice
            that backslashes need to be escaped as usual inside C strings.

            Original patch from Torsten Landschoff.

2010-07-08: wsfulton
            Fix #3024875 - shared_ptr of classes with non-public destructors. This also fixes
            the "unref" feature when used on classes with non-public destructors.

2010-06-17: ianlancetaylor
            [Go] Add the Go language module.

2010-06-10: wsfulton
            [Lua] Fix SWIG_lua_isnilstring multiply defined when using multiple
            modules and wrapping strings. Patch from 'Number Cruncher'.

2010-06-10: olly
	    [PHP] Fix directors to correctly call a method with has a
	    different name in PHP to C++ (we were always using the C++ name
	    in this case).

2010-06-03: wsfulton
            Fix uncompileable code when %rename results in two enum items
            with the same name. Reported by Vadim Zeitlin.
