C/igraph 0.9.7

C/igraph 0.9.7 is now released.

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.


  • igraph_get_all_shortest_paths_dijsktra() now uses tolerances when comparing path lengths, and is thus robust to numerical roundoff errors.
  • igraph_vector_*_swap and igraph_matrix_swap now take O(1) instead of O(n) and accept all sizes.


  • NCOL and LGL format writers no longer accept “name” and “weight” attributes of invalid types.
  • The LGL writer could not access numerical weight attributes, potentially leading to crashes.
  • External PLFIT libraries and their headers are now detected at their standard installation location.
  • igraph_vector_init() no longer accepts negative vector sizes.
  • igraph_assortativity_nominal() crashed on the null graph.
  • Label propagation now ensures that all labels are dominant.
  • Fixed incorrect partition results for walktrap algorithm (issue #1927)
  • Negative values returned by igraph_rng_get_integer() and RNG_INTEGER() were incorrect, one larger than they should have been.
  • igraph_community_walktrap() now checks its steps input argument.
  • The first modularity value reported by igraph_community_walktrap() was incorrect (it was always zero). This is now fixed.
  • igraph_correlated_game() would return incorrect results, or exhaust the memory, for most input graphs that were not generated with igraph_erdos_renyi_game_gnp().


  • The C attribute handler now verifies attribute types when retrieving attributes.
  • Documentation improvements
1 Like