doc/release/old_release_log.rst
.. currentmodule:: networkx
Release date: 22 August 2020
Supports Python 3.6, 3.7, and 3.8.
Release notes
See :doc:`release_2.5`.
NetworkX 2.4
------------
Release date: 16 October 2019
Supports Python 3.5, 3.6, 3.7, and 3.8.
This is the last release to support Python 3.5.
Release notes
See :doc:release_2.4.
Release date: 11 April 2019
Supports Python 3.5, 3.6 and 3.7. This is our first Python 3 only release.
Release notes
See :doc:`release_2.3`.
NetworkX 2.2
------------
Release date: 19 September 2018
Supports Python 2.7, 3.5, 3.6 and 3.7.
This is the last release to support Python 2.
Release notes
See :doc:release_2.2.
Release date: 22 January 2018
Supports Python 2.7, 3.4, 3.5, and 3.6.
Release notes
See :doc:`release_2.1`.
NetworkX 2.0
------------
Release date: 20 September 2017
Support for Python 3.6 added, drop support for Python 3.3.
See :doc:`migration_guide_from_1.x_to_2.0`.
Release notes
See :doc:release_2.0.
Release date: 30 January 2016
Support for Python 3.5 added, drop support for Python 3.2.
Highlights
Pydot features now use pydotplus.
Fixes installation on some machines and test with appveyor.
Restores default center and scale of layout routines.
Fixes various docs including no symbolic links in examples.
Docs can now build using autosummary on readthedocs.org.
NetworkX 1.10
--------------
Release date: 2 August 2015
Support for Python 2.6 is dropped in this release.
Highlights
Connected components now return generators
new functions including
pyparsing dependence removed from GML reader/parser
improve flow algorithms
new generators related to expander graphs.
new generators for multipartite graphs, nonisomorphic trees, circulant graphs
allow graph subclasses to use dict-like objects in place of dicts
added ordered graph subclasses
pandas dataframe read/write added.
data keyword in G.edges() allows requesting edge attribute directly
expanded layout flexibility for node subsets
Kanesky's algorithm for cut sets and k_components
power function for graphs
approximation of node connectivity
transitive closure, triadic census and antichains
quotient graphs and minors
longest_path for DAGS
modularity matrix routines
API changes
See :doc:`api_1.10`.
NetworkX 1.9.1
--------------
Release date: 13 September 2014
Bugfix release for minor installation and documentation issues.
NetworkX 1.9
------------
Release date: 21 June 2014
Support for Python 3.1 is dropped in this release.
Highlights
~~~~~~~~~~
- Completely rewritten maximum flow and flow-based connectivity algorithms with
backwards incompatible interfaces
- Community graph generators
- Stoer–Wagner minimum cut algorithm
- Linear-time Eulerian circuit algorithm
- Linear algebra package changed to use SciPy sparse matrices
- Algebraic connectivity, Fiedler vector, spectral ordering algorithms
- Link prediction algorithms
- Goldberg–Radzik shortest path algorithm
- Semiconnected graph and tree recognition algorithms
API changes
See :doc:api_1.9.
Release date: 4 August 2013
Bugfix release for missing files in source packaging.
Release date: 28 July 2013
Highlights
- Faster (linear-time) graphicality tests and Havel-Hakimi graph generators
- Directed Laplacian matrix generator
- Katz centrality algorithm
- Functions to generate all simple paths
- Improved shapefile reader
- More flexible weighted projection of bipartite graphs
- Faster topological sort, descendants and ancestors of DAGs
- Scaling parameter for force-directed layout
Bug fixes
~~~~~~~~~
- Error with average weighted connectivity for digraphs, correct normalized laplacian with self-loops, load betweenness for single node graphs, isolated nodes missing from dfs/bfs trees, normalize HITS using l1, handle density of graphs with self loops
- Cleaner handling of current figure status with Matplotlib, Pajek files now don't write troublesome header line, default alpha value for GEXF files, read curved edges from yEd GraphML
For full details of the issues closed for this release (added features and bug fixes) see: https://github.com/networkx/networkx/issues?milestone=1&page=1&state=closed
API changes
See :doc:api_1.8
Release date: 4 July 2012
Highlights
- New functions for k-clique community finding, flow hierarchy,
union, disjoint union, compose, and intersection operators that work on
lists of graphs, and creating the biadjacency matrix of a bipartite graph.
- New approximation algorithms for dominating set, edge dominating set,
independent set, max clique, and min-weighted vertex cover.
- Many bug fixes and other improvements.
For full details of the tickets closed for this release (added features and bug fixes) see:
https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.7
API changes
See :doc:api_1.7
Release date: 20 November 2011
Highlights
New functions for finding articulation points, generating random bipartite graphs, constructing adjacency matrix representations, forming graph products, computing assortativity coefficients, measuring subgraph centrality and communicability, finding k-clique communities, and writing JSON format output.
New examples for drawing with D3 JavaScript library, and ordering matrices with the Cuthill-McKee algorithm.
More memory efficient implementation of current-flow betweenness and new approximation algorithms for current-flow betweenness and shortest-path betweenness.
Simplified handling of "weight" attributes for algorithms that use weights/costs/values. See :doc:`api_1.6`.
Updated all code to work with the PyPy Python implementation http://pypy.org which produces faster performance on many algorithms.
For full details of the tickets closed for this release (added features and bug fixes) see:
https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.6
API changes
See :doc:api_1.6
Release date: 4 June 2011
For full details of the tickets closed for this release see: https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.5
Highlights
New features
Algorithms for :mod:generating <networkx.generators.bipartite>
and :mod:analyzing <networkx.algorithms.bipartite> bipartite graphs
:mod:Maximal independent set <networkx.algorithms.mis> algorithm
:mod:Erdős-Gallai graphical degree sequence test <networkx.generators.degree_seq>
:mod:Negative edge cycle test <networkx.algorithms.shortest_paths.weighted>
More memory efficient :mod:Dijkstra path length <networkx.algorithms.shortest_paths.weighted> with cutoff parameter
:mod:Weighted clustering coefficient <networkx.algorithms.cluster>
Read and write version 1.2 of :mod:GEXF reader <networkx.readwrite.gexf> format
:mod:Neighbor degree correlation <networkx.algorithms.neighbor_degree>
that handle subsets of nodes
:mod:In-place node relabeling <networkx.relabel>
Many 'weighted' graph algorithms now take optional parameter to use specified edge attribute (default='weight') (ticket https://networkx.lanl.gov/trac/ticket/509)
Test for :mod:distance regular <networkx.algorithms.distance_regular> graphs
Fast :mod:directed Erdős-Renyi graph <networkx.generators.random_graphs> generator
Fast :mod:expected degree graph <networkx.generators.degree_seq> generator
:mod:Navigable small world <networkx.generators.geometric> generator
:mod:Waxman model <networkx.generators.geometric> generator
:mod:Geographical threshold graph <networkx.generators.geometric> generator
:mod:Karate Club, Florentine Families, and Davis' Women's Club <networkx.generators.social> graphs
API changes
See :doc:`api_1.5`
Bug fixes
~~~~~~~~~
- Fix edge handling for multigraphs in networkx/graphviz interface
(ticket https://networkx.lanl.gov/trac/ticket/507)
- Update networkx/pydot interface for new versions of pydot
(ticket https://networkx.lanl.gov/trac/ticket/506)
(ticket https://networkx.lanl.gov/trac/ticket/535)
- Fix negative cycle handling in Bellman-Ford
(ticket https://networkx.lanl.gov/trac/ticket/502)
- Write more attributes with GraphML and GML formats
(ticket https://networkx.lanl.gov/trac/ticket/480)
- Handle white space better in read_edgelist
(ticket https://networkx.lanl.gov/trac/ticket/513)
- Better parsing of Pajek format files
(ticket https://networkx.lanl.gov/trac/ticket/524)
(ticket https://networkx.lanl.gov/trac/ticket/542)
- Isolates functions work with directed graphs
(ticket https://networkx.lanl.gov/trac/ticket/526)
- Faster conversion to numpy matrices
(ticket https://networkx.lanl.gov/trac/ticket/529)
- Add graph['name'] and use properties to access Graph.name
(ticket https://networkx.lanl.gov/trac/ticket/544)
- Topological sort confused None and 0
(ticket https://networkx.lanl.gov/trac/ticket/546)
- GEXF writer mishandled weight=0
(ticket https://networkx.lanl.gov/trac/ticket/550)
- Speedup in SciPy version of PageRank
(ticket https://networkx.lanl.gov/trac/ticket/554)
- Numpy PageRank node order incorrect + speedups
(ticket https://networkx.lanl.gov/trac/ticket/555)
NetworkX 1.4
------------
Release date: 23 January 2011
New features
k-shell,k-crust,k-corona <networkx.algorithms.core>read GraphML files from yEd <networkx.readwrite.graphml>read/write GEXF format files <networkx.readwrite.gexf>find cycles in a directed graph <networkx.algorithms.cycles>DFS <networkx.algorithms.traversal.depth_first_search> and :mod:BFS <networkx.algorithms.traversal.breadth_first_search> algorithmschordal graph functions <networkx.algorithms.chordal.chordal_alg>Prim's algorithm for minimum spanning tree <networkx.algorithms.mst>r-ary tree generator <networkx.generators.classic>rich club coefficient <networkx.algorithms.richclub>Floyd's algorithm for all-pairs shortest path <networkx.algorithms.shortest_paths.dense>read GIS shapefiles <networkx.readwrite.nx_shp>functions to get and set node and edge attributes <networkx.classes.function>API changes
- :mod:`gnp_random_graph() <networkx.generators.random_graphs>` now takes a
directed=True|False keyword instead of create_using
- :mod:`gnm_random_graph() <networkx.generators.random_graphs>` now takes a
directed=True|False keyword instead of create_using
Bug fixes
~~~~~~~~~
- see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.4
NetworkX 1.3
------------
Release date: 28 August 2010
See: https://networkx.lanl.gov/trac/timeline
New features
Minimum cost flow algorithms <networkx.algorithms.flow>Bellman-Ford shortest paths <networkx.algorithms.shortest_paths.weighted>GraphML reader and writer <networkx.readwrite.graphml>More exception/error types <networkx.exception>API changes
- :mod:`minimum_spanning_tree() now returns a NetworkX Graph (a tree or forest) <networkx.algorithms.mst>`
Bug fixes
~~~~~~~~~
- see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.3
NetworkX 1.2
------------
Release date: 28 July 2010
See: https://networkx.lanl.gov/trac/timeline
New features
Ford-Fulkerson max flow and min cut <networkx.algorithms.flow>Closeness vitality <networkx.algorithms.vitality>Eulerian circuits <networkx.algorithms.euler>Functions for isolates <networkx.algorithms.isolates>Simpler s_max generator <networkx.generators.degree_seq>Release date: 21 April 2010
See: https://networkx.lanl.gov/trac/timeline
New features
- :mod:`Algorithm for finding a basis for graph cycles <networkx.algorithms.cycles>`
- :mod:`Blockmodeling <networkx.algorithms.block>`
- :mod:`Assortativity and mixing matrices <networkx.algorithms.mixing>`
- :mod:`in-degree and out-degree centrality <networkx.algorithms.centrality.degree>`
- :mod:`Attracting components <networkx.algorithms.components.attracting>`
and :mod:`condensation <networkx.algorithms.components.strongly_connected>`.
- :mod:`Weakly connected components <networkx.algorithms.components.weakly_connected>`
- :mod:`Simpler interface to shortest path algorithms <networkx.algorithms.shortest_paths.generic>`
- :mod:`Edgelist format to read and write data with attributes <networkx.readwrite.edgelist>`
- :mod:`Attribute matrices <networkx.linalg.spectrum>`
- :mod:`GML reader for nested attributes <networkx.readwrite.gml>`
- Current-flow (random walk)
:mod:`betweenness <networkx.algorithms.centrality.current_flow_betweenness>`
and
:mod:`closeness <networkx.algorithms.centrality.current_flow_closeness>`.
- :mod:`Directed configuration model <networkx.generators.degree_seq>`,
and :mod:`directed random graph model <networkx.generators.random_graphs>`.
- Improved documentation of drawing, shortest paths, and other algorithms
- Many more tests, can be run with "import networkx; networkx.test()"
- and much more, see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.1
API changes
~~~~~~~~~~~
Returning dictionaries
**********************
Several of the algorithms and the degree() method now return dictionaries
keyed by node instead of lists. In some cases there was a with_labels
keyword which is no longer necessary. For example,
>>> G=nx.Graph()
>>> G.add_edge('a','b')
>>> G.degree() # doctest: +SKIP
{'a': 1, 'b': 1}
Asking for the degree of a single node still returns a single number
>>> G.degree('a')
1
The following now return dictionaries by default (instead of lists)
and the with_labels keyword has been removed:
- :meth:`Graph.degree`,
:meth:`MultiGraph.degree`,
:meth:`DiGraph.degree`,
:meth:`DiGraph.in_degree`,
:meth:`DiGraph.out_degree`,
:meth:`MultiDiGraph.degree`,
:meth:`MultiDiGraph.in_degree`,
:meth:`MultiDiGraph.out_degree`.
- :func:`clustering`,
:func:`triangles`
- :func:`node_clique_number`,
:func:`number_of_cliques`,
:func:`cliques_containing_node`
- :func:`eccentricity`
The following now return dictionaries by default (instead of lists)
- :func:`pagerank`
- :func:`hits`
Adding nodes
************
``add_nodes_from`` now accepts ``(node, attrdict)`` two-tuples
>>> G = nx.Graph()
>>> G.add_nodes_from([(1, {'color': 'red'})])
Examples
~~~~~~~~
- `Mayvi2 drawing <https://networkx.org/documentation/latest/auto_examples/3d_drawing/mayavi2_spring.html>`_
- `Blockmodel <https://networkx.org/documentation/latest/auto_examples/algorithms/plot_blockmodel.html>`_
- `Sampson's monastery <https://networkx.org/documentation/latest/auto_examples/drawing/plot_sampson.html>`_
- `Ego graph <https://networkx.org/documentation/latest/auto_examples/drawing/plot_ego_graph.html>`_
Bug fixes
~~~~~~~~~
- Support graph attributes with union, intersection, and other graph operations
- Improve subgraph speed (and related algorithms such as
connected_components_subgraphs())
- Handle multigraphs in more operators (e.g. union)
- Handle double-quoted labels with pydot
- Normalize betweenness_centrality for undirected graphs correctly
- Normalize eigenvector_centrality by l2 norm
- :func:`read_gml` now returns multigraphs
NetworkX 1.0.1
--------------
Release date: 11 Jan 2010
See: https://networkx.lanl.gov/trac/timeline
Bug fix release for missing setup.py in manifest.
NetworkX 1.0
------------
Release date: 8 Jan 2010
See: https://networkx.lanl.gov/trac/timeline
New features
This release has significant changes to parts of the graph API to allow graph, node, and edge attributes. See http://networkx.lanl.gov/reference/api_changes.html
Examples
- Update to work with networkx-1.0 API
- Graph subclass example
NetworkX 0.99
-------------
Release date: 18 November 2008
See: https://networkx.lanl.gov/trac/timeline
New features
This release has significant changes to parts of the graph API. See http://networkx.lanl.gov/reference/api_changes.html
Bug fixes
- handle root= option to draw_graphviz correctly
Examples
~~~~~~~~
- Update to work with networkx-0.99 API
- Drawing examples now use matplotlib.pyplot interface
- Improved drawings in many examples
- New examples - see http://networkx.lanl.gov/examples/
NetworkX 0.37
---------------
Release date: 17 August 2008
See: https://networkx.lanl.gov/trac/timeline
NetworkX now requires Python 2.4 or later for full functionality.
New features
Bug fixes
- Better edge data handling with GML writer
- Edge betweenness fix for XGraph with default data of None
- Handle Matplotlib version strings (allow "pre")
- Interface to PyGraphviz (to_agraph()) now handles parallel edges
- Fix bug in copy from XGraph to XGraph with multiedges
- Use SciPy sparse lil matrix format instead of coo format
- Clear up ambiguous cases for Barabasi-Albert model
- Better care of color maps with Matplotlib when drawing colored nodes
and edges
- Fix error handling in layout.py
Examples
~~~~~~~~
- Ubigraph examples showing 3D drawing
NetworkX 0.36
---------------
Release date: 13 January 2008
See: https://networkx.lanl.gov/trac/timeline
New features
Bug fixes
- remove obsolete parts of pygraphviz interface
- improve handling of Matplotlib version strings
- write_dot() now writes parallel edges and self loops
- is_bipartite() and bipartite_color() fixes
- configuration model speedup using random.shuffle()
- convert with specified nodelist now works correctly
- vf2 isomorphism checker updates
NetworkX 0.35.1
---------------
Release date: 27 July 2007
See: https://networkx.lanl.gov/trac/timeline
Small update to fix import readwrite problem and maintain Python2.3
compatibility.
NetworkX 0.35
-------------
Release date: 22 July 2007
See: https://networkx.lanl.gov/trac/timeline
New features
Bug fixes
- more detailed installation instructions
- replaced dfs_preorder,dfs_postorder (see search.py)
- allow initial node positions in spectral_layout
- report no error on attempting to draw empty graph
- report errors correctly when using tuples as nodes #114
- handle conversions from incomplete dict-of-dict data
NetworkX 0.34
-------------
Release date: 12 April 2007
See: https://networkx.lanl.gov/trac/timeline
New features
Bug fixes
- speedups of neighbors()
- simplified Dijkstra's algorithm code
- better exception handling for shortest paths
- get_edge(u,v) returns None (instead of exception) if no edge u-v
- floyd_warshall_array fixes for negative weights
- bad G467, docs, and unittest fixes for graph atlas
- don't put nans in numpy or scipy sparse adjacency matrix
- handle get_edge() exception (return None if no edge)
- remove extra kwds arguments in many places
- no multi counting edges in conversion to dict of lists for multigraphs
- allow passing tuple to get_edge()
- bad parameter order in node/edge betweenness
- edge betweenness doesn't fail with XGraph
- don't throw exceptions for nodes not in graph (silently ignore instead)
in edges_* and degree_*
NetworkX 0.33
-------------
Release date: 27 November 2006
See: https://networkx.lanl.gov/trac/timeline
New features
import networkx networkx.test() # doctest: +SKIP
Bug fixes
- read_gpickle now works correctly with Windows
- refactored large modules into smaller code files
- degree(nbunch) now returns degrees in same order as nbunch
- degree() now works for multiedges=True
- update node_boundary and edge_boundary for efficiency
- edited documentation for graph classes, now mostly in info.py
Examples
~~~~~~~~
- Draw edges with colormap
NetworkX 0.32
-------------
Release date: 29 September 2006
See: https://networkx.lanl.gov/trac/timeline
New features
Bug fixes
- Handle special cases correctly in triangles function
- Typos in documentation
- Handle special cases in shortest_path and shortest_path_length,
allow cutoff parameter for maximum depth to search
- Update examples: erdos_renyi.py, miles.py, roget,py, eigenvalues.py
Examples
~~~~~~~~
- Expected degree sequence
- New pygraphviz interface
NetworkX 0.31
-------------
Release date: 20 July 2006
See: https://networkx.lanl.gov/trac/timeline
New features
Bug fixes
- Allow drawing graphs with no edges using pylab
- Use faster heapq in dijkstra
- Don't complain if X windows is not available
Examples
~~~~~~~~
- update drawing examples
NetworkX 0.30
-------------
Release date: 23 June 2006
See: https://networkx.lanl.gov/trac/timeline
New features
Bug fixes
- speed improvements (faster version of subgraph, is_connected)
- added cumulative distribution and modified discrete distribution utilities
- report error if DiGraphs are sent to connected_components routines
- removed with_labels keywords for many functions where it was
causing confusion
- function name changes in shortest_path routines
- saner internal handling of nbunch (node bunches), raise an
exception if an nbunch isn't a node or iterable
- better keyword handling in io.py allows reading multiple graphs
- don't mix Numeric and numpy arrays in graph layouts and drawing
- avoid automatically rescaling matplotlib axes when redrawing graph layout
Examples
~~~~~~~~
- unicode node labels
NetworkX 0.29
-------------
Release date: 28 April 2006
See: https://networkx.lanl.gov/trac/timeline
New features
Bug fixes
- Betweenness centrality now correctly uses Brandes definition and
has normalization option outside main loop
- Empty graph now labeled as empty_graph(n)
- shortest_path_length used python2.4 generator feature
- degree_sequence_tree off by one error caused nonconsecutive labeling
- periodic_grid_2d_graph removed in favor of grid_2d_graph with
periodic=True
NetworkX 0.28
-------------
Release date: 13 March 2006
See: https://networkx.lanl.gov/trac/timeline
New features
Examples
- Formation of giant component in binomial_graph:
- Chess masters matches:
- Gallery https://networkx.org/documentation/latest/auto_examples/index.html
Bug fixes
Release date: 5 February 2006
See: https://networkx.lanl.gov/trac/timeline
New features
- sparse_binomial_graph: faster graph generator for sparse random graphs
- read/write routines in io.py now handle XGraph() type and
gzip and bzip2 files
- optional mapping of type for read/write routine to allow
on-the-fly conversion of node and edge datatype on read
- Substantial changes related to digraphs and definitions of
neighbors() and edges(). For digraphs edges=out_edges.
Neighbors now returns a list of neighboring nodes with
possible duplicates for graphs with parallel edges
See https://networkx.lanl.gov/trac/ticket/24
- Addition of out_edges, in_edges and corresponding out_neighbors
and in_neighbors for digraphs. For digraphs edges=out_edges.
Examples
~~~~~~~~
- Minard's data for Napoleon's Russian campaign
Bug fixes
~~~~~~~~~
- XGraph(multiedges=True) returns a copy of the list of edges
for get_edge()
NetworkX 0.26
-------------
Release date: 6 January 2006
New features
Examples
- Several new examples showing how draw to graphs with various
properties of nodes, edges, and labels
Bug fixes
Release date: 5 December 2005
New features
- Uses setuptools for installation http://peak.telecommunity.com/DevCenter/setuptools
- Improved testing infrastructure, can now run python setup.py test
- Added interface to draw graphs with pygraphviz
https://networkx.lanl.gov/pygraphviz/
- is_directed() function call
Examples
~~~~~~~~
- Email example shows how to use XDiGraph with Python objects as
edge data
Documentation
Bug fixes
- use create_using= instead of result= keywords for graph types
in all cases
- missing weights for degree 0 and 1 nodes in clustering
- configuration model now uses XGraph, returns graph with identical
degree sequence as input sequence
- fixed Dijkstra priority queue
- fixed non-recursive toposort and is_directed_acyclic graph
NetworkX 0.24
-------------
Release date: 20 August 2005
Bug fixes
Release date: 14 July 2005
The NetworkX web locations have changed:
http://networkx.lanl.gov/ - main documentation site http://networkx.lanl.gov/svn/ - subversion source code repository https://networkx.lanl.gov/trac/ - bug tracking and info
Important Change
The naming conventions in NetworkX have changed.
The package name "NX" is now "networkx".
The suggested ways to import the NetworkX package are
- import networkx
- import networkx as NX
- from networkx import *
New features
~~~~~~~~~~~~
- DiGraph reverse
- Graph generators
+ watts_strogatz_graph now does rewiring method
+ old watts_strogatz_graph->newman_watts_strogatz_graph
Examples
~~~~~~~~
Documentation
~~~~~~~~~~~~~
- Changed to reflect NX-networkx change
- main site is now https://networkx.lanl.gov/
Bug fixes
~~~~~~~~~
- Fixed logic in io.py for reading DiGraphs.
- Path based centrality measures (betweenness, closeness)
modified so they work on graphs that are not connected and
produce the same result as if each connected component were
considered separately.
NetworkX 0.22
-------------
Release date: 17 June 2005
New features
~~~~~~~~~~~~
- Topological sort, testing for directed acyclic graphs (DAGs)
- Dijkstra's algorithm for shortest paths in weighted graphs
- Multidimensional layout with dim=n for drawing
- 3d rendering demonstration with vtk
- Graph generators
+ random_powerlaw_tree
+ dorogovtsev_goltsev_mendes_graph
Examples
~~~~~~~~
- Kevin Bacon movie actor graph: Examples/kevin_bacon.py
- Compute eigenvalues of graph Laplacian: Examples/eigenvalues.py
- Atlas of small graphs: Examples/atlas.py
Documentation
~~~~~~~~~~~~~
- Rewrite of setup scripts to install documentation and
tests in documentation directory specified
Bug fixes
~~~~~~~~~
- Handle calls to edges() with non-node, non-iterable items.
- truncated_tetrahedral_graph was just plain wrong
- Speedup of betweenness_centrality code
- bfs_path_length now returns correct lengths
- Catch error if target of search not in connected component of source
- Code cleanup to label internal functions with _name
- Changed import statement lines to always use "import NX" to
protect name-spaces
- Other minor bug-fixes and testing added