• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Release history
2===============
3
40.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
110.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
470.11.2
48------
49
50*
51
520.11.1
53------
54
55* Issue #145: Don't exclude the platform specific 'path' modules (like ntpath)
56
570.11
58----
59
60This is a feature release
61
62Features
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
750.10.5
76------
77
78This 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
880.10.4
89------
90
91This is a bugfix release
92
93* There were no 'classifiers' in the package metadata due to a bug
94  in setup.py.
95
960.10.3
97------
98
99This is a bugfix release
100
101Bugfixes
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
1070.10.2
108------
109
110This is a bugfix release
111
112Bugfixes
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
1210.10.1
122------
123
124This is a bugfix release
125
126Bugfixes
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
1360.10
137----
138
139This is a minor feature release
140
141Features
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
173Bugfixes
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
1880.9.2
189-----
190
191This is a bugfix release
192
193Bugfixes
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
2050.9.1
206-----
207
208This is a bugfix release
209
210Bug 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
2260.9
227---
228
229This is a minor feature release
230
231
232Features:
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
261Bug 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
2800.8.1
281-----
282
283This is a minor feature release
284
285Features:
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
2950.8
296---
297
298This is a minor feature release
299
300Features:
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