News

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 https://github.com/igraph/igraph/issues.

New homepage

The igraph library’s homepage is now hosted at http://igraph.org/c, 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 http://igraph.org/nightly.

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 https://github.com/dgleich/prpack
  • 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.