About igraph releases and other things

C/igraph 0.9.3

C/igraph 0.9.3, the third bugfix release of the 0.9 series, has arrived.

The source can be obtained from the GitHub releases page.

This release includes bug fixes only.


  • OpenMP is now enabled and used by certain functions (notably PageRank calculation) when the compiler supports it. Set IGRAPH_OPENMP_SUPPORT=OFF at configuration time to disable this.


  • igraph_get_incidence() no longer reads and writes out of bounds when given a non-bipartite graph, but gives a warning and ignores edges within a part.
  • igraph_dyad_census() no longer reports an overflow on singleton graphs, and handles loops and multigraphs correctly. Undirected graphs are handled consistently and will no longer give a warning.
  • igraph_vector_lex_cmp() and igraph_vector_colex_cmp() dereferenced their arguments only once instead of twice, and therefore did not work with igraph_vector_ptr_sort().
  • igraph_maximal_cliques_subset() and igraph_transitivity_barrat() corrupted the error handling stack (“finally stack”) under some circumstances.
  • CMake package files did not respect CMAKE_INSTALL_LIBDIR. This only affected Linux distributions which install into lib64 or other locations instead of lib.
  • The parser sources could not be generated when igraph was in a location that contained spaces in its path.
  • igraph no longer links to the math library (libm) when this is not necessary.
  • _CRT_SECURE_NO_WARNINGS is now defined during compilation to enable compatibility with UWP.
  • Fixed a compilation issue on MSYS / MinGW when link-time optimization was enabled and the MSYS Makefiles CMake generator was used. Some source files in igraph were renamed as a consequence, but these should not affect users of the library.


  • igraph_rng_min() is now deprecated; assume a constant zero as its return value if you used this function in your own code.


  • Updated the vendored CXSparse library to version 3.2.0