Skip to content

Releases: igraph/rigraph

igraph 1.4.2

03 Apr 01:47
Compare
Choose a tag to compare

Breaking changes

  • Remove igraph.eigen.default() and eigen_defaults, introduce internal eigen_defaults() as a function (#741).

  • Remove broken nexus*() functions (#705), and srand() (#701).

C core

  • Update C core.

  • ARPACK-based calculations are now interruptible.

  • shortest_paths() and all_shortest_paths() no longer crash when an invalid from vertex is passed and weights are being used.

See diff for details.

Printing

  • Use true vertex names for printing vertex sets. If a vertex set captures a relationship between vertices (e.g., the father component of bfs()), the vertex set is printed as a named vector (#754).

  • Suggest restarting R session after fatal error (#745).

Bug fixes

  • as_long_data_frame() now correctly processes vertex attributes and works with graphs without vertex attributes (#748).

  • as.hclust(hrg.fit(g)) works again (#721).

Documentation

  • The documentation is now available at https://igraph.org/ (#743).

  • Reorganize function reference (#662).

  • Replace graph() with make_graph() in examples (#738).

  • Add docs for as.hclust.igraphHRG() (#733).

  • Merged man page of hub_score() and authority_score() (#698).

  • Refactor contributors listing (#647).

  • Improve "family" titles (#679).

  • Improve docs of ego/neighborhood functions.

  • Improve transitivity() docs.

Internal

  • Introduce cpp11 package to improve error handling in the long run (#720).

  • Avoid longjmp for error handling and interrupts (#751).

  • as.hclust.igraphHRG uses .Call() interface (#727).

igraph 1.4.1

27 Feb 19:06
452ab19
Compare
Choose a tag to compare

Bug fixes

  • console() now works again and provides a Tcl/Tk based UI where igraph can post status messages and progress info (#664).

  • Fix errors when printing long vertex names (#677, @ahmohamed).

  • Fix regression that broke builds on some systems (e.g., GCC version 5 or earlier), introduced in igraph 1.4.0 (#670, #671).

  • fit_hrg() does not crash any more when called with a graph that has less than three vertices.

Documentation

Internal

  • Fix warning about yyget_leng() returning wrong type when using LTO (#676).

  • Don't mention C++11 or C++17 for best compatibility with both newest R and older compilers, while still requesting a C++ compiler for linking.

  • Don't ignore build/ when building the package because the vignette index is built there.

  • Skip plot test entirely on R-devel.

  • Avoid submodules for building igraph (#674).

  • Makevars cleanup (#671).

  • Add Zenodo configuration file.

igraph 1.4.0

11 Feb 17:59
941c073
Compare
Choose a tag to compare

Breaking changes

  • Breaking change: Allow change of attribute type when setting attribute for all vertices or edges; only attributes of length 1 or the length of the target set allowed (#633).

Added

  • tkplot() gained a palette argument and it is now using the same palette as plot() by default, for sake of consistency.
  • plot.igraph() gained a loop.size argument that can be used to scale the common radius of the loop edges.

Fixed

  • The default maximum number of iterations for ARPACK has been increased to 3000 to match that of the igraph C core.
  • Rare convergence problems have been corrected in cluster_leading_eigen().
  • All ARPACK-based functions now respect random seeds set in R when generating a random starting vector.
  • igraph_version() returned an invalid value in 1.3.4, this is now corrected.
  • The value of par(xpd=...) is now restored after plotting a graph.
  • Fixed a bug in as.dendrogram.communities() for large dendrograms, thanks
    to @pkharchenko (see PR #292).
  • Fixed two bugs in graph_from_incidence_matrix() that prevented the creation of directed graphs with mode="all" from dense or sparse matrices.
  • dfs() accidentally returned zero-based root vertex indices in the result object; this is now fixed and the indices are now 1-based.
  • as_graphnel() does not duplicate loop edges any more.
  • convex_hull() now returns the vertices of the convex hull with 1-based indexing.
  • Some rgl.*() function calls in the codebase were replaced with equivalent *3d() function calls in preparation for upcoming deprecations in rgl (see PR #619)
  • plot.igraph() does not use the frame=... partial argument any more when calling plot.default(). The default NULL value of frame.plot is now also handled correctly.
  • hub_score() and authority_score() considered self-loops only once on the diagonal of the adjacency matrix of undirected graphs, thus the result was not identical to that obtained by eigen_centrality() on loopy undirected graphs. This is now corrected.
  • distances() no longer ignores the mode parameter when algorithm='johnson'.

Deprecated

  • automorphisms() was renamed to count_automorphisms(); the old name is still available, but it is deprecated.

Other

  • Documentation improvements.
  • The Github repository was now moved to a single-branch setup where the package can be built from the main branch directly.
  • Added igraph extended tutorial as an R vignette (#587).
  • igraph now has a homepage based on pkgdown thanks to @maelle (see #645). This will eventually become the official homepage.

1.2.10

15 Dec 07:55
Compare
Choose a tag to compare

Fixed:

  • The macOS versions of igraph were accidentally built without GraphML support on CRAN; this should now be fixed.

1.2.9

14 Dec 08:58
6dbfaf6
Compare
Choose a tag to compare

No user visible changes.

1.2.8

07 Nov 22:13
209095e
Compare
Choose a tag to compare

No user visible changes.

1.2.7

15 Oct 15:40
839450d
Compare
Choose a tag to compare

Added

  • cluster_leiden() added as an interface to the Leiden community detection algorithm in the C core of igraph (#399.
  • cluster_fluid_communities() added as an interface to the fluid communities algorithm of the C core of igraph (#454.

Fixed

  • make_lattice() correctly rounds length to the nearest integer while printing a warning (#115.
  • make_empty_graph(NULL) now prints an error instead of producing an invalid graph (#404).
  • make_graph(c()) now produces an empty graph instead of printing a misleading error message (#431).
  • Printing a graph where some edges have NA as the names of both endpoints does not produce a misleading error message any more (#410).
  • The types argument of functions related to bipartite graphs now prints a warning when the types are coerced to booleans (#476).
  • Betweenness normalisation no longer overflows (#442).
  • layout_with_sugiyama() returns a layout of type matrix even if there is only one vertex in the graph (#408).
  • Plotting a null graph (i.e. a graph with no vertices) does not throw an error any more (#387).

Deprecated

  • The membership argument of modularity.matrix() is now deprecated as the function never needed it anyway.
  • modularity() now prints a warning when it is applied on a directed graph because the implementation in igraph's C core does not support directed graphs as of version 0.8.5. The warning will be turned into an error in the next minor (1.3.0) version of the R interface; the error will be removed later when the C core is updated to a version that supports modularity for directed networks.
  • transitivity() now prints a warning when its local variant (type="local") is called on a directed graph or a graph with multiple edges beecause the implementation in the C core of igraph does not work reliably in these cases as of version 0.8.5. The warning will be turned into an error in the next minor (1.3.0) version of the R interface; the error will be removed later when the C core is updated to a version that supports transitivity for networks with multiple edges.

Misc

  • Documentation improvements.

1.2.6

25 Nov 12:44
Compare
Choose a tag to compare

No user visible changes. See NEWS.md for details.

1.1.0

26 Apr 02:52
Compare
Choose a tag to compare

See the NEWS.md file for a change log.