Skip to content

Releases: igraph/rigraph

igraph 2.1.3

09 Jan 02:31
Compare
Choose a tag to compare

Features

  • Use _pv destroy functions to satisfy ASAN checks (#1630).

  • Use safe accessor to vector elements (#1633).

Chore

  • Replace graph.isomorphic() with isomorphic() (#1583, #1623).

Documentation

  • Convert plot.common.Rd to roxygen2 (#1424, #1636).

  • Remove broken example from graph_from_graphdb() manual page (#1622, #1637).

  • Document argument for NCOL format in read_graph() (#1621).

  • Make documentation of disjoint_union() consistent with behavior (#1587, #1641).

  • Add central note about experimental functions (#1624).

igraph 2.1.2

10 Dec 02:17
Compare
Choose a tag to compare

Bug fixes

  • adjacent_vertices() and incident_edges() are now correct if the "return.vs.es" option is FALSE (@stibu81, #1605, #1606).

  • Fix protection errors reported by rchk (#1592).

  • Fix the incorrect handling of the sample parameter in sample_motifs() and ensure that the default sample.size is integer (#1568).

Documentation

  • Clarify what type of graph each community detection function supports.

  • Improve ?read_graph and ?write_graph documentation.

  • Improve all_simple_paths() documentation.

  • cluster_optimal() does support directed graphs.

Testing

  • Test handling of "return.vs.es" in several functions (@stibu81, #1610).

igraph 2.1.1

21 Oct 19:50
Compare
Choose a tag to compare

See https://github.com/igraph/rigraph/blob/9828d7b11be330f994f07ae93a071b356eced903/src/vendor/cigraph/CHANGELOG.md for a complete changelog, in particular the section "Breaking changes".

Lifecycle

Breaking changes

  • Breaking change: remove tkigraph from {igraph} proper (#1474).
  • Breaking change: Hard-deprecate get.edge() and layout.grid.3d() which have been deprecated for 10 years (#1398).
  • Breaking change: use rlang::arg_match() in igraph.match.arg() (#1165).

In-progress deprecations

We are working towards a more consistent interface, especially as regards function naming: ultimately we want the igraph functions to use snake case.
Please update your scripts and codebases as soon as you can.

  • Deprecate eigen_centrality(scale = ) (#1543).
  • Put deprecation message at the beginning not the end of the similarity functions (#1549).
  • Add independence_number() as an alias of ivs_size() (#1522).
  • Add get_edge_ids() as an alias of get.edge.ids() (#1510).
  • Increase the deprecation signal to a warning for hub.score() and authority.score() both replaced by hits_scores() (#1352).
  • Soft-deprecate erdos.renyi.game() and random.graph.game() (#1509).

Features

C library

New functionality

  • Add p.value and p.precision arguments to fit_power_law() to control the computation of the p-value (#1546, #1386).
  • Add max_degree() (#1403).
  • Add experimental sample_chung_lu() (#1416).
  • Rename methods available for sample_degseq() and add the "edge.switching.simple" method (#1376).
  • Weight support for eccentricity() and radius() (#1211).
  • Add some argument checking to add_shape() (#1478).

More informative errors

  • Export .from() etc. with behavior similar to dplyr::across() (#1436): functions like .from() are meant to be used inside [ but now if an user misuses them, the error is more informative.

Bug fixes

  • Fix including diagonal elements in dense adjacency matrices (#1437).
  • Align the body of graph.lattice() with its replacement make_lattice() (#1439).
  • Use deprecated() as default value for circular argument to make_lattice() (#1431).
  • subgraph_centrality() now ignores edge directions (#1414).
  • Remove unintended type conversions when using disjoint_union() (#1375).
  • Add missing PROTECT() (#1382).
  • Fix reading of LGL and NCOL files (broken in 2.0.0) (#1347).
  • Fixed potential memory leak in R_igraph_community_to_membership2() (#1367).

Documentation

  • Update allcontributors table (#1552).
  • Use mathjax for now (#1538).
  • Improve the manual page of sample_() (#1477).
  • Improve cross-links from make_() manual page (#1476).
  • Update is_separator() documentation based on C docs (#1467).
  • Add DOI to citation (#1450).
  • Improve documentation of normalization methods for laplacian_matrix() (#1420).
  • Fix typos in ?plot.common (@gvegayon) (#1413).
  • Fix sample_degseq() example (#1297).
  • Fix graph_from_adjacency_matrix() examples to avoid warnings (#1302).
  • Replace \dontrun{} with @examplesIf (#1307).
  • Improve sample_gnp() examples.
  • Improve centralization docs.
  • Further clarifications for betweenness() (#1489).
  • Clarify how betweenness with cutoff is normalized.
  • Fix centr_eigen_tmax() docs.
  • Make edge_density() examples relevant.
  • Improve eigen_centrality() documentation.
  • Improved cluster_edge_betweenness() documentation.
  • sample_forestfire() tests and example (#1318).

Developer-facing docs

  • Add slightly tweaked boilerplate CONTRIBUTING.md (#1423).
  • Update troubleshooting document.
  • Use {devtag} for internal function docs (#1507).
  • Make .igraph.progress() and .igraph.status() more internal (#1516).

Internal

  • Prepare for libxml2 depending on bcrypt, use pkg-config (#1556, @kalibera).

igraph 2.0.3

21 Oct 19:48
Compare
Choose a tag to compare

See https://github.com/igraph/rigraph/blob/3299d31/src/vendor/cigraph/CHANGELOG.md for a complete changelog of the bundled C core, and https://github.com/igraph/rigraph/compare/f3fa58b..3299d31#diff-aeb78e0159780a9b26daabaf6f95f450b0cfec7161fc735f27ad69145a57dc84 for the changes since the igraph 2.0.1.
(A permanent link to the most recent changelog of the C core used in the R package is
https://github.com/igraph/rigraph/blob/main/src/vendor/cigraph/CHANGELOG.md.)

Features

  • GMP is no longer a dependency (#1256), libxml2 (#1282) and glpk are optional.
  • Update vendored sources to igraph/igraph@857a125.
  • New voronoi_cells() to compute the Voronoi partitioning of a graph (#1173).

Bug fixes

  • Fix rglplot(edge_label = ) (#1267).

Continuous integration

  • Run examples with sanitizer (#1288).
  • Add scheduled builds.

Documentation

  • Make x11() usage in example happen only in interactive sessions (#1301).
  • Remove misleading comment about warning given as no warning is given (#1294).
  • Improve min_st_separators() documentation (#1264).
  • Add link to discussion forum (#1279) and logo (#1280).
  • Add code finding duplicate @seealso, and use it (#1270).
  • Remove duplicate @seealso from ?sample_pa (#1268).
  • Remove incorrect claim about handling of complete graphs by is_separator() and is_min_separator() (#1263).
  • Fix error messages mentioning to mention upgrade_graph() instead of the nonexisting upgrade_version() (#1252).
  • Split is_bipartite() manual page from other manual page (#1230).
  • Improve bug report template.
  • CITATION.cff contains only the first three version components.
  • Install lock workflow to lock stale discussions after one year (#1304).

Internal

  • Replace use of deprecated barabasi.game() with sample_pa() (#1291).
  • Auto-generate are_adjacent(), avoid deprecated igraph_are_connected() C function (#1254).

igraph 2.0.2

20 Feb 01:32
Compare
Choose a tag to compare

See https://github.com/igraph/rigraph/blob/f3fa58b/src/vendor/cigraph/CHANGELOG.md for a complete changelog of the bundled C core, and https://github.com/igraph/rigraph/compare/1bd2bf79..f3fa58b#diff-aeb78e0159780a9b26daabaf6f95f450b0cfec7161fc735f27ad69145a57dc84 for the changes since the igraph 2.0.1.
(A permanent link to the most recent changelog of the C core used in the R package is
https://github.com/igraph/rigraph/blob/main/src/vendor/cigraph/CHANGELOG.md.)

Bug fixes

  • g + vertices(1, 2, foo = 3) works again, regression introduced in igraph 2.0.0 (#1247).
  • sample_pa() respects the out.seq and out.dist arguments again, regression introduced in igraph 2.0.0 (#1226).
  • isomorphisms() and subgraph_isomorphisims(method = "vf2") work again, regression introduced in 2.0.0 (#1219).
  • biconnected_components() now returns edge and vertex sequences again, regression introduced in 2.0.0 (#1213).
  • Remove zeros from the order and order.out components returned by dfs(), regression introduced in 2.0.0 (#1179).
  • Memory leaks when converting data to C (#1196).

Features

  • realize_bipartite_degseq() creates a bipartite graph from two degree sequences (#1212).
  • is_biconnected() checks if a graph is biconnected (#1204).
  • distances() now supports the Floyd-Warshall algorithm (#1186).

Documentation

  • Use more culturally diverse names in intro vignettes (#1246).
  • Formatting tweaks in introductory vignettes (#1243).
  • Recommend {pak} instead of {remotes} (#1228).
  • Fix typo in mean_distance() docs.
  • Update troubleshooting document, emphasize issues with Anaconda environments (#1209).
  • Improved docs for shortest path functions (#1201).
  • Document "dsatur" heuristic for greedy_vertex_coloring() (#1206).
  • Remove scg related docs (#1167).
  • Fix typo in ?articulation_points (#1191).
  • Improve installation and troubleshooting instructions (#1184).
  • Improve docs of assortativity (#1151).

Testing

  • Add tests for isomorphisms() and subgraph_isomorphisms() (#1225).

Packaging

  • Always use bundled mini-gmp (#1233).
  • config.h defines HAVE___UINT128_T (#1216).
  • Do not rely on which program during configuration (#1232).
  • configure manage libxml multiple include paths (#1197).
  • Remove empty string in configure (#1235).
  • Link Fortran runtime on Windows as needed by arpack. (#1215).
  • Workaround for deprecated enum values not being supported with old GCC (#1205).
  • HAVE_GFORTRAN flag for win and ucrt (#1171).
  • make_empty_graph() is now fully auto-generated (#1068).
  • Eliminate manual edits from autogenerated files (#1207).
  • Add read-only comments for RStudio IDE (#1152).

Internal

  • Remove unused patch files (#1234).
  • Update stimulus to 0.21.4 (#1210).
  • Avoid duplicate objects (#1223).
  • Eliminate a compiler warning from simpleraytracer (#1185).

igraph 2.0.1.1

01 Feb 01:37
Compare
Choose a tag to compare

Bug fixes

  • Avoid is.R() which is deprecated in R 4.4.0.

igraph 2.0.1

31 Jan 01:34
Compare
Choose a tag to compare

Bug fixes

  • Use cpp11 for simpleraytracer glue to avoid -Wlto warnings (#1163).

igraph 1.6.0

13 Dec 01:40
Compare
Choose a tag to compare
## Breaking changes

- New `arpack_defaults()` replaces `igraph.arpack.default` and `arpack_defaults` lists (#800), with consistent usage checks (#966).

- Define methods for `ape::as.phylo()` instead of own `as_phylo()` generic, remove deprecated `asPhylo()` (#763).

- `bfs()` with unreachable nodes returns zero instead of `NaN` as `rank` (#956), and negative instead of `NaN` for `dist` (#926).

- `random_walk()` adds one more step, the resulting list of vertices is of length `steps + 1` (#934).

- `girth()` returns `Inf` for acyclic graphs (#931).

- Remove some behaviour / parameters that were deprecated in 1.3 (#842).

- Remove `scg_eps()`, `scg_group()` and `scg_semi_proj()`, broken and no longer maintained (#946).

## Bug fixes

- Fix `printf()` warning (#975).

- Fix calls to `isSymmetric()` for matrix objects with a class (#965).

- Reduce frequency of interruption checks (#957).

## Features

- Change "incidence matrix" naming to "biadjacency matrix" (#962).

- Add aliases using the neighborhood terminology for all ego functions: (#950).

- Rename arguments to `assortativity(values, values.in)` from `types1` and `types2` (#952).

- Add ellipsis to `cluster_label_prop()` (#954).

- Placeholders for `is_acyclic()` and `is_forest()`, to be implemented in igraph 2.0.0 (#945).

- `is_tree(details = TRUE)` designates the first vertex as root for non-trees (#935).

- `all_shortest_paths()` returns the vertex list in both `res` and `vpaths` components (#930).

- Improve symmetry check for adjacency matrices on input (#911).

- Warn if non-symmetric undirected adjacency matrix (#904).

## Documentation

- Remove duplicate `\seealso{}` (#948).

- Update `knnk()` and `sir()` docs.

- Fix formula in `reciprocity()` docs.

- `strength()` does not give a warning when no weights are given.

- Update `sample_smallworld()` manual page (#895).

- Correct documentation for weighted cliques.

- Update Erdos-Renyi model docs.

## Testing

- Clean up tests (#967).

- Stabilize tests for `cluster_label_prop()` (#932), `sample_pa()` (#927), `cluster_louvain()` (#933), SIR (#936), `sample_forestfire()` (#929).

- Hard-code graph used in test (#928).

- Update GML test file (#925).

- Improve test for sampling from Dirichlet distribution (#923).

- Omit test that no longer holds with igraph 0.10 (#922).

- Stabilize test in preparation for upgrade (#920).

- Stabilize plot test (#919).

- Fix checks.

igraph 1.5.1

12 Aug 05:30
Compare
Choose a tag to compare

Breaking changes

  • Breaking change: start deprecation of estimate_betweenness(), estimate_edge_betweenness(), estimate_closeness() (#852).

Bug fixes

  • identical_graphs() now correctly detects identical graphs without node or edge attributes (#757).

Internal

  • Change ownership rules of attribute objects (#870).

  • R_SEXP_to_igraph() and R_SEXP_to_igraph_copy() get igraph_t object from external pointer (#865).

  • Remove ETIME() call from Fortran code, already in CRAN version 1.5.0.1 (#858).

  • Ensure that _GNU_SOURCE is always defined (#877).

  • Fix make clean (#860).

  • Fix generation of code for functions with VERTEX_COLOR out-arguments (#850).

  • Use -lquadmath in Makevars.win, for compatibility with alternative R distributions such as Microsoft R Open (#855).

  • getRversion() uses strings.

Documentation

  • Add cffr file and a GHA workflow that updates it automatically (#873).

  • Undeprecate neighborhood() (#851).

  • Remove redundant reference to AUTHORS from DESCRIPTION.

Refactoring

  • Breaking change: start deprecation of estimate_betweenness(), estimate_edge_betweenness(), estimate_closeness() (#852).

igraph 1.5.0.1

09 Aug 03:25
Compare
Choose a tag to compare
  • Remove ETIME() call from Fortran code.