About igraph releases and other things

June 24, 2015

This is a new major release, with a lot of UI changes. We tried to make it easier to use, with short and easy to remember, consistent function names. Unfortunately this also means that many functions have new names now, but don't worry, all the old names still work.

Apart from the new names, the biggest change in this release is
that most functions that used to return numeric vertex or edge ids,
return vertex/edge sequences now. This requires some time to get used
to and if you want the numeric ids instead, just use the `as.vector()`

function on the vertex/edge sequences.

We will update the documentation on this site, once the package is on CRAN and available for all architectures.

Other major changes:

- A generic
`make_graph()`

function to create graphs. - A generic
`layout_()`

(not the underscore!) function to create graph layouts, see also`add_layout_()`

. - The igraph data type has changed. You need to call
`upgrade_graph()`

on graphs created with previous igraph versions. - Vertex and edge sequence operations: union, intersection, etc.
- Vertex and edge sequences can only be used with the graphs they belong to. This is now strictly checked.
- Vertex and edge sequences have a
`[[`

operator now, for easy viewing of vertex/edge metadata. - Vertex and edge sequences are implemented as weak references.
See also the
`as_ids()`

function to convert them to simple ids. - Vertex order can be specified for the circle layout now.
- Davidson-Harel layout algorithm
`layout_with_dh()`

. - GEM layout algorithm
`layout_with_gem()`

. - Neighborhood functions have a
`mindist`

parameter for the smallest distance to consider. `all_simple_paths()`

function to list all simple paths in a graph.`triangles()`

lists all triangles in a graph.- Fruchterman-Reingold and Kamada-Kawai layout algorithms rewritten from scratch. They are much faster and follow the original publications closely.
- Nicer printing of graphs, vertex and edge sequences.
`local_scan()`

function calculates scan statistics.- Embeddings:
`embed_adjacency_matrix()`

and`embed_laplacian_matrix()`

. - Product operator:
`*`

, the same graph multiple times. Can be also used as`rep()`

. - Better default colors, color palettes for vertices.
- Random walk on a graph:
`random_walk()`

`adjacenct_vertices()`

and`incident_edges()`

functions, they are vectorized, as opposed to`neighhors()`

and`incident()`

.- Convert a graph to a
*long*data frame with`as_long_data_frame()`

.