Home | History | Annotate | Download | only in doc
      1 Release history
      2 ===============
      3 
      4 0.12.1
      5 ------
      6 
      7 * Issue #25: Complex python files could cause an "maximum recursion depth exceeded"
      8   exception due to using stack-based recursion to walk the module AST.
      9 
     10 
     11 0.12
     12 ----
     13 
     14 * Added 'modulegraph.modulegraph.InvalidSourceModule'. This graph node is
     15   used for Python source modules that cannot be compiled (for example because
     16   they contain syntax errors).
     17 
     18   This is primarily useful for being able to create a graph for packages
     19   that have python 2.x or python 3.x compatibility in separate modules that
     20   contain code that isn't valid in the "other" python version.
     21 
     22 * Added 'modulegraph.modulegraph.InvalidCompiledModule'. This graph node
     23   is used for Python bytecode modules that cannot be loaded.
     24 
     25 * Added 'modulegraph.modulegraph.NamespacePackage'.
     26 
     27   Patch by bitbucket user htgoebel.
     28 
     29 * No longer add a MissingModule node to the graph for 'collections.defaultdict'
     30   when using 'from collections import defaultdict' ('collections.defaultdict'
     31   is an attribute of 'collections', not a submodule).
     32 
     33 * Fixed typo in ModuleGraph.getReferences()
     34 
     35 * Added ModuleGraph.getReferers(tonode). This methods yields the
     36   nodes that are referencing *tonode* (the reverse of getReferences)
     37 
     38 * The graph will no longer contain MissingModule nodes when using 'from ... import name' to
     39   import a global variable in a python module.
     40 
     41   There will still be MissingModule nodes for global variables in C extentions, and
     42   for 'from missing import name' when 'missing' is itself a MissingModule.
     43 
     44 * Issue #18: Don't assume that a PEP 302 loader object has a ``path`` attribute. That
     45   attribute is not documented and is not always present.
     46 
     47 0.11.2
     48 ------
     49 
     50 *
     51 
     52 0.11.1
     53 ------
     54 
     55 * Issue #145: Don't exclude the platform specific 'path' modules (like ntpath)
     56 
     57 0.11
     58 ----
     59 
     60 This is a feature release
     61 
     62 Features
     63 ........
     64 
     65 * Hardcode knowlegde about the compatibility aliases in the email
     66   module (for python 2.5 upto 3.0).
     67 
     68   This makes it possible to remove a heavy-handed recipe from py2app.
     69 
     70 * Added ``modegraph.zipio.getmode`` to fetch the Unix file mode
     71   for a file.
     72 
     73 * Added some handy methods to ``modulegraph.modulegraph.ModuleGraph``.
     74 
     75 0.10.5
     76 ------
     77 
     78 This is a bugfix release
     79 
     80 * Don't look at the file extension to determine the file type
     81   in modulegraph.find_modules.parse_mf_results, but use the
     82   class of the item.
     83 
     84 * Issue #13: Improved handing of bad relative imports
     85   ("from .foo import bar"), these tended to raise confusing errors and
     86   are now handled like any other failed import.
     87 
     88 0.10.4
     89 ------
     90 
     91 This is a bugfix release
     92 
     93 * There were no 'classifiers' in the package metadata due to a bug
     94   in setup.py.
     95 
     96 0.10.3
     97 ------
     98 
     99 This is a bugfix release
    100 
    101 Bugfixes
    102 ........
    103 
    104 * ``modulegraph.find.modules.parse_mf_results`` failed when the main script of
    105   a py2app module didn't have a file name ending in '.py'.
    106 
    107 0.10.2
    108 ------
    109 
    110 This is a bugfix release
    111 
    112 Bugfixes
    113 ........
    114 
    115 * Issue #12: modulegraph would sometimes find the wrong package *__init__*
    116   module due to using the wrong search method. One easy way to reproduce the
    117   problem was to have a toplevel module named *__init__*.
    118 
    119   Reported by Kentzo.
    120 
    121 0.10.1
    122 ------
    123 
    124 This is a bugfix release
    125 
    126 Bugfixes
    127 ........
    128 
    129 * Issue #11: creating xrefs and dotty graphs from modulegraphs (the --xref
    130   and --graph options of py2app) didn't work with python 3 due to use of
    131   APIs that aren't available in that version of python.
    132 
    133   Reported by Andrew Barnert.
    134 
    135 
    136 0.10
    137 ----
    138 
    139 This is a minor feature release
    140 
    141 Features
    142 ........
    143 
    144 * ``modulegraph.find_modules.find_needed_modules`` claimed to automaticly
    145   include subpackages for the "packages" argument as well, but that code
    146   didn't work at all.
    147 
    148 * Issue #9: The modulegraph script is deprecated, use
    149   "python -mmodulegraph" instead.
    150 
    151 * Issue #10: Ensure that the result of "zipio.open" can be used
    152   in a with statement (that is, ``with zipio.open(...) as fp``.
    153 
    154 * No longer use "2to3" to support Python 3.
    155 
    156   Because of this modulegraph now supports Python 2.6
    157   and later.
    158 
    159 * Slightly improved HTML output, which makes it easier
    160   to manipulate the generated HTML using JavaScript.
    161 
    162   Patch by anatoly techtonik.
    163 
    164 * Ensure modulegraph works with changes introduced after
    165   Python 3.3b1.
    166 
    167 * Implement support for PEP 420 ("Implicit namespace packages")
    168   in Python 3.3.
    169 
    170 * ``modulegraph.util.imp_walk`` is deprecated and will be
    171   removed in the next release of this package.
    172 
    173 Bugfixes
    174 ........
    175 
    176 * The module graph was incomplete, and generated incorrect warnings
    177   along the way, when a subpackage contained import statements for
    178   submodules.
    179 
    180   An example of this is ``sqlalchemy.util``, the ``__init__.py`` file
    181   for this package contains imports of modules in that modules using
    182   the classic relative import syntax (that is ``import compat`` to
    183   import ``sqlalchemy.util.compat``). Until this release modulegraph
    184   searched the wrong path to locate these modules (and hence failed
    185   to find them).
    186 
    187 
    188 0.9.2
    189 -----
    190 
    191 This is a bugfix release
    192 
    193 Bugfixes
    194 ........
    195 
    196 * The 'packages' option to modulegraph.find_modules.find_modules ignored
    197   the search path argument but always used the default search path.
    198 
    199 * The 'imp_find_modules' function in modulegraph.util has an argument 'path',
    200   this was a string in previous release and can now also be a sequence.
    201 
    202 * Don't crash when a module on the 'includes' list doesn't exist, but warn
    203   just like for missing 'packages' (modulegraph.find_modules.find_modules)
    204 
    205 0.9.1
    206 -----
    207 
    208 This is a bugfix release
    209 
    210 Bug fixes
    211 .........
    212 
    213 - Fixed the name of nodes imports in packages where the first element of
    214   a dotted name can be found but the rest cannot. This used to create
    215   a MissingModule node for the dotted name in the global namespace instead
    216   of relative to the package.
    217 
    218   That is, given a package "pkg" with submodule "sub" if the "__init__.py"
    219   of "pkg" contains "import sub.nomod" we now create a MissingModule node
    220   for "pkg.sub.nomod" instead of "sub.nomod".
    221 
    222   This fixes an issue with including the crcmod package in application
    223   bundles, first reported on the pythonmac-sig mailinglist by
    224   Brendan Simon.
    225 
    226 0.9
    227 ---
    228 
    229 This is a minor feature release
    230 
    231 
    232 Features:
    233 
    234 - Documentation is now generated using `sphinx <http://pypi.python.org/pypi/sphinx>`_
    235   and can be viewed at <http://packages.python.org/modulegraph>.
    236 
    237   The documention is very rough at this moment and in need of reorganisation and
    238   language cleanup. I've basiclly writting the current version by reading the code
    239   and documenting what it does, the order in which classes and methods are document
    240   is therefore not necessarily the most useful.
    241 
    242 - The repository has moved to bitbucket
    243 
    244 - Renamed ``modulegraph.modulegraph.AddPackagePath`` to ``addPackagePath``,
    245   likewise ``ReplacePackage`` is now ``replacePackage``. The old name is still
    246   available, but is deprecated and will be removed before the 1.0 release.
    247 
    248 - ``modulegraph.modulegraph`` contains two node types that are unused and
    249   have unclear semantics: ``FlatPackage`` and ``ArchiveModule``. These node
    250   types are deprecated and will be removed before 1.0 is released.
    251 
    252 - Added a simple commandline tool (``modulegraph``) that will print information
    253   about the dependency graph of a script.
    254 
    255 - Added a module (``zipio``) for dealing with paths that may refer to entries
    256   inside zipfiles (such as source paths referring to modules in zipped eggfiles).
    257 
    258   With this addition ``modulegraph.modulegraph.os_listdir`` is deprecated and
    259   it will be removed before the 1.0 release.
    260 
    261 Bug fixes:
    262 
    263 - The ``__cmp__`` method of a Node no longer causes an exception
    264   when the compared-to object is not a Node. Patch by Ivan Kozik.
    265 
    266 - Issue #1: The initialiser for ``modulegraph.ModuleGraph`` caused an exception
    267   when an entry on the path (``sys.path``) doesn't actually exist.
    268 
    269   Fix by "skurylo", testcase by Ronald.
    270 
    271 - The code no longer worked with python 2.5, this release fixes that.
    272 
    273 - Due to the switch to mercurial setuptools will no longer include
    274   all required files. Fixed by adding a MANIFEST.in file
    275 
    276 - The method for printing a ``.dot`` representation of a ``ModuleGraph``
    277   works again.
    278 
    279 
    280 0.8.1
    281 -----
    282 
    283 This is a minor feature release
    284 
    285 Features:
    286 
    287 - ``from __future__ import absolute_import`` is now supported
    288 
    289 - Relative imports (``from . import module``) are now supported
    290 
    291 - Add support for namespace packages when those are installed
    292   using option ``--single-version-externally-managed`` (part
    293   of setuptools/distribute)
    294 
    295 0.8
    296 ---
    297 
    298 This is a minor feature release
    299 
    300 Features:
    301 
    302 - Initial support for Python 3.x
    303 
    304 - It is now possible to run the test suite
    305   using ``python setup.py test``.
    306 
    307   (The actual test suite is still fairly minimal though)
    308