About igraph releases and other things

C/igraph 0.7.0

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

The igraph library’s homepage is now hosted at, and it is brand new. We wanted to make it easier to use and better to look at.

Better nightly downloads

You can download nightly builds from igraph at

C library news and changes

  • Added igraph_adjlist_print(), igraph_adjlist_fprint(), igraph_inclist_print(), igraph_inclist_fprinf() functions.
  • Make attribute prefixes optional when writing a GraphML file.
  • Added function igraph_modularity_matrix().
  • Support edge weights in leading eigenvector community detection.
  • Added the LAD library for checking (sub)graph isomorphism, version 1.
  • Boolean attributes.
  • Added igraph_layout_bipartite() function, a simple two-column layout for bipartite graphs.
  • Support incidence matrices in bipartite Pajek files.
  • 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 igraph_barabasi_game(), algorithm psumtree-multiple just froze.
  • Added support for Boolean attributes in the GraphML and GML readers and writer.
  • Change MDS layout coordinates, first dim is according to first eigenvalue, etc.
  • Update igraph_union() and igraph_union_many() to return mappings for the edges.
  • Rewritten igraph_intersection(), it can now report edge mappings.
  • igraph_rewire(): now supports the generation and destruction of loops.
  • Erdos-Renyi type bipartite random graphs.
  • Added predecessors and inbound_edges arguments to igraph_get_shortest_paths[_dijkstra]().
  • igraph_rewire() now shows the fraction of successful swaps in the progress message.
  • Added igraph_graphlets() and related functions.
  • Fix modularity values of multilevel community if there are no merges at all.
  • Fixed a potential crash in igraph_edge_connectivity(), because of an un-initialized variable.
  • Fix a potential segfault in igraph_atlas().
  • Avoiding overflow in igraph_closeness() and related functions.
  • 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.
  • Maximum flow functions now return some statistics about the push relabel algorithm steps.
  • Fix issue #481, thread-local storage is now correctly detected by configure on newer clang versions.
  • Fixed missing whitespace in Pajek writer when the ID attribute was numeric.
  • Fixed a bug that caused igraph_read_graph_gml() to crash when the ID attribute was non-numeric.
  • Fix dyad census instability, sometimes incorrect results were reported.
  • Dyad census detects integer overflow now and gives a warning.
  • Added printf functions for igraph_vector_t() and igraph_matrix_t().
  • Added a function to count the number of adjacent triangles: igraph_adjacenct_triangles().
  • Added igraph_eigen_adjacency() function, eigenproblems on adjacency matrices.
  • Added a Gomory-Hu tree implementation: igraph_gomory_hu_tree().
  • Added weights support for igraph_community_optimal_modularity(), closes #511.
  • Faster maximal clique finding (#513).
  • Added a function to count maximal cliques: igraph_maximal_cliques_count().
  • Data type igraph_adjlist_t uses integer vectors now.
  • Generate graphs from a stochastic block model: igraph_sbm_game().
  • We use PRPACK to calculate PageRank scores see
  • Add normalized argument to closeness functions, fixes issue #3.
  • Implement the start argument in igraph_hrg_fit (#225).
  • Fixed a bug in igraph_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 igraph_st_mincut and related functions.