About igraph releases and other things

C/igraph 0.8.3

C/igraph 0.8.3, the third bugfix release of the 0.8 series, has arrived.

The sources can be obtained from the GitHub releases page.

This release includes bug fixes and performance improvements. The changelog is below.


  • igraph_vector_binsearch_slice() performs binary search on a sorted slice of a vector.


  • igraph_eigenvector_centrality() assumes the adjacency matrix of undirected graphs to have twice the number of self-loops for each vertex on the diagonal. This makes the results consistent between an undirected graph and its directed equivalent when each edge is replaced by a mutual edge pair.


  • igraph_isomorphic() now verifies that the input graphs have no multi-edges.
  • igraph_difference() was creating superfluous self loops.
  • igraph_count_multiple() was giving incorrect results for self-loops in directed graph.
  • igraph_betweenness_estimate(): fixed incorrect results with finite cutoff.
  • igraph_eigen_matrix_symmetric(): fixed incorrect matrix multiplication.
  • Corrected several issues that could arise during an error condition.
  • igraph_realize_degree_sequence() did not correctly detect some non-graphical inputs.
  • igraph_is_graphical_degree_sequence(): fixed incorrect results in undirected case.
  • igraph_community_leiden(): fixed incorrect result when self-loops are present.
  • igraph_eigenvector_centrality(): fixed incorrect value for isolated vertices in weighted graphs.
  • igraph_eigenvector_centrality(): corrected the handling of self-loops.
  • igraph_layout_reingold_tilford(): fixed an issue where branches of the tree would sometimes overlap.


  • igraph_degree_sequence_game(): improved performance with IGRAPH_DEGSEQ_SIMPLE_NO_MULTIPLE_UNIFORM method.
  • Improved the robustness of the test suite.
  • Documentation improvements.
  • Improved error and warning messages.
  • Improved compatibility with recent versions of Microsoft Visual C.