From 82b7b1c34535161d7a8cb1feaa7c36a89ff47dbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kirill=20M=C3=BCller?= Date: Thu, 26 Sep 2024 10:52:41 +0200 Subject: [PATCH 1/7] Bump version to 2.1.0 --- DESCRIPTION | 2 +- NEWS.md | 861 +++++++++------------------------------------------- 2 files changed, 139 insertions(+), 724 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index eb4123ecf8..990e5c4706 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: igraph Title: Network Analysis and Visualization -Version: 2.0.3.9065 +Version: 2.1.0 Authors@R: c( person("Gábor", "Csárdi", , "csardi.gabor@gmail.com", role = "aut", comment = c(ORCID = "0000-0001-7098-9676")), diff --git a/NEWS.md b/NEWS.md index 3c6ecf1eca..b6e49eef82 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,799 +1,214 @@ -# igraph 2.0.3.9065 +# igraph 2.1.0 -## Bug fixes +## doc -- Refer to correct function in deprecation message. +- Improve sample_gnp() examples. +- Improve centralization docs. +- Further clarifications for betweenness(). + ref #1489 +- Clarify how betweenness with cutoff is normalized. +- Fix centr_eigen_tmax() docs. +- Mark `sample_chung_lu()` as experimental. +- Make `edge_density()` examples relevant. +- Update troubleshooting document. +- Improve `eigen_centrality()` documentation. +- Further improved `cluster_edge_betweenness()` documentation. +- Improved `cluster_edge_betweenness()` documentation. -## Chore +## lifecycle -- Start deprecation of `as_adj()` alias of `as_adjacency_matrix()` (#1524). +- `erdos.renyi.game()` and `random.graph.game()` soft deprecation (#1509). -- Update vendored sources to igraph/igraph@d2e0f4eb567dfc505227c346a015bef574c4ccd1. +## 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: change make.R (#1390). +- Breaking change: use `rlang::arg_match()` in `igraph.match.arg()` (#1165). +## Bug fixes -# igraph 2.0.3.9064 +- Refer to correct function in deprecation message. +- Add ellipsis to dummy functions `.nei()` and others (#1487). +- Fix includig 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 (#1431). +- Fix compatibility layer for `eccentricity()` and `radius()` (#1394). +- `subgraph_centrality()` now ignores edge directions (#1414). +- Remove unintended type conversions when using `disjoint_union()` (#1375). +- Put back header files for consumption by Bison (#1406). +- `sample_degseq()` works with old method names again (#1393). +- 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). +- Comment failing ci (#1357). ## Features - Add `independence_number()` as an alias of ivs_size (#1522). +- Create get_edge_ids() as new name for get.edge.ids() (#1510). +- Breaking change: remove tkigraph from {igraph} proper (#1474). +- Support `fit_power_law(implementation = "plfit.p")` to compute the P-value (#1386). +- Export `.from()` etc. with behavior similar to `dplyr::across()` (#1436). +- `max_degree()` (#1403). +- `sample_chung_lu()` (#1416). +- Remove deprecated functions before 1.0 (#1352). +- Update C/igraph (#1378). +- Rename sample_degseq() method and add the edge.switching.simple method (#1376). +- Generate all bindings (#1044). +- Weight support for `eccentricity()` and `radius()` (@krlmlr, #1211). ## Chore +- Start deprecation of `as_adj()` alias of `as_adjacency_matrix()` (#1524). +- Update vendored sources to igraph/igraph@d2e0f4eb567dfc505227c346a015bef574c4ccd1. - Add `max_ivs()` alias for `maximal_ivs()`, for consistency (#1521). - -## Testing - -- Put snaps where they belong. - - -# igraph 2.0.3.9063 - -## Chore - - Update vendored sources to igraph/igraph@1f153e9ca1b7e03ae4387d2500b4ccf4d3bc2703 (#1517). - - Start renaming as.directed() and as.undirected() to `as_di… (`\#1513\`{=html}). - - Start deprecate `graph.edges()` to `graph_from_edges()` (#1512). - - Make `.igraph.progress()` and `.igraph.status()` more internal (#1516). - -## Documentation - -- Remove stray alias. - - -# igraph 2.0.3.9062 - -## Features - -- Create get_edge_ids() as new name for get.edge.ids() (#1510). - -## Chore - - Formally deprecate `similarity.()` functions (#1515). - - Update vendored sources to igraph/igraph@fd54b8d8ef23ab80713baf89d1f3e655bad3352a. - -## Documentation - -- Use {devtag} for internal function docs (#1507). - -## doc - -- Improve sample_gnp() examples. - -## lifecycle - -- `erdos.renyi.game()` and `random.graph.game()` soft deprecation (#1509). - -## Uncategorized - -- Lifecycle and tests in structural.properties (#1505). - - -# igraph 2.0.3.9061 - -## Chore - - Update vendored sources to igraph/igraph@03760a09cc7195dfaad3a1e60cff1632aa6a6118 (#1470). - - Results from revdepcheck (#1506). - - -# igraph 2.0.3.9060 - -## Testing - -- Refactor test-layout.fr.R for simplicity and readability (#1504). - - -# igraph 2.0.3.9059 - -## Chore - - Replace `is.directed()` with `is_directed()` in stimulus YAML (#1494). - - Soft-deprecate `graph_()` (#1493). - -## Documentation - -- Expand on `fit_power_law(implementation = "plfit.p")` (#1503). - -## doc - -- Improve centralization docs. - - -# igraph 2.0.3.9058 - -## Chore - - Remove useless igraph_test() and igraphtest() functions as we … (#1501). - - Use lifecycle for deprecation of membership argument of modula… (#1498). - - Properly deprecate some functions in layout.R (#1500). - - Remove references to deprecated functions (#1497). - -## Documentation - -- Add more cdocs tags (#1491). - - -# igraph 2.0.3.9057 - -## Documentation - -- Document how to run document(). - - thx @szhorvat - - -# igraph 2.0.3.9056 - -## doc - -- Further clarifications for betweenness(). - ref #1489 - -- Clarify how betweenness with cutoff is normalized. - ref #1489 - -- Fix centr_eigen_tmax() docs. - - -# igraph 2.0.3.9055 - -## Chore - - Increase cpp11 minimal version (#1490). - - -# igraph 2.0.3.9054 - -## Bug fixes - -- Add ellipsis to dummy functions `.nei()` and others (#1487). - -## Features - -- Breaking change: remove tkigraph from {igraph} proper (#1474). - -## Chore - - Results for revdepcheck (#1488). - -## Documentation - -- Add a custom roxygen2 cdocs tag (#1484). - -## Breaking changes - -- Breaking change: remove tkigraph from {igraph} proper (#1474). - - -# igraph 2.0.3.9053 - -## Chore - - Add some argument checking to `add_shape()` (#1478). +- Fix TODO related to missing citation (#1450). +- Rerun revdepcheck. +- Update revdepcheck results. +- Update vendored sources to igraph/igraph@766238c85a16ebd896d788567c1f61fec3ac7bc8. +- Update vendored sources to igraph/igraph@1be914d61efdd29dec6143715da7b79fabbf9972. + fix: fix crash during interruption in DrL + chore: add PR template +- Update vendored sources to igraph/igraph@ce9ddfc85dde94d9da5f8de4318fe82662c4ac78. +- Update vendored sources to igraph/igraph@5b41a2523628d77f46fea3792d0e0eec63887322. +- Update vendored sources to igraph/igraph@171e442c844092c2a6fecf18f3aadad68336e1e7. +- Update vendored sources to igraph/igraph@a8c458defd736ca61f1d3c63e3ac3da95d4466d0. +- Update vendored sources to igraph/igraph@59899fbda04c28af73309851320495ed72542094. +- Update vendored sources to igraph/igraph@d3f470a2fb2a3e24501931f64b3a06df63a82593. + fuzzer: use libxml2 2.13.1 + refactor: name CHUNG_LU_GRG to CHUNG_LU_MAXENT (no release has been issued with the GRG naming so far) +- Breaking change: Hard-deprecate `get.edge()` and `layout.grid.3d()` which have been deprecated for 10 years (#1398). +- Update vendored sources to igraph/igraph@4128607307c7da9d7fb8a45222afde347860f966. + chore: update changelog + refactor: spanning tree is not needed for LGL a BFS already computes a spanning tree +- Update vendored sources to igraph/igraph@06856ab6cc5fcf2e3affc51f15ceac88f5a60efc. + interface: update chung_lu_game() parameter names +- Update vendored sources to igraph/igraph@914fc245d0100892112aa6e62f4fbc8430fcbea5. +- Infrastructure to review revdepcheck results (#1402). +- Results. +- Use and explain `getNamespaceInfo()` (#1339). +- Work around https://github.com/igraph/igraph/pull/2527. +- Apply patch after vendoring. +- Update vendored sources to igraph/igraph@68522c3fbac0bdc375611cd711251223c2e76472. -## Testing - -- Remove useless snapshot (#1481). - - -# igraph 2.0.3.9052 - -## Bug fixes - -- Fix includig diagonal elements in dense adjacency matrices (#1437). - +## Continuous integration -# igraph 2.0.3.9051 +- Try installing {graph} again (#1407). +- Install rhub. +- Fix vendoring workflow. +- Work around installation problems for the graph package (#1374). +- Remove conflict action again. +- Use other conflict checker action. +- Add conflicts checker for PRs. +- Run examples with comment `\dontrun{}` (#1310). +- Install R (#1335). +- Remove running examples in sanitizer (#1314). +- Update lock.yaml. +- Update lock.yaml (#1309). ## Documentation +- Remove stray alias. +- Use {devtag} for internal function docs (#1507). +- Expand on `fit_power_law(implementation = "plfit.p")` (#1503). +- Add more cdocs tags (#1491). +- Document how to run document(). + thx @szhorvat +- Add a custom roxygen2 cdocs tag (#1484). - Improve the manual page of sample\_() (#1477). - - Improve cross-links from make\_() manual page (#1476). - - Update is_separator() documentation based on C docs (#1467). +- Fix navbar configuration (#1451). +- Add DOI to citation. + https://github.com/igraph/rigraph/pull/1450#issuecomment-2298455032 + cc @szhorvat +- Add slightly tweaked boilerplate CONTRIBUTING.md (#1423). +- 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). +- Update `igraph.Rmd`, fix manual page typo (#1313). ## Refactoring - Remove lazyeval usage in `[.igraph.vs` (#1445). +- Drop attributes in a more straightforward fashion in `graphlet_basis()` (#1452). +- Remove lazyeval usage from R/make.R (#1441). +- Use 'better' logic for updating vertex attributes (#1330). +- Use lifecycle in R/iterators.R (#1399). +- Use `lifecycle::deprecated()` now that we can (#1397). +- Expect_that(is_equivalent()) (#1395). +- Breaking change: change make.R (#1390). +- Handle `null` names for `R_igraph_mybracket2_names` (#1342). +- Names in `update-cigraph.sh` script (#1287). +- Move variables closer to their usage, add explaining variables (#1336). +- Breaking change: use `rlang::arg_match()` in `igraph.match.arg()` (#1165). +- Explaining variables (#1326). +- Less if else in vertex_attr() (#1324). +- Add assert_named_list() helper to assert the value is a named list with no duplicate names (#1322). +- Early return() in graph_attr() (#1320). ## Testing +- Put snaps where they belong. +- Refactor test-layout.fr.R for simplicity and readability (#1504). +- Remove useless snapshot (#1481). - Improve hits tests (#1458). - - Slightly refactor test.print.R for readability (#1463). - - -# igraph 2.0.3.9050 - -## Features - -- Support `fit_power_law(implementation = "plfit.p")` to compute the P-value (#1386). - -## Refactoring - -- Drop attributes in a more straightforward fashion in `graphlet_basis()` (#1452). - - -# igraph 2.0.3.9049 - -## Chore - -- Fix TODO related to missing citation (#1450). - -## Documentation - -- Fix navbar configuration (#1451). - -- Add DOI to citation. - - https://github.com/igraph/rigraph/pull/1450#issuecomment-2298455032 - - cc @szhorvat - -## Testing - - Remove non actionable comment (#1469). - - Remove TODO as several tests use the index argument (#1457). - - Add tests for special subsetting functions (#1456). - - Improve HITS test (#1449). - - -# igraph 2.0.3.9048 - -## Bug fixes - -- Align the body of `graph.lattice()` with its replacement `make_lattice()` (#1439). - -## Features - -- Export `.from()` etc. with behavior similar to `dplyr::across()` (#1436). - -## Refactoring - -- Remove lazyeval usage from R/make.R (#1441). - -## Testing - - Add test for hits_scores() directly (#1444). - - -# igraph 2.0.3.9047 - -## Chore - -- Rerun revdepcheck. - -- Update revdepcheck results. - - -# igraph 2.0.3.9046 - -## Bug fixes - -- Use deprecated() as default value for 'circular' argument (#1431). - - -# igraph 2.0.3.9045 - -## Chore - -- Update revdepcheck results. - - -# igraph 2.0.3.9044 - -## Bug fixes - -- Fix compatibility layer for `eccentricity()` and `radius()` (#1394). - -## Documentation - -- Add slightly tweaked boilerplate CONTRIBUTING.md (#1423). - -## Refactoring - -- Use 'better' logic for updating vertex attributes (#1330). - - -# igraph 2.0.3.9043 - -## Bug fixes - -- `subgraph_centrality()` now ignores edge directions (#1414). - -- Remove unintended type conversions when using `disjoint_union()` (#1375). - -## Features - -- `max_degree()` (#1403). - -## Documentation - -- Improve documentation of normalization methods for laplacian_matrix() (#1420). - -## Testing - - Rename test file to align with script structure.info.R (#1421). - -## Uncategorized - -- Update centrality.R (#1418). - - -# igraph 2.0.3.9042 - -## Chore - -- Update vendored sources to igraph/igraph@766238c85a16ebd896d788567c1f61fec3ac7bc8. - - -# igraph 2.0.3.9041 - -## Chore - -- Update vendored sources to igraph/igraph@1be914d61efdd29dec6143715da7b79fabbf9972. - - fix: fix crash during interruption in DrL - chore: add PR template - -- Update vendored sources to igraph/igraph@ce9ddfc85dde94d9da5f8de4318fe82662c4ac78. - - -# igraph 2.0.3.9040 - -## Chore - -- Update vendored sources to igraph/igraph@5b41a2523628d77f46fea3792d0e0eec63887322. - - -# igraph 2.0.3.9039 - -## Chore - -- Update vendored sources to igraph/igraph@171e442c844092c2a6fecf18f3aadad68336e1e7. - - -# igraph 2.0.3.9038 - -## Chore - -- Update vendored sources to igraph/igraph@a8c458defd736ca61f1d3c63e3ac3da95d4466d0. - - -# igraph 2.0.3.9037 - -## Features - -- `sample_chung_lu()` (#1416). - -## doc - -- Mark `sample_chung_lu()` as experimental. - - -# igraph 2.0.3.9036 - -## Chore - -- Update vendored sources to igraph/igraph@59899fbda04c28af73309851320495ed72542094. - - -# igraph 2.0.3.9035 - -## Chore - -- Update vendored sources to igraph/igraph@d3f470a2fb2a3e24501931f64b3a06df63a82593. - - fuzzer: use libxml2 2.13.1 - refactor: name CHUNG_LU_GRG to CHUNG_LU_MAXENT (no release has been issued with the GRG naming so far) - - -# igraph 2.0.3.9034 - -## Chore - -- Breaking change: Hard-deprecate `get.edge()` and `layout.grid.3d()` which have been deprecated for 10 years (#1398). - -## Documentation - -- Fix typos in `?plot.common` (@gvegayon) (#1413). - -## Refactoring - -- Use lifecycle in R/iterators.R (#1399). - -- Use `lifecycle::deprecated()` now that we can (#1397). - -## Breaking changes - -- Breaking change: Hard-deprecate `get.edge()` and `layout.grid.3d()` which have been deprecated for 10 years (#1398). - -## Uncategorized - -- More auto-generation (#1368). - - -# igraph 2.0.3.9033 - -## Chore - -- Update vendored sources to igraph/igraph@4128607307c7da9d7fb8a45222afde347860f966. - - chore: update changelog - refactor: spanning tree is not needed for LGL a BFS already computes a spanning tree - -- Update vendored sources to igraph/igraph@06856ab6cc5fcf2e3affc51f15ceac88f5a60efc. - -## Testing - - Remove expect_that() definition (#1412). - - -# igraph 2.0.3.9032 - -## Bug fixes - -- Put back header files for consumption by Bison (#1406). - -## Features - -- Remove deprecated functions before 1.0 (#1352). - -## Continuous integration - -- Try installing {graph} again (#1407). - -## Testing - - Stop using throws_error() in test-bipartite.projection.R (#1409). - - Stop using prints_text() in test-bipartite.random.game.R (#1408). - - Stop using is_identical_to() in test-maximal_cliques.R. - - Stop using gives_warning() in test-operators4.R. - - Stop using gives_warning() in test-dot.product.game.R. - - Stop using expect_that() in test-trees.R. - - Remove use of expect_that() in test-clusters.R. +- Results. +- Improve attribute tests (#1381). +- Refactor test-assortativity for readability (#1371). +- Refactoring around `interface.R` (#1366). +- Improve sample_degseq() tests (#1315). +- Use largest_component() and expect_equal() in test files (#1323). +- Add skip condition for `rglplot` test (#1306). +## Uncategorized -# igraph 2.0.3.9031 - -## Chore - -- Update vendored sources to igraph/igraph@06856ab6cc5fcf2e3affc51f15ceac88f5a60efc. - - interface: update chung_lu_game() parameter names - -- Update vendored sources to igraph/igraph@914fc245d0100892112aa6e62f4fbc8430fcbea5. - - -# igraph 2.0.3.9030 - -## Features - -- Update C/igraph (#1378). - - -# igraph 2.0.3.9029 - -## Testing - -- Results. - - -# igraph 2.0.3.9028 - -## Chore - -- Infrastructure to review revdepcheck results (#1402). - - -# igraph 2.0.3.9027 - -## doc - -- Make `edge_density()` examples relevant. - - -# igraph 2.0.3.9026 - -## Bug fixes - -- `sample_degseq()` works with old method names again (#1393). - -## Chore - -- Results. - -## Refactoring - -- Expect_that(is_equivalent()) (#1395). - -- Breaking change: change make.R (#1390). - -## Breaking changes - -- Breaking change: change make.R (#1390). - - -# igraph 2.0.3.9025 - -## doc - -- Update troubleshooting document. - -## Uncategorized - +- Lifecycle and tests in structural.properties (#1505). +- Update centrality.R (#1418). +- More auto-generation (#1368). - Expect_equal() instead of expect_that(equals()) (#1391). - - Refactoring around adjacency.R (#1370). - - -# igraph 2.0.3.9024 - -## Continuous integration - -- Install rhub. - - -# igraph 2.0.3.9023 - -## Continuous integration - -- Fix vendoring workflow. - - -# igraph 2.0.3.9022 - -## Bug fixes - -- Add missing `PROTECT` (#1382). - - -# igraph 2.0.3.9021 - -## Testing - -- Improve attribute tests (#1381). - - -# igraph 2.0.3.9020 - -## Features - -- Rename sample_degseq() method and add the edge.switching.simple method (#1376). - - -# igraph 2.0.3.9019 - -## Bug fixes - -- Fix reading of LGL and NCOL files (broken in 2.0.0) (#1347). - -## Continuous integration - -- Work around installation problems for the graph package (#1374). - -## Testing - -- Refactor test-assortativity for readability (#1371). - -## Uncategorized - - Refactoring around test-attributes.R (#1372). - - -# igraph 2.0.3.9018 - -## Bug fixes - -- Fixed potential memory leak in `R_igraph_community_to_membership2()` (#1367). - - -# igraph 2.0.3.9017 - -## Bug fixes - -- Comment failing ci (#1357). - -## Testing - -- Refactoring around `interface.R` (#1366). - -## Uncategorized - - Fix `%\>%` typo in vignettes (#1343). - - -# igraph 2.0.3.9016 - -## doc - -- Improve `eigen_centrality()` documentation. - - -# igraph 2.0.3.9015 - -## doc - -- Further improved `cluster_edge_betweenness()` documentation. - - -# igraph 2.0.3.9014 - -## doc - -- Improved `cluster_edge_betweenness()` documentation. - - -# igraph 2.0.3.9013 - -## Testing - -- Improve sample_degseq() tests (#1315). - - -# igraph 2.0.3.9012 - -## Continuous integration - -- Remove conflict action again. - -## Refactoring - -- Handle `null` names for `R_igraph_mybracket2_names` (#1342). - - -# igraph 2.0.3.9011 - -## Continuous integration - -- Use other conflict checker action. - -- Add conflicts checker for PRs. - - -# igraph 2.0.3.9010 - -## Features - -- Generate all bindings (#1044). - -## Chore - -- Use and explain `getNamespaceInfo()` (#1339). - -## Continuous integration - -- Run examples with comment `\dontrun{}` (#1310). - -## Refactoring - -- Names in `update-cigraph.sh` script (#1287). - - -# igraph 2.0.3.9009 - -## Continuous integration - -- Install R (#1335). - -## Refactoring - -- Move variables closer to their usage, add explaining variables (#1336). - -- Breaking change: use `rlang::arg_match()` in `igraph.match.arg()` (#1165). - -- Explaining variables (#1326). - -## Breaking changes - -- Breaking change: use `rlang::arg_match()` in `igraph.match.arg()` (#1165). - - -# igraph 2.0.3.9008 - -## Refactoring - -- Less if else in vertex_attr() (#1324). - -- Add assert_named_list() helper to assert the value is a named list with no duplicate names (#1322). - -## Testing - -- Use largest_component() and expect_equal() in test files (#1323). - -## Uncategorized - - Sample_forestfire() tests and example 🔥 (#1318). - - -# igraph 2.0.3.9007 - -## Features - -- Weight support for `eccentricity()` and `radius()` (@krlmlr, #1211). - -## Refactoring - -- Early return() in graph_attr() (#1320). - - -# igraph 2.0.3.9006 - -## Documentation - -- Fix `sample_degseq()` example (#1297). - -- Fix `graph_from_adjacency_matrix()` examples to avoid warnings (#1302). - -- Replace `\dontrun{}` with `@examplesIf` (#1307). - -## Testing - -- Add skip condition for `rglplot` test (#1306). - - -# igraph 2.0.3.9005 - -## Documentation - -- Update `igraph.Rmd`, fix manual page typo (#1313). - - -# igraph 2.0.3.9004 - -## Continuous integration - -- Remove running examples in sanitizer (#1314). - - -# igraph 2.0.3.9003 - -## Continuous integration - -- Update lock.yaml. - -- Update lock.yaml (#1309). - - -# igraph 2.0.3.9002 - -## Chore - -- Work around https://github.com/igraph/igraph/pull/2527. - -- Apply patch after vendoring. - -- Update vendored sources to igraph/igraph@68522c3fbac0bdc375611cd711251223c2e76472. - - -# igraph 2.0.3.9001 - - Internal changes only. - - -# igraph 2.0.3.9000 - - Merge branch 'cran-2.0.3'. From 84de320acae12370be9d1357a3eca830b2fbc032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kirill=20M=C3=BCller?= Date: Thu, 26 Sep 2024 10:52:57 +0200 Subject: [PATCH 2/7] CRAN comments --- cran-comments.md | 47 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/cran-comments.md b/cran-comments.md index 755a727ed5..eb76c5b1d5 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1,12 +1,49 @@ -igraph 2.0.3 +igraph 2.1.0 ## R CMD check results -- [x] Checked locally, R 4.3.2 -- [x] Checked on CI system, R 4.3.3 +- [x] Checked locally, R 4.3.3 +- [x] Checked on CI system, R 4.4.1 - [x] Checked on win-builder, R devel ## Current CRAN check results -- [x] Checked on 2024-03-12, problems found: https://cran.r-project.org/web/checks/check_results_igraph.html -- [x] WARN: r-oldrel-windows-x86_64: gcc bug. +- [x] Checked on 2024-09-26, problems found: https://cran.r-project.org/web/checks/check_results_igraph.html +- [ ] NOTE: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc + File ‘igraph/libs/igraph.so’: + Found non-API calls to R: ‘PRENV’, ‘R_PromiseExpr’ + + Compiled code should not call non-API entry points in R. + + See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual, + and section ‘Moving into C API compliance’ for issues with the use of + non-API entry points. +- [ ] WARN: r-devel-linux-x86_64-fedora-gcc + Found the following significant warnings: + Warning: Obsolescent feature: Old-style character length at (1) + See ‘/data/gannet/ripley/R/packages/tests-devel/igraph.Rcheck/00install.out’ for details. + * used C compiler: ‘gcc-14 (GCC) 14.2.0’ + * used C++ compiler: ‘g++-14 (GCC) 14.2.0’ +- [ ] WARN: r-devel-windows-x86_64 + Found the following significant warnings: + Warning: Obsolescent feature: Old-style character length at (1) + See 'd:/Rcompile/CRANpkg/local/4.5/igraph.Rcheck/00install.out' for details. + * used C compiler: 'gcc.exe (GCC) 13.2.0' + * used C++ compiler: 'g++.exe (GCC) 13.2.0' +- [ ] NOTE: r-devel-windows-x86_64 + File 'igraph/libs/x64/igraph.dll': + Found non-API calls to R: 'PRENV', 'R_PromiseExpr' + + Compiled code should not call non-API entry points in R. + + See 'Writing portable packages' in the 'Writing R Extensions' manual, + and section 'Moving into C API compliance' for issues with the use of + non-API entry points. +- [ ] other_issue: NA +See: +- [ ] other_issue: NA +See: +- [ ] other_issue: NA +See: + +Check results at: https://cran.r-project.org/web/checks/check_results_igraph.html From 15907d3a5748f5251433b1e06f78c6a4e1511822 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 08:54:29 +0000 Subject: [PATCH 3/7] Update CITATION.cff --- CITATION.cff | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 7bdf67630c..0dcbc207dc 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -8,7 +8,7 @@ message: 'To cite package "igraph" in publications use:' type: software license: GPL-2.0-or-later title: 'igraph: Network Analysis and Visualization' -version: 2.0.3 +version: 2.1.0 identifiers: - type: doi value: 10.32614/CRAN.package.igraph @@ -93,7 +93,7 @@ references: - family-names: Müller given-names: Kirill year: '2024' - notes: R package version 2.0.3 + notes: R package version 2.1.0 doi: 10.5281/zenodo.7682609 url: https://CRAN.R-project.org/package=igraph - type: software From 50028c0d5d03ad422d6c3744e35113fda457c0f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kirill=20M=C3=BCller?= Date: Thu, 26 Sep 2024 10:57:32 +0200 Subject: [PATCH 4/7] 2.0.4 -> 2.1.0 --- R/basic.R | 2 +- R/centrality.R | 2 +- R/cliques.R | 2 +- R/community.R | 4 ++-- R/conversion.R | 8 ++++---- R/games.R | 6 +++--- R/interface.R | 2 +- R/iterators.R | 22 +++++++++++----------- R/layout.R | 22 +++++++++++----------- R/make.R | 38 +++++++++++++++++++------------------- R/similarity.R | 6 +++--- R/structural.properties.R | 2 +- 12 files changed, 58 insertions(+), 58 deletions(-) diff --git a/R/basic.R b/R/basic.R index 34a0283110..6b7e6ef0af 100644 --- a/R/basic.R +++ b/R/basic.R @@ -67,7 +67,7 @@ is_igraph <- function(graph) { #' @export #' @keywords internal get.edge <- function(graph, id) { - lifecycle::deprecate_stop("2.0.4", "get.edge()", "ends()") + lifecycle::deprecate_stop("2.1.0", "get.edge()", "ends()") } diff --git a/R/centrality.R b/R/centrality.R index 29b1737a87..81ff5a2d76 100644 --- a/R/centrality.R +++ b/R/centrality.R @@ -1163,7 +1163,7 @@ hits_scores <- function(graph, ..., scale=TRUE, weights=NULL, options=arpack_def #' [arpack()] for details. #' @export authority_score <- function(graph, scale=TRUE, weights=NULL, options=arpack_defaults()) { - lifecycle::deprecate_soft("2.0.4", "authority_score()", "hits_scores()") + lifecycle::deprecate_soft("2.1.0", "authority_score()", "hits_scores()") if (is.function(options)) { lifecycle::deprecate_soft( "1.6.0", diff --git a/R/cliques.R b/R/cliques.R index e3aa7ccbc6..dfc97b2276 100644 --- a/R/cliques.R +++ b/R/cliques.R @@ -499,7 +499,7 @@ max_ivs <- function(graph) { #' @inheritParams max_ivs #' @keywords internal maximal_ivs <- function(graph) { - lifecycle::deprecate_soft("2.0.4", "maximal_ivs()", "max_ivs()") + lifecycle::deprecate_soft("2.1.0", "maximal_ivs()", "max_ivs()") max_ivs(graph) } diff --git a/R/community.R b/R/community.R index 7632fab1b7..54aca9faed 100644 --- a/R/community.R +++ b/R/community.R @@ -712,7 +712,7 @@ modularity_matrix <- function(graph, membership = lifecycle::deprecated(), weigh ensure_igraph(graph) if (!missing(membership)) { - lifecycle::deprecate_warn("2.0.4", "modularity_matrix(membership = 'is no longer used')") + lifecycle::deprecate_warn("2.1.0", "modularity_matrix(membership = 'is no longer used')") } if (is.null(weights) && "weight" %in% edge_attr_names(graph)) { @@ -1345,7 +1345,7 @@ cluster_leiden <- function(graph, objective_function = c("CPM", "modularity"), check_dots_empty() if (lifecycle::is_present(resolution_parameter)) { - lifecycle::deprecate_soft("2.0.4", + lifecycle::deprecate_soft("2.1.0", "cluster_leiden(resolution_parameter)", "cluster_leiden(resolution)") resolution <- resolution_parameter diff --git a/R/conversion.R b/R/conversion.R index 8aad59c600..490370ca45 100644 --- a/R/conversion.R +++ b/R/conversion.R @@ -168,7 +168,7 @@ get.adjacency.dense <- function(graph, type = c("both", "upper", "lower"), if (is.logical(loops)) { loops <- ifelse(loops, "once", "ignore") lifecycle::deprecate_soft( - "2.0.4", "get.adjacency.dense(loops = 'must be a character')", + "2.1.0", "get.adjacency.dense(loops = 'must be a character')", details = sprintf("Converting to get.adjacency.dense (loops = '%s')", loops) ) } @@ -379,7 +379,7 @@ as_adj <- function(graph, type = c("both", "upper", "lower"), attr = NULL, edges = deprecated(), names = TRUE, sparse = igraph_opt("sparsematrices")) { - lifecycle::deprecate_soft("2.0.4", "as_adj()", "as_adjacency_matrix()") + lifecycle::deprecate_soft("2.1.0", "as_adj()", "as_adjacency_matrix()") as_adjacency_matrix( graph = graph, @@ -1239,7 +1239,7 @@ as.matrix.igraph <- function(x, matrix.type = c("adjacency", "edgelist"), ...) { #' @keywords internal #' @export as.directed <- function(graph, mode = c("mutual", "arbitrary", "random", "acyclic")) { - lifecycle::deprecate_soft("2.0.4", "as.directed()", "as_directed()") + lifecycle::deprecate_soft("2.1.0", "as.directed()", "as_directed()") as_directed(graph, mode = mode) } @@ -1254,6 +1254,6 @@ as.directed <- function(graph, mode = c("mutual", "arbitrary", "random", "acycli #' @keywords internal #' @export as.undirected <- function(graph, mode = c("collapse", "each", "mutual")) { - lifecycle::deprecate_soft("2.0.4", "as.undirected()", "as_undirected()") + lifecycle::deprecate_soft("2.1.0", "as.undirected()", "as_undirected()") as_undirected(graph = graph, mode = mode) } diff --git a/R/games.R b/R/games.R index a43292d338..36668d4a12 100644 --- a/R/games.R +++ b/R/games.R @@ -927,17 +927,17 @@ sample_degseq <- function(out.deg, in.deg = NULL, ) if (method == "simple") { - lifecycle::deprecate_warn("2.0.4", "sample_degseq(method = 'must be configuration instead of simple')") + lifecycle::deprecate_warn("2.1.0", "sample_degseq(method = 'must be configuration instead of simple')") method <- "configuration" } if (method == "simple.no.multiple") { - lifecycle::deprecate_warn("2.0.4", "sample_degseq(method = 'must be fast.heur.simple instead of simple.no.multiple')") + lifecycle::deprecate_warn("2.1.0", "sample_degseq(method = 'must be fast.heur.simple instead of simple.no.multiple')") method <- "fast.heur.simple" } if (method == "simple.no.multiple.uniform") { - lifecycle::deprecate_warn("2.0.4", "sample_degseq(method = 'must be configuration.simple instead of simple.no.multiple.uniform')") + lifecycle::deprecate_warn("2.1.0", "sample_degseq(method = 'must be configuration.simple instead of simple.no.multiple.uniform')") method <- "configuration.simple" } diff --git a/R/interface.R b/R/interface.R index 114d14664b..ca75e70e9c 100644 --- a/R/interface.R +++ b/R/interface.R @@ -551,7 +551,7 @@ get.edge.ids <- function(graph, lifecycle::deprecate_soft("2.0.0", "get.edge.ids(multi = )") } - lifecycle::deprecate_soft("2.0.4", "get.edge.ids()", "get_edge_ids()") + lifecycle::deprecate_soft("2.1.0", "get.edge.ids()", "get_edge_ids()") get_edge_ids(graph = graph, vp = vp, directed = directed, error = error) } diff --git a/R/iterators.R b/R/iterators.R index 001c35850d..72661fb1dd 100644 --- a/R/iterators.R +++ b/R/iterators.R @@ -570,19 +570,19 @@ simple_vs_index <- function(x, i, na_ok = FALSE) { tmp[as.numeric(x)] } nei <- function(...) { - lifecycle::deprecate_stop("2.0.4", "nei()", ".nei()") + lifecycle::deprecate_stop("2.1.0", "nei()", ".nei()") } .innei <- function(v, mode = c("in", "all", "out", "total")) { .nei(v, mode = mode[1]) } innei <- function(...) { - lifecycle::deprecate_stop("2.0.4", "innei()", ".innei()") + lifecycle::deprecate_stop("2.1.0", "innei()", ".innei()") } .outnei <- function(v, mode = c("out", "all", "in", "total")) { .nei(v, mode = mode[1]) } outnei <- function(...) { - lifecycle::deprecate_stop("2.0.4", "outnei()", ".outnei()") + lifecycle::deprecate_stop("2.1.0", "outnei()", ".outnei()") } .inc <- function(e) { ## TRUE iff the vertex (in the vs) is incident @@ -598,10 +598,10 @@ simple_vs_index <- function(x, i, na_ok = FALSE) { tmp[as.numeric(x)] } inc <- function(...) { - lifecycle::deprecate_stop("2.0.4", "inc()", ".inc()") + lifecycle::deprecate_stop("2.1.0", "inc()", ".inc()") } adj <- function(...) { - lifecycle::deprecate_stop("2.0.4", "adj()", ".inc()") + lifecycle::deprecate_stop("2.1.0", "adj()", ".inc()") } .from <- function(e) { ## TRUE iff the vertex is the source of at least one edge in e @@ -616,7 +616,7 @@ simple_vs_index <- function(x, i, na_ok = FALSE) { tmp[as.numeric(x)] } from <- function(...) { - lifecycle::deprecate_stop("2.0.4", "from()", ".from()") + lifecycle::deprecate_stop("2.1.0", "from()", ".from()") } .to <- function(e) { ## TRUE iff the vertex is the target of at least one edge in e @@ -631,7 +631,7 @@ simple_vs_index <- function(x, i, na_ok = FALSE) { tmp[as.numeric(x)] } to <- function(...) { - lifecycle::deprecate_stop("2.0.4", "to()", ".to()") + lifecycle::deprecate_stop("2.1.0", "to()", ".to()") } graph <- get_vs_graph(x) @@ -917,10 +917,10 @@ simple_es_index <- function(x, i, na_ok = FALSE) { tmp[as.numeric(x)] } adj <- function(...) { - lifecycle::deprecate_stop("2.0.4", "adj()", ".inc()") + lifecycle::deprecate_stop("2.1.0", "adj()", ".inc()") } inc <- function(...) { - lifecycle::deprecate_stop("2.0.4", "inc()", ".inc()") + lifecycle::deprecate_stop("2.1.0", "inc()", ".inc()") } .from <- function(v) { ## TRUE iff the edge originates from at least one vertex in v @@ -932,7 +932,7 @@ simple_es_index <- function(x, i, na_ok = FALSE) { tmp[as.numeric(x)] } from <- function(...) { - lifecycle::deprecate_stop("2.0.4", "from()", ".from()") + lifecycle::deprecate_stop("2.1.0", "from()", ".from()") } .to <- function(v) { ## TRUE iff the edge points to at least one vertex in v @@ -944,7 +944,7 @@ simple_es_index <- function(x, i, na_ok = FALSE) { tmp[as.numeric(x)] } to <- function(...) { - lifecycle::deprecate_stop("2.0.4", "to()", ".to()") + lifecycle::deprecate_stop("2.1.0", "to()", ".to()") } graph <- get_es_graph(x) diff --git a/R/layout.R b/R/layout.R index c45ca363da..824e6373a5 100644 --- a/R/layout.R +++ b/R/layout.R @@ -646,7 +646,7 @@ as_tree <- function(...) layout_spec(layout_as_tree, ...) #' @keywords internal #' @export layout.reingold.tilford <- function(..., params = list()) { - lifecycle::deprecate_soft("2.0.4", "layout.reingold.tilford()", "layout_as_tree()") + lifecycle::deprecate_soft("2.1.0", "layout.reingold.tilford()", "layout_as_tree()") do_call(layout_as_tree, .args = c(list(...), params)) } @@ -707,7 +707,7 @@ in_circle <- function(...) layout_spec(layout_in_circle, ...) #' @keywords internal #' @export layout.circle <- function(..., params = list()) { - lifecycle::deprecate_soft("2.0.4", "layout.circle()", "layout_in_circle()") + lifecycle::deprecate_soft("2.1.0", "layout.circle()", "layout_in_circle()") do_call(layout_in_circle, .args = c(list(...), params)) } @@ -889,7 +889,7 @@ on_grid <- function(...) layout_spec(layout_on_grid, ...) #' @export #' @keywords internal layout.grid.3d <- function(graph, width = 0, height = 0) { - lifecycle::deprecate_stop("2.0.4", "layout.grid.3d()", "layout_on_grid()") + lifecycle::deprecate_stop("2.1.0", "layout.grid.3d()", "layout_on_grid()") } ## ---------------------------------------------------------------- @@ -937,7 +937,7 @@ on_sphere <- function(...) layout_spec(layout_on_sphere, ...) #' @keywords internal #' @export layout.sphere <- function(..., params = list()) { - lifecycle::deprecate_soft("2.0.4", "layout.sphere()", "layout_on_sphere()") + lifecycle::deprecate_soft("2.1.0", "layout.sphere()", "layout_on_sphere()") do_call(layout_on_sphere, .args = c(list(...), params)) } @@ -990,7 +990,7 @@ randomly <- function(...) layout_spec(layout_randomly, ...) #' @keywords internal #' @export layout.random <- function(..., params = list()) { - lifecycle::deprecate_soft("2.0.4", "layout.random()", "layout_randomly()") + lifecycle::deprecate_soft("2.1.0", "layout.random()", "layout_randomly()") do_call(layout_randomly, .args = c(list(...), params)) } @@ -1314,7 +1314,7 @@ with_fr <- function(...) layout_spec(layout_with_fr, ...) #' @keywords internal #' @export layout.fruchterman.reingold <- function(..., params = list()) { - lifecycle::deprecate_soft("2.0.4", "layout.fruchterman.reingold()", "layout_with_fr()") + lifecycle::deprecate_soft("2.1.0", "layout.fruchterman.reingold()", "layout_with_fr()") do_call(layout_with_fr, .args = c(list(...), params)) } @@ -1616,7 +1616,7 @@ with_kk <- function(...) layout_spec(layout_with_kk, ...) #' @keywords internal #' @export layout.kamada.kawai <- function(..., params = list()) { - lifecycle::deprecate_soft("2.0.4", "layout.kamada.kawai()", "layout_with_kk()") + lifecycle::deprecate_soft("2.1.0", "layout.kamada.kawai()", "layout_with_kk()") do_call(layout_with_kk, .args = c(list(...), params)) } @@ -1687,7 +1687,7 @@ with_lgl <- function(...) layout_spec(layout_with_lgl, ...) #' @keywords internal #' @export layout.lgl <- function(..., params = list()) { - lifecycle::deprecate_soft("2.0.4", "layout.lgl()", "layout_with_lgl()") + lifecycle::deprecate_soft("2.1.0", "layout.lgl()", "layout_with_lgl()") do_call(layout_with_lgl, .args = c(list(...), params)) } @@ -2253,7 +2253,7 @@ layout_components <- function(graph, layout = layout_with_kk, ...) { #' @export #' @keywords internal layout.spring <- function(graph, ...) { - lifecycle::deprecate_warn("2.0.4", "layout.spring()", "layout_with_fr()") + lifecycle::deprecate_warn("2.1.0", "layout.spring()", "layout_with_fr()") layout_with_fr(graph) } @@ -2271,7 +2271,7 @@ layout.spring <- function(graph, ...) { #' @keywords internal #' @export layout.svd <- function(graph, ...) { - lifecycle::deprecate_warn("2.0.4", "layout.svd()", "layout_with_fr()") + lifecycle::deprecate_warn("2.1.0", "layout.svd()", "layout_with_fr()") layout_with_fr(graph) } @@ -2291,7 +2291,7 @@ layout.svd <- function(graph, ...) { #' @export layout.fruchterman.reingold.grid <- function(graph, ...) { lifecycle::deprecate_warn( - "2.0.4", + "2.1.0", "layout.fruchterman.reingold.grid()", "layout_with_fr()" ) diff --git a/R/make.R b/R/make.R index 541b0c93c0..2e94863bff 100644 --- a/R/make.R +++ b/R/make.R @@ -10,7 +10,7 @@ #' @keywords internal #' @export graph <- function(edges , ... , n = max(edges) , isolates = NULL , directed = TRUE , dir = directed , simplify = TRUE) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph()", "make_graph()") + lifecycle::deprecate_soft("2.1.0", "graph()", "make_graph()") if (inherits(edges, "formula")) { if (!missing(n)) stop("'n' should not be given for graph literals") if (!missing(isolates)) { @@ -103,7 +103,7 @@ graph <- function(edges , ... , n = max(edges) , isolates = NULL , directed = TR #' @keywords internal #' @export graph.famous <- function(edges , ... , n = max(edges) , isolates = NULL , directed = TRUE , dir = directed , simplify = TRUE) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.famous()", "make_graph()") + lifecycle::deprecate_soft("2.1.0", "graph.famous()", "make_graph()") if (inherits(edges, "formula")) { if (!missing(n)) stop("'n' should not be given for graph literals") if (!missing(isolates)) { @@ -196,7 +196,7 @@ graph.famous <- function(edges , ... , n = max(edges) , isolates = NULL , direct #' @keywords internal #' @export line.graph <- function(graph) { # nocov start - lifecycle::deprecate_soft("2.0.4", "line.graph()", "make_line_graph()") + lifecycle::deprecate_soft("2.1.0", "line.graph()", "make_line_graph()") ensure_igraph(graph) on.exit(.Call(R_igraph_finalizer)) @@ -218,7 +218,7 @@ line.graph <- function(graph) { # nocov start #' @keywords internal #' @export graph.ring <- function(n , directed = FALSE , mutual = FALSE , circular = TRUE) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.ring()", "make_ring()") + lifecycle::deprecate_soft("2.1.0", "graph.ring()", "make_ring()") on.exit(.Call(R_igraph_finalizer)) res <- .Call( R_igraph_ring, as.numeric(n), as.logical(directed), @@ -243,7 +243,7 @@ graph.ring <- function(n , directed = FALSE , mutual = FALSE , circular = TRUE) #' @keywords internal #' @export graph.tree <- function(n , children = 2 , mode = c("out","in","undirected")) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.tree()", "make_tree()") + lifecycle::deprecate_soft("2.1.0", "graph.tree()", "make_tree()") mode <- igraph.match.arg(mode) mode1 <- switch(mode, "out" = 0, @@ -275,7 +275,7 @@ graph.tree <- function(n , children = 2 , mode = c("out","in","undirected")) { # #' @keywords internal #' @export graph.star <- function(n , mode = c("in","out","mutual","undirected") , center = 1) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.star()", "make_star()") + lifecycle::deprecate_soft("2.1.0", "graph.star()", "make_star()") mode <- igraph.match.arg(mode) mode1 <- switch(mode, "out" = 0, @@ -312,7 +312,7 @@ graph.star <- function(n , mode = c("in","out","mutual","undirected") , center = #' @keywords internal #' @export graph.lcf <- function(n , shifts , repeats = 1) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.lcf()", "graph_from_lcf()") + lifecycle::deprecate_soft("2.1.0", "graph.lcf()", "graph_from_lcf()") # Argument checks n <- as.numeric(n) shifts <- as.numeric(shifts) @@ -341,7 +341,7 @@ graph.lcf <- function(n , shifts , repeats = 1) { # nocov start #' @export #' @cdocs igraph_square_lattice graph.lattice <- function(dimvector = NULL , length = NULL , dim = NULL , nei = 1 , directed = FALSE , mutual = FALSE , periodic = FALSE, circular = deprecated()) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.lattice()", "make_lattice()") + lifecycle::deprecate_soft("2.1.0", "graph.lattice()", "make_lattice()") if (is.numeric(length) && length != floor(length)) { warning("length was rounded to the nearest integer") length <- round(length) @@ -392,7 +392,7 @@ graph.lattice <- function(dimvector = NULL , length = NULL , dim = NULL , nei = #' @keywords internal #' @export graph.kautz <- function(m , n) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.kautz()", "make_kautz_graph()") + lifecycle::deprecate_soft("2.1.0", "graph.kautz()", "make_kautz_graph()") on.exit(.Call(R_igraph_finalizer)) res <- .Call(R_igraph_kautz, as.numeric(m), as.numeric(n)) if (igraph_opt("add.params")) { @@ -414,7 +414,7 @@ graph.kautz <- function(m , n) { # nocov start #' @keywords internal #' @export graph.full.citation <- function(n , directed = TRUE) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.full.citation()", "make_full_citation_graph()") + lifecycle::deprecate_soft("2.1.0", "graph.full.citation()", "make_full_citation_graph()") # Argument checks n <- as.numeric(n) directed <- as.logical(directed) @@ -438,7 +438,7 @@ graph.full.citation <- function(n , directed = TRUE) { # nocov start #' @keywords internal #' @export graph.full.bipartite <- function(n1 , n2 , directed = FALSE , mode = c("all","out","in")) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.full.bipartite()", "make_full_bipartite_graph()") + lifecycle::deprecate_soft("2.1.0", "graph.full.bipartite()", "make_full_bipartite_graph()") n1 <- as.numeric(n1) n2 <- as.numeric(n2) directed <- as.logical(directed) @@ -471,7 +471,7 @@ graph.full.bipartite <- function(n1 , n2 , directed = FALSE , mode = c("all","ou #' @keywords internal #' @export graph.full <- function(n , directed = FALSE , loops = FALSE) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.full()", "make_full_graph()") + lifecycle::deprecate_soft("2.1.0", "graph.full()", "make_full_graph()") on.exit(.Call(R_igraph_finalizer)) res <- .Call( R_igraph_full, as.numeric(n), as.logical(directed), @@ -495,7 +495,7 @@ graph.full <- function(n , directed = FALSE , loops = FALSE) { # nocov start #' @keywords internal #' @export graph.formula <- function(... , simplify = TRUE) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.formula()", "graph_from_literal()") + lifecycle::deprecate_soft("2.1.0", "graph.formula()", "graph_from_literal()") mf <- as.list(match.call())[-1] graph_from_literal_i(mf) } # nocov end @@ -511,7 +511,7 @@ graph.formula <- function(... , simplify = TRUE) { # nocov start #' @keywords internal #' @export graph.extended.chordal.ring <- function(n , w , directed = FALSE) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.extended.chordal.ring()", "make_chordal_ring()") + lifecycle::deprecate_soft("2.1.0", "graph.extended.chordal.ring()", "make_chordal_ring()") on.exit(.Call(R_igraph_finalizer)) res <- .Call( R_igraph_extended_chordal_ring, as.numeric(n), @@ -535,7 +535,7 @@ graph.extended.chordal.ring <- function(n , w , directed = FALSE) { # nocov star #' @keywords internal #' @export graph.empty <- function(n = 0 , directed = TRUE) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.empty()", "make_empty_graph()") + lifecycle::deprecate_soft("2.1.0", "graph.empty()", "make_empty_graph()") # Argument checks n <- as.numeric(n) directed <- as.logical(directed) @@ -558,7 +558,7 @@ graph.empty <- function(n = 0 , directed = TRUE) { # nocov start #' @keywords internal #' @export graph.de.bruijn <- function(m , n) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.de.bruijn()", "make_de_bruijn_graph()") + lifecycle::deprecate_soft("2.1.0", "graph.de.bruijn()", "make_de_bruijn_graph()") on.exit(.Call(R_igraph_finalizer)) res <- .Call(R_igraph_de_bruijn, as.numeric(m), as.numeric(n)) if (igraph_opt("add.params")) { @@ -580,7 +580,7 @@ graph.de.bruijn <- function(m , n) { # nocov start #' @keywords internal #' @export graph.bipartite <- function(types , edges , directed = FALSE) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.bipartite()", "make_bipartite_graph()") + lifecycle::deprecate_soft("2.1.0", "graph.bipartite()", "make_bipartite_graph()") vertex.names <- names(types) if (is.character(edges)) { @@ -619,7 +619,7 @@ graph.bipartite <- function(types , edges , directed = FALSE) { # nocov start #' @keywords internal #' @export graph.atlas <- function(n) { # nocov start - lifecycle::deprecate_soft("2.0.4", "graph.atlas()", "graph_from_atlas()") + lifecycle::deprecate_soft("2.1.0", "graph.atlas()", "graph_from_atlas()") on.exit(.Call(R_igraph_finalizer)) res <- .Call(R_igraph_atlas, as.numeric(n)) if (igraph_opt("add.params")) { @@ -889,7 +889,7 @@ sample_ <- function(...) { #' graph_(cbind(1:5, 2:6), from_edgelist(), directed = FALSE) graph_ <- function(...) { lifecycle::deprecate_soft( - "2.0.4", + "2.1.0", "graph_()", details = c( "Please use constructors directly, for instance graph_from_edgelist().", diff --git a/R/similarity.R b/R/similarity.R index 91e82e8d6d..174f8d6eae 100644 --- a/R/similarity.R +++ b/R/similarity.R @@ -92,7 +92,7 @@ similarity.jaccard <- function(graph, ) lifecycle::deprecate_soft( - "2.0.4", + "2.1.0", "similarity.jaccard()", 'similarity(method)', details = 'similarity(method = "jaccard")' @@ -121,7 +121,7 @@ similarity.dice <- function(graph, ) lifecycle::deprecate_soft( - "2.0.4", + "2.1.0", "similarity.dice()", 'similarity(method)', details = 'similarity(method = "dice")' @@ -148,7 +148,7 @@ similarity.invlogweighted <- function(graph, ) lifecycle::deprecate_soft( - "2.0.4", + "2.1.0", "similarity.invlogweighted()", 'similarity(method)', details = 'similarity(method = "invlogweighted")' diff --git a/R/structural.properties.R b/R/structural.properties.R index d765c2fc22..69d53c59a0 100644 --- a/R/structural.properties.R +++ b/R/structural.properties.R @@ -1245,7 +1245,7 @@ subgraph_from_edges <- function(graph, eids, delete.vertices = TRUE) { #' @keywords internal #' @export subgraph.edges <- function(graph, eids, delete.vertices = TRUE) { # nocov start - lifecycle::deprecate_soft("2.0.4", "subgraph.edges()", "subgraph_from_edges()") + lifecycle::deprecate_soft("2.1.0", "subgraph.edges()", "subgraph_from_edges()") subgraph_from_edges(graph = graph, eids = eids, delete.vertices = delete.vertices) } # nocov end From 34a34ed2cce7c50449167032c99a3c70b1d6a2bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kirill=20M=C3=BCller?= Date: Thu, 26 Sep 2024 13:17:23 +0200 Subject: [PATCH 5/7] Document --- man/dot-apply_modifiers.Rd | 1 - man/dot-extract_constructor_and_modifiers.Rd | 1 - man/dot-igraph.progress.Rd | 1 - man/dot-igraph.status.Rd | 1 - man/handle_vertex_type_arg.Rd | 1 - 5 files changed, 5 deletions(-) diff --git a/man/dot-apply_modifiers.Rd b/man/dot-apply_modifiers.Rd index 0aa08bbb27..bab4f19786 100644 --- a/man/dot-apply_modifiers.Rd +++ b/man/dot-apply_modifiers.Rd @@ -18,4 +18,3 @@ The modified graph This is a helper function for the common parts of \code{make_()} and \code{sample_()}. } -\keyword{internal} diff --git a/man/dot-extract_constructor_and_modifiers.Rd b/man/dot-extract_constructor_and_modifiers.Rd index ab9dcc29f4..15b2a21db9 100644 --- a/man/dot-extract_constructor_and_modifiers.Rd +++ b/man/dot-extract_constructor_and_modifiers.Rd @@ -26,4 +26,3 @@ remaining, unparsed arguments. This is a helper function for the common parts of \code{make_()} and \code{sample_()}. } -\keyword{internal} diff --git a/man/dot-igraph.progress.Rd b/man/dot-igraph.progress.Rd index faf598c5c6..90ffed8bee 100644 --- a/man/dot-igraph.progress.Rd +++ b/man/dot-igraph.progress.Rd @@ -12,4 +12,3 @@ \description{ igraph progress } -\keyword{internal} diff --git a/man/dot-igraph.status.Rd b/man/dot-igraph.status.Rd index 2ae44620bb..d729a86358 100644 --- a/man/dot-igraph.status.Rd +++ b/man/dot-igraph.status.Rd @@ -9,4 +9,3 @@ \description{ igraph status } -\keyword{internal} diff --git a/man/handle_vertex_type_arg.Rd b/man/handle_vertex_type_arg.Rd index 194c91cbb6..3466c166f6 100644 --- a/man/handle_vertex_type_arg.Rd +++ b/man/handle_vertex_type_arg.Rd @@ -30,4 +30,3 @@ vectors after printing a warning. \author{ Tamas Nepusz \email{ntamas@gmail.com} } -\keyword{internal} From 31293915add4d46e1993e949dfbc7be40bf3e1f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kirill=20M=C3=BCller?= Date: Thu, 26 Sep 2024 13:17:36 +0200 Subject: [PATCH 6/7] Conditional examples --- R/layout.R | 2 +- R/palette.R | 4 ++-- man/diverging_pal.Rd | 2 ++ man/layout_in_circle.Rd | 2 +- man/sequential_pal.Rd | 2 ++ 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/R/layout.R b/R/layout.R index 824e6373a5..ef1c4332d2 100644 --- a/R/layout.R +++ b/R/layout.R @@ -669,7 +669,7 @@ layout.reingold.tilford <- function(..., params = list()) { #' @keywords graphs #' @export #' @family graph layouts -#' @examplesIf igraph:::has_glpk() +#' @examplesIf igraph:::has_glpk() && rlang::is_installed("igraphdata") #' #' ## Place vertices on a circle, order them according to their #' ## community diff --git a/R/palette.R b/R/palette.R index e684e147e5..92f4ae3d6d 100644 --- a/R/palette.R +++ b/R/palette.R @@ -82,7 +82,7 @@ categorical_pal <- function(n) { #' #' @family palettes #' @export -#' @examples +#' @examplesIf rlang::is_installed("igraphdata") #' library(igraphdata) #' data(karate) #' karate <- karate %>% @@ -139,7 +139,7 @@ sequential_pal <- function(n) { #' #' @family palettes #' @export -#' @examples +#' @examplesIf rlang::is_installed("igraphdata") #' library(igraphdata) #' data(foodwebs) #' fw <- foodwebs[[1]] %>% diff --git a/man/diverging_pal.Rd b/man/diverging_pal.Rd index 489d13b79b..2dfdd6c350 100644 --- a/man/diverging_pal.Rd +++ b/man/diverging_pal.Rd @@ -24,6 +24,7 @@ Use this palette, if you have such a quantity to mark with vertex colors. } \examples{ +\dontshow{if (rlang::is_installed("igraphdata")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} library(igraphdata) data(foodwebs) fw <- foodwebs[[1]] \%>\% @@ -43,6 +44,7 @@ karate <- karate \%>\% V(karate)$color <- scales::dscale(degree(karate) \%>\% cut(5), diverging_pal) plot(karate) +\dontshow{\}) # examplesIf} } \seealso{ Other palettes: diff --git a/man/layout_in_circle.Rd b/man/layout_in_circle.Rd index 3359d93f83..2a8615f48a 100644 --- a/man/layout_in_circle.Rd +++ b/man/layout_in_circle.Rd @@ -29,7 +29,7 @@ If you want to order the vertices differently, then permute them using the \code{\link[=permute]{permute()}} function. } \examples{ -\dontshow{if (igraph:::has_glpk()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +\dontshow{if (igraph:::has_glpk() && rlang::is_installed("igraphdata")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} ## Place vertices on a circle, order them according to their ## community diff --git a/man/sequential_pal.Rd b/man/sequential_pal.Rd index 12df0abb5a..e5b898516e 100644 --- a/man/sequential_pal.Rd +++ b/man/sequential_pal.Rd @@ -23,6 +23,7 @@ centrality measure, or some ordinal vertex covariate, like the age of people, or their seniority level. } \examples{ +\dontshow{if (rlang::is_installed("igraphdata")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} library(igraphdata) data(karate) karate <- karate \%>\% @@ -31,6 +32,7 @@ karate <- karate \%>\% V(karate)$color <- scales::dscale(degree(karate) \%>\% cut(5), sequential_pal) plot(karate) +\dontshow{\}) # examplesIf} } \seealso{ Other palettes: From fd8211336900898585a152bbf4694a6d93ed8046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kirill=20M=C3=BCller?= Date: Thu, 26 Sep 2024 13:18:27 +0200 Subject: [PATCH 7/7] vdiffr --- tests/testthat/test-bug-501-rectangles.R | 3 +++ tests/testthat/test-plot.R | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/testthat/test-bug-501-rectangles.R b/tests/testthat/test-bug-501-rectangles.R index 8e636f54d5..0145b643c6 100644 --- a/tests/testthat/test-bug-501-rectangles.R +++ b/tests/testthat/test-bug-501-rectangles.R @@ -1,5 +1,7 @@ test_that("Edges stop at outside of rectangle node", { + skip_if_not_installed("vdiffr") + rectangle_edges <- function() { g <- make_graph(c(1,2, 1,4, 2,1, 2,5, 2,3, 4,1, 5,2, 3,2)) layout <- cbind(c(-2.01, -1.16, -1.24, -2.74, -0.13), @@ -11,5 +13,6 @@ test_that("Edges stop at outside of rectangle node", { layout = layout ) } + vdiffr::expect_doppelganger("rectangle-edges", rectangle_edges) }) diff --git a/tests/testthat/test-plot.R b/tests/testthat/test-plot.R index b4f80f75bc..b1100a7cbe 100644 --- a/tests/testthat/test-plot.R +++ b/tests/testthat/test-plot.R @@ -1,4 +1,6 @@ test_that("basic plot test, layout 1", { + skip_if_not_installed("vdiffr") + g <- make_graph(c(1, 2, 1, 1, 2, 3), directed = F) g$layout <- structure( c( @@ -22,6 +24,8 @@ test_that("basic plot test, layout 1", { }) test_that("basic plot test, layout 2", { + skip_if_not_installed("vdiffr") + g <- make_graph(c(1, 2, 1, 1, 2, 3), directed = F) g$layout <- structure( c( @@ -45,6 +49,8 @@ test_that("basic plot test, layout 2", { }) test_that("basic plot test, spheres", { + skip_if_not_installed("vdiffr") + g <- make_graph(c(1, 2, 1, 1, 2, 3), directed = F) g$layout <- structure( c( @@ -68,7 +74,7 @@ test_that("basic plot test, spheres", { test_that("rglplot() works", { skip_if_not_installed("rgl") - + # https://stackoverflow.com/a/46320771/5489251 withr::local_envvar(RGL_USE_NULL = TRUE) withr::local_seed(42)