About igraph releases and other things

C/igraph 0.9.6

C/igraph 0.9.6, the sixth bugfix release of the 0.9 series, has arrived.

The source can be obtained from the GitHub releases page.

This release includes bug fixes, build system tweaks and minor (performance and non-performance-related) improvements. Read on for more details.


  • Isomorphism class functions (igraph_isoclass(), igraph_isoclass_subgraph(), igraph_isoclass_create) and motif finder functions (igraph_motifs_randesu(), igraph_motifs_randesu_estimate(), igraph_motifs_randesu_callback()) now support undirected (sub)graphs of sizes 5 and 6. Previsouly only sizes 3 and 4 were supported.


  • igraph would not build with MinGW when using the vendored GLPK and enabling TLS.
  • Removed some uses of abort() from vendored libraries, which could unexpectedly shut down the host language of igraph’s high-level interfaces.
  • igraph_community_label_propagation() no longer leaves any vertices unlabeled when they were not reachable from any labeled ones, i.e. the returned membership vector is guaranteed not to contain negative values (#1853).
  • The Kamada-Kawai layout is now interruptible.
  • The Fruchterman-Reingold layout is now interruptible.
  • Fixed a bug in igraph_cmp_epsilon() that resulted in incorrect results for edge betweenness calculations in certain rare cases with x87 floating point math when LTO was also enabled (#1894).
  • Weighted clique related functions now fall back to the unweighted variants when a null vertex weight vector is given to them.
  • igraph_erdos_renyi_game_(gnm|gnp) would not produce self-loops for the singleton graph.
  • Fixed a bug in igraph_local_efficiency() that sometimes erroneously reported zero as the local efficiency of a vertex in directed graphs.
  • igraph_vector_update() (and its type-specific variants) did not check for memory allocation failure.
  • Fixed a potential crash in the GraphML reader that would be triggered by some invalid GraphML files.


  • igraph_is_tree() has improved performance and memory usage.
  • igraph_is_connected() has improved performance when checking weak connectedness.
  • Improved error handling in igraph_maximal_cliques() and related functions.
  • The build system now checks that GLPK is of a compatible version (4.57 or later).
  • The vendored plfit package was updated to 0.9.3.
  • You can now build igraph with an external plfit instead of the vendored one.
  • Documentation improvements.