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 3.0.10 (12 Jun 2016)
============================

2016-06-06: mromberg
            [Python] Patch #698. Add support for -relativeimport for python 2.7, so -py3 is no
            longer also required for relative import support.

2016-06-05: mromberg
            [Python] Patch #694 - Fix package import regressions introduced in swig-3.0.9.

            1) The code in 3.0.9 did not fall back to 'import _foo' if 'import bar._foo' failed
            (assuming bar.foo was the main module). Every place _foo is imported now first tries
            it from the package where foo was found and if that fails tries _foo as a global module.

            2) The separate block of Python code that injected code to pull in the attributes
            from _foo when -builtin is used made use of the -py3 switch to either do
            'from ._foo import *' or "from _foo import *". This block of code no longer does this
            and instead checks the Python version at runtime to switch between the two syntaxes.

            In summary, swig-3.0.10 has been modified to ease the creation of wrapper modules
            that can be fully made part of a Python package.  SWIG no longer
            assumes the dynamically linked C module is a global module.
            The dynamic module can now be placed into either the same package as the pure Python
            module or as a global module.  Both locations are used by the Python wrapper to
            locate the C module.

            However, this could cause a backwards incompatibility with some code
            that was relying on the ability of "from package import _module" to
            pull attributes out of the package directly.  If your code populates a
            module (which is also a package) with attributes that are SWIG
            generated modules which were not loaded in a conventional way,
            swig-3.0.8 and earlier may have worked due to 'from package import
            _module' bypassing a real import and pulling your module in as an
            attribute. This will no longer work.  Since this is not a common (or
            even recommended) practice, most folk should not be affected.

            *** POTENTIAL INCOMPATIBILITY ***

2016-05-31: wsfulton
            Fix #690 - Smart pointer to %ignored class doesn't expose inherited methods.
            Regression introduced in swig-3.0.9.
