Below are 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.9 (in progress)
===========================

2012-11-28: kwwette
            [Octave] Simplified module loading: now just the syntax
            $ example;
            is accepted, which loads functions globally but constants and variables relative to the current scope.
            This make module loading behaviour reliably consistent, and reduces problems when loading modules which
            depend on other modules which may not have been previously loaded.

2012-11-27: wsfulton
            [cffi] Fix junk output when wrapping single character literal constants.

2012-11-17: wsfulton
            [Tcl, Modula3] Add missing support for -outdir.

2012-11-17: wsfulton
            Fix segfaults when using filename paths greater than 1024 characters in length.

2012-11-14: wsfulton
            [ccache-swig] Apply patch #3586392 from Frederik Deweerdt to fix some error cases - incorrectly using
            memory after it has been deleted.

2012-11-09: vzeitlin
            [Python] Fix overflow when passing values greater than LONG_MAX from Python 3 for parameters with unsigned long C type.

2012-11-09: wsfulton
            Fix some feature matching issues for implicit destructors and implicit constructors and implicit
            copy constructors added with %copyctor. Previously a feature for these had to be fully qualified
            in order to match. Now the following will also match:

              %feature("xyz") ~XXX();
              struct XXX {};

2012-11-09: wsfulton
            Further consistency in named output typemap lookups for implicit constructors and destructors and
            implicit copy constructors added with %copyctor. Previously only the fully qualified name was being
            used, now the unqualified name will also be used. For example, previously:

              example.i:38: Searching for a suitable 'out' typemap for: void Space::More::~More
                Looking for: void Space::More::~More
                Looking for: void

            Now the unqualified name is also used:

              example.i:38: Searching for a suitable 'out' typemap for: void Space::More::~More
                Looking for: void Space::More::~More
                Looking for: void ~More
                Looking for: void

2012-11-02: wsfulton
            Fix some subtle named output typemap lookup misses, the fully qualified name was not always being
            used for variables, for example:

              struct Glob {
                int MyVar;
              };

            Previously the search rules (as shown by -debug-tmsearch) for the getter wrapper were:

              example.i:44: Searching for a suitable 'out' typemap for: int MyVar
                Looking for: int MyVar
                Looking for: int

            Now the scope is named correctly:

              example.i:44: Searching for a suitable 'out' typemap for: int Glob::MyVar
                Looking for: int Glob::MyVar
                Looking for: int MyVar
                Looking for: int

2012-10-26: wsfulton
            Fix director typemap searching so that a typemap specified with a name will be correctly matched. Previously
            the name was ignored during the typemap search. Applies to the following list of typemaps: 
            directorout, csdirectorout, cstype, imtype, ctype, ddirectorout, dtype, gotype, jtype, jni, javadirectorout.

2012-10-11: wsfulton
            Most of the special variables available for use in %exception are now also available for expansion in
            %extend blocks. These are: $name $symname $overname $decl $fulldecl $parentname $parentsymname, see docs
            on "Class extension" in SWIGPlus.html. Patch based on submission from Kris Thielemans.

2012-10-10: wsfulton
            Additional new special variables in %exception are expanded as follows:
              $parentname - The parent class name (if any) for a method.
              $parentsymname - The target language parent class name (if any) for a method.

2012-10-08: iant
	    [Go] Generating Go code now requires using the -intgosize option to
	    indicate the size of the 'int' type in Go.  This is because the
	    size of the type is changing from Go 1.0 to Go 1.1 for x86_64. 

2012-09-14: wsfulton
	    Add new warning if the empty template instantiation is used as a base class, for example:

              template <typename T> class Base {};
              %template() Base<int>;
              class Derived : public Base<int> {};

            gives the following warning instead of silently ignoring the base:

            cpp_inherit.i:52: Warning 401: Base class 'Base< int >' has no name as it is an empty template instantiated with '%template()'. Ignored.
            cpp_inherit.i:51: Warning 401: The %template directive must be written before 'Base< int >' is used as a base class and be declared with a name.


2012-09-11: wsfulton
	    [Java] Fix #3535304 - Direct use of a weak global reference in directors
            sometimes causing seg faults especially on Android.

2012-09-06: wsfulton
	    [Java] Fix (char *STRING, size_t LENGTH) typemaps to accept NULL string.

2012-08-26: drjoe
	    [R] make ExternalReference slot ref to contain reference

2012-08-26: drjoe
	    [R] fix Examples/Makefile to use C in $(CC) rather than $(CXX)
