Recent Releases of rigraph
rigraph - igraph 2.1.4
Testing
- Tweak tests that use the graph package.
- R
Published by github-actions[bot] about 1 year ago
rigraph - igraph 2.1.3
Features
Use
_pvdestroy functions to satisfy ASAN checks (#1630).Use safe accessor to vector elements (#1633).
Chore
- Replace
graph.isomorphic()withisomorphic()(#1583, #1623).
Documentation
Convert
plot.common.Rdto 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).
- R
Published by github-actions[bot] about 1 year ago
rigraph - igraph 2.1.2
Bug fixes
adjacent_vertices()andincident_edges()are now correct if the"return.vs.es"option isFALSE(@stibu81, #1605, #1606).Fix protection errors reported by rchk (#1592).
Fix the incorrect handling of the
sampleparameter insample_motifs()and ensure that the defaultsample.sizeis integer (#1568).
Documentation
Clarify what type of graph each community detection function supports.
Improve
?read_graphand?write_graphdocumentation.Improve
all_simple_paths()documentation.cluster_optimal()does support directed graphs.
Testing
- Test handling of
"return.vs.es"in several functions (@stibu81, #1610).
- R
Published by github-actions[bot] about 1 year ago
rigraph - igraph 2.1.1
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()andlayout.grid.3d()which have been deprecated for 10 years (#1398). - Breaking change: use
rlang::arg_match()inigraph.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 ofivs_size()(#1522). - Add
get_edge_ids()as an alias ofget.edge.ids()(#1510). - Increase the deprecation signal to a warning for
hub.score()andauthority.score()both replaced byhits_scores()(#1352). - Soft-deprecate
erdos.renyi.game()andrandom.graph.game()(#1509).
Features
C library
- Update vendored C/igraph sources to igraph/igraph@d2e0f4eb567dfc505227c346a015bef574c4ccd1.
New functionality
- Add
p.valueandp.precisionarguments tofit_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()andradius()(#1211). - Add some argument checking to
add_shape()(#1478).
More informative errors
- Export
.from()etc. with behavior similar todplyr::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 replacementmake_lattice()(#1439). - Use
deprecated()as default value forcircularargument tomake_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).
- R
Published by krlmlr over 1 year ago
rigraph - igraph 2.0.3
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@857a125069c226f266562b3781b82833fe1d59d9.
- 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
@seealsofrom?sample_pa(#1268). - Remove incorrect claim about handling of complete graphs by
is_separator()andis_min_separator()(#1263). - Fix error messages mentioning to mention
upgrade_graph()instead of the nonexistingupgrade_version()(#1252). - Split
is_bipartite()manual page from other manual page (#1230). - Improve bug report template.
CITATION.cffcontains only the first three version components.- Install lock workflow to lock stale discussions after one year (#1304).
Internal
- Replace use of deprecated
barabasi.game()withsample_pa()(#1291). - Auto-generate
are_adjacent(), avoid deprecatedigraph_are_connected()C function (#1254).
- R
Published by krlmlr over 1 year ago
rigraph - igraph 2.0.2
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 theout.seqandout.distarguments again, regression introduced in igraph 2.0.0 (#1226).isomorphisms()andsubgraph_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
orderandorder.outcomponents returned bydfs(), 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 forgreedy_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()andsubgraph_isomorphisms()(#1225).
Packaging
- Always use bundled mini-gmp (#1233).
config.hdefinesHAVE___UINT128_T(#1216).- Do not rely on
whichprogram during configuration (#1232). configuremanage 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_GFORTRANflag forwinanducrt(#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).
- R
Published by github-actions[bot] about 2 years ago
rigraph - igraph 2.0.1.1
Bug fixes
- Avoid
is.R()which is deprecated in R 4.4.0.
- R
Published by github-actions[bot] about 2 years ago
rigraph - igraph 2.0.1
Bug fixes
- Use cpp11 for simpleraytracer glue to avoid
-Wltowarnings (#1163).
- R
Published by github-actions[bot] about 2 years ago
rigraph - igraph 1.5.1
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()andR_SEXP_to_igraph_copy()getigraph_tobject from external pointer (#865).Remove
ETIME()call from Fortran code, already in CRAN version 1.5.0.1 (#858).Ensure that
_GNU_SOURCEis always defined (#877).Fix
make clean(#860).Fix generation of code for functions with
VERTEX_COLORout-arguments (#850).Use
-lquadmathinMakevars.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).
- R
Published by github-actions[bot] over 2 years ago
rigraph - igraph 1.5.0.1
- Remove
ETIME()call from Fortran code.
- R
Published by krlmlr over 2 years ago
rigraph - igraph 1.5.0
Breaking changes
The internal format of graph objects has changed in a mostly backward-compatible way, to prepare for upgrading the C core to 0.10. Details are described at https://github.com/igraph/rigraph/wiki/The-igraph-object-format. Accessing graph objects that have been created with an older igraph version give a clean error message with instructions (#832). The new format cannot be read by igraph 1.4.3 or older, the following error is raised when trying to do so:
This graph was created by an old(er) igraph version.
Call upgrade_graph() on it to use with the current igraph version
For now we convert it on the fly...
Error in is_directed(object) :
REAL() can only be applied to a 'numeric', not a 'NULL'
The only supported remedy is to upgrade the igraph package to version 1.5.0 or later.
graph_version() now returns an integer scalar (#832, #847), 4 as of igraph 1.5.0 (#835).
Features
Vertex and edge sequences are converted to numeric vectors when used in attributes (#808).
New
largest_component()returns the largest connected component (#786, @ngmaclaren).
Bug fixes
- Fix error message in
make_graph()whensimplify = ...is used with a non-formula (#834).
Testing
Add more tests for
graph_from_literal()(#826).Reenable serialization test and tests for
dyad_census(), stabilize tests (#809, #822, #823).
Documentation
The documentation for the R package is now hosted at https://r.igraph.org/ (#780).
Update
vignette("installation-troubleshooting").Fix use of deprecated functions in examples, e.g., replace
gsize()byecount()(#827).Fix typos in
?eigen_centralitydocs (@JJ).Update CONTRIBUTING.md and ORCID information (#791, #774).
Add DOI to CITATION (#773).
Internal
Add data for old igraph versions as constructed objects, and tests (#838).
Ensure we're always using named indexes to access the internal data structure (#784).
Prepare migration to igraph/C 0.10 (#781).
Update generated interface (#765).
- R
Published by krlmlr over 2 years ago
rigraph - igraph 1.4.3
Internal
Fix tests for dev waldo (#779, @hadley).
Fix linking on Windows: gfortran needs quadmath. (#778).
Documentation
- Mention limitation of Pajek reader (#776).
- R
Published by krlmlr over 2 years ago
rigraph - igraph 1.4.2
Breaking changes
Remove
igraph.eigen.default()andeigen_defaults, introduce internaleigen_defaults()as a function (#741).Remove broken
nexus*()functions (#705), andsrand()(#701).
C core
Update C core.
ARPACK-based calculations are now interruptible.
shortest_paths()andall_shortest_paths()no longer crash when an invalidfromvertex 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
fathercomponent ofbfs()), 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()withmake_graph()in examples (#738).Add docs for
as.hclust.igraphHRG()(#733).Merged man page of
hub_score()andauthority_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.igraphHRGuses.Call()interface (#727).
- R
Published by github-actions[bot] almost 3 years ago
rigraph - igraph 1.4.1
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
- Various improvements (#663, @maelle; #667).
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.
- R
Published by krlmlr almost 3 years ago
rigraph - igraph 1.4.0
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 apaletteargument and it is now using the same palette asplot()by default, for sake of consistency.plot.igraph()gained aloop.sizeargument 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 withmode="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 inrgl(see PR #619) plot.igraph()does not use theframe=...partial argument any more when callingplot.default(). The defaultNULLvalue offrame.plotis now also handled correctly.hub_score()andauthority_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 byeigen_centrality()on loopy undirected graphs. This is now corrected.distances()no longer ignores themodeparameter whenalgorithm='johnson'.
Deprecated
automorphisms()was renamed tocount_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
mainbranch directly. - Added igraph extended tutorial as an R vignette (#587).
- igraph now has a homepage based on
pkgdownthanks to @maelle (see #645). This will eventually become the official homepage.
- R
Published by ntamas about 3 years ago
rigraph - 1.2.7
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 roundslengthto 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
typesargument 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
membershipargument ofmodularity.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.
- R
Published by ntamas over 4 years ago