About igraph releases and other things

February 4, 2014

Release Notes

There are a bunch of new features in the library itself, and other important changes in the life of the project. Thanks everyone for sending code and reporting bugs!

igraph @ github

igraph's development has moved from Launchpad to github. This has actually happened several month ago, but never announced officially. The place for reporting bugs is at

New homepage

igraph's homepage is now hosted at, and it is brand new. We wanted to make it easier to use and modern.

Better nightly downloads

You can download nightly builds from igraph at Source and binary R packages (for windows and OSX), C library bundles, and Python source packages are built currently. We are planning to add binary Python packages soon.

Other news and fixes

  • Support edge weights in leading eigenvector community detection.
  • Added the LAD library for checking (sub)graph isomorphism, version 1.
  • Support incidence matrices in bipartite Pajek files.
  • Added Graph.layout_bipartite() function, a simple two-column layout for bipartite graphs.
  • Pajek files in matrix format are now directed by default, unless they are bipartite.
  • Support weighted (and signed) networks in Pajek when file is in matrix format.
  • Fixed a bug in Barabasi(), algorithm psumtree-multiple just froze.
  • Added support for Boolean attributes in the GraphML and GML readers and writer.
  • Added support for Boolean attributes
  • Change MDS layout coordinates, first dim is according to first eigenvalue, etc.
  • Add Graph.st_mincut() method, to find a minimal s-t cut in a graph.
  • Added support for the source= and target= parameters in Graph.mincut().
  • Graph.rewire(): now supports the generation and destruction of loops.
  • Erdos-Renyi type bipartite random graphs: Graph.Random_Bipartite().
  • Python: moved to
  • Fix modularity values of multilevel community if there are no merges at all.
  • Added keepaspectratio option to Graph.__plot__().
  • Fixed a potential crash in igraph_edge_connectivity(), because of an un-initialized variable in the C code.
  • VertexSeq and EdgeSeq can now be indexed with NumPy integers
  • Avoiding overflow in Graph.closeness() and related functions.
  • Show plots inline in IPython.
  • Fixed an invalid memory read (and a potential crash) in the infomap community detection.
  • Fix a bug in triad census that set the first element of the result to NaN.
  • Fixed a bug in weighted mudularity calculation, sum of the weights was truncated to an integer.
  • Fixed a bug in weighted multilevel communtiies, the maximum weight was rounded to an integer.
  • Reimplement push-relabel maximum flow with gap heuristics.
  • Fixed invalid return value of RunningMean.__length__().
  • Fixed missing whitespace in Pajek writer when the ID attribute was numeric.
  • Fixed a bug that caused the GML reader to crash when the ID attribute was non-numeric.
  • Added Vertex.graph and Edge.graph attributes.
  • Fix dyad census instability, sometimes incorrect results were reported.
  • Dyad census detects integer overflow now and gives a warning.
  • Added a Gomory-Hu tree implementation: Graph.gomory_hu_tree().
  • sorted out return type inconsistency for Vertex.constraint(), closes #259.
  • Added weights support for Graph.community_optimal_modularity(), closes #511.
  • Faster maximal clique finding.
  • Fixed a bug in Graph.isomorphic_vf2(), edge colors were ignored.
  • Added rudimentary support for drawing edge labels.
  • Generate graphs from a stochastic block model: Graph.SBM().
  • We use PRPACK to calculate PageRank scores see
  • Implement the start argument in igraph_hrg_fit (#225).
  • Fixed a bug in graph density that resulted in incorrect values for undirected graphs with loops.
  • Fixed a bug that made Bellman-Ford shortest paths calculations fail.
  • Fixed a minimum cut bug for weighted undirected graphs (#564).
  • Fixed argument ordering in minimum cut and related functions.