Skip to content

Commit 40e8414

Browse files
Merge branch 'release/1.20.0'
2 parents 7ea9a97 + d23ef19 commit 40e8414

File tree

103 files changed

+2864
-1904
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+2864
-1904
lines changed

.Rbuildignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Rplots.pdf$
4949
# Package specific
5050
#----------------------------
5151
^[.]BatchJobs[.]R$
52-
[.]future
52+
^[.]future
5353

5454
#----------------------------
5555
# Miscellaneous

.github/.travis.yml

Lines changed: 0 additions & 67 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ labels: ''
66
assignees: ''
77

88
---
9-
(Please use <https://github.com/HenrikBengtsson/future/discussions> for Q&A)
9+
(Please use <https://github.com/futureverse/future/discussions> for Q&A)
1010

1111
**Describe the bug**
1212
A clear and concise description of what the bug is.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
lank_issues_enabled: true
22
contact_links:
33
- name: Support & Discussions
4-
url: https://github.com/HenrikBengtsson/future/discussions/
4+
url: https://github.com/futureverse/future/discussions/
55
about: Got a question? Something is not working? Want to share an idea?

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ labels: ''
66
assignees: ''
77

88
---
9-
(Please use <https://github.com/HenrikBengtsson/future/discussions> for Q&A)
9+
(Please use <https://github.com/futureverse/future/discussions> for Q&A)
1010

1111
**Wish or feature request**
1212
A clear and concise description of what the problem is. For example, I would like to be able to ...

.github/workflows/R-CMD-check.yaml

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,19 @@ jobs:
2222
- {os: macOS-latest, r: 'devel' }
2323
- {os: macOS-latest, r: 'release' }
2424
- {os: macOS-latest, r: 'oldrel' }
25-
- {os: ubuntu-latest, r: 'devel' }
25+
# - {os: ubuntu-latest, r: 'devel' }
2626
- {os: ubuntu-latest, r: 'release' }
2727
- {os: ubuntu-latest, r: 'oldrel' }
2828
- {os: ubuntu-latest, r: 'oldrel-1' }
2929
- {os: ubuntu-latest, r: 'oldrel-2' }
30-
- {os: ubuntu-latest, r: '3.6' }
30+
- {os: ubuntu-latest, r: '4.0' }
3131
- {os: ubuntu-latest, r: 'release' , language: ko, label: ko }
3232
- {os: ubuntu-latest, r: 'release' , globals_keepWhere: true, label: 'keepWhere' }
3333
- {os: ubuntu-latest, r: 'release' , globals_keepWhere: false, label: '!keepWhere' }
34+
- {os: windows-latest, r: 'devel', globals_version: develop, future_version: develop, label: 'w/ future-develop' }
35+
- {os: windows-latest, r: 'devel', future_version: develop, label: 'w/ future-develop' }
36+
- {os: ubuntu-latest, r: 'release', globals_version: develop, future_version: develop, label: 'w/ future-develop' }
37+
- {os: ubuntu-latest, r: 'release', future_version: develop, label: 'w/ future-develop' }
3438

3539
env:
3640
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
@@ -48,6 +52,8 @@ jobs:
4852
## Specific to futures
4953
R_FUTURE_RNG_ONMISUSE: error
5054
R_FUTURE_GLOBALS_KEEPWHERE: ${{ matrix.config.globals_keepWhere }}
55+
R_FUTURE_VERSION: ${{ matrix.config.future_version }}
56+
R_GLOBALS_VERSION: ${{ matrix.config.globals_version }}
5157

5258
steps:
5359
- uses: actions/checkout@v4
@@ -70,6 +76,20 @@ jobs:
7076
install.packages(".", repos = NULL, type = "source") ## needed by parallel workers
7177
shell: Rscript {0}
7278

79+
- name: Test with specific future version?
80+
run: |
81+
globals_version <- Sys.getenv("R_GLOBALS_VERSION")
82+
if (nzchar(globals_version)) {
83+
install.packages("remotes")
84+
remotes::install_github("futureverse/future", ref=globals_version)
85+
}
86+
future_version <- Sys.getenv("R_FUTURE_VERSION")
87+
if (nzchar(future_version)) {
88+
install.packages("remotes")
89+
remotes::install_github("futureverse/future", ref=future_version)
90+
}
91+
shell: Rscript {0}
92+
7393
- name: Session info
7494
run: |
7595
options(width = 100)

.github/workflows/test-coverage.yaml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
on: [push]
1+
on:
2+
workflow_dispatch: # Enables manual triggering
23

34
name: test-coverage.yaml
45

@@ -26,9 +27,16 @@ jobs:
2627

2728
- uses: r-lib/actions/setup-r-dependencies@v2
2829
with:
29-
extra-packages: any::covr, any::xml2
30+
extra-packages: any::covr, any::xml2, any::remotes
3031
needs: coverage
3132

33+
- name: Install itself
34+
run: |
35+
install.packages(".", repos = NULL, type = "source")
36+
remotes::install_github("futureverse/globals", ref = "develop")
37+
remotes::install_github("futureverse/future", ref = "develop")
38+
shell: Rscript {0}
39+
3240
- name: Test coverage
3341
run: |
3442
cov <- covr::package_coverage(

DESCRIPTION

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
Package: future.apply
2-
Version: 1.11.3
2+
Version: 1.20.0
33
Title: Apply Function to Elements in Parallel using Futures
44
Depends:
55
R (>= 3.2.0),
6-
future (>= 1.28.0)
6+
future (>= 1.49.0)
77
Imports:
8-
globals (>= 0.16.1),
8+
globals,
99
parallel,
1010
utils
1111
Suggests:
1212
datasets,
1313
stats,
1414
tools,
15-
listenv (>= 0.8.0),
15+
listenv,
1616
R.rsp,
1717
markdown
1818
VignetteBuilder: R.rsp
@@ -26,5 +26,7 @@ License: GPL (>= 2)
2626
LazyLoad: TRUE
2727
URL: https://future.apply.futureverse.org, https://github.com/futureverse/future.apply
2828
BugReports: https://github.com/futureverse/future.apply/issues
29+
Language: en-US
30+
Encoding: UTF-8
2931
RoxygenNote: 7.3.2
3032
Roxygen: list(markdown = TRUE)

NAMESPACE

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,15 @@
22

33
S3method(future_by,data.frame)
44
S3method(future_by,default)
5+
S3method(future_kernapply,default)
6+
S3method(future_kernapply,ts)
57
export(future_.mapply)
8+
export(future_Filter)
69
export(future_Map)
710
export(future_apply)
811
export(future_by)
912
export(future_eapply)
13+
export(future_kernapply)
1014
export(future_lapply)
1115
export(future_mapply)
1216
export(future_replicate)
@@ -15,17 +19,21 @@ export(future_tapply)
1519
export(future_vapply)
1620
importFrom(future,Future)
1721
importFrom(future,FutureError)
22+
importFrom(future,FutureInterruptError)
1823
importFrom(future,as.FutureGlobals)
24+
importFrom(future,cancel)
1925
importFrom(future,future)
2026
importFrom(future,getGlobalsAndPackages)
2127
importFrom(future,nbrOfWorkers)
2228
importFrom(future,resolve)
2329
importFrom(future,value)
2430
importFrom(globals,findGlobals)
2531
importFrom(globals,globalsByName)
26-
importFrom(parallel,nextRNGStream)
27-
importFrom(parallel,nextRNGSubStream)
2832
importFrom(parallel,splitIndices)
33+
importFrom(stats,end)
34+
importFrom(stats,frequency)
35+
importFrom(stats,kernapply)
36+
importFrom(stats,ts)
2937
importFrom(utils,capture.output)
3038
importFrom(utils,globalVariables)
3139
importFrom(utils,head)

NEWS.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,36 @@
1+
# Version 1.20.0 [2025-06-06]
2+
3+
## Significant changes
4+
5+
* All **future.apply** functions will now cancel any remaining
6+
non-resolved futures if one of the futures produces an error, or a
7+
user interrupt (Ctrl-C) is detected. If the backend where the
8+
futures are running supports it, the canceled futures are also
9+
interrupted, which results in compute resources being freed up
10+
sooner and the **future.apply** function returning sooner.
11+
12+
## New Features
13+
14+
* Added `future_Filter()`, which is parallel version of
15+
`base::Filter()`.
16+
17+
* Added `future_kernapply()`, which is parallel version of
18+
`stats::kernapply()`.
19+
20+
* Now **future.apply** lets **future** take care of the generation of
21+
parallel RNG seed. Consolidating random number generation to the
22+
core package will allow us to add central support for custom
23+
parallel RNG methods beyond the built-in L'Ecuyer-CMRG method.
24+
25+
## Deprecated and Defunct
26+
27+
* Specifying the function `FUN` for `future_by()` as a character
28+
string is defunct. It should be specified as a function, e.g. `FUN
29+
= sqrt` and ``FUN = `[[` ``, which is what `base::by()`
30+
requires. Use of a string has been deprecated since
31+
**future.apply** 1.10.0 (2022-11-04).
32+
33+
134
# Version 1.11.3 [2024-10-27]
235

336
## Bug Fixes
@@ -10,7 +43,8 @@
1043

1144
## Miscellaneous
1245

13-
* Relaxed on unit test that triggered an error on 32-bit architectures.
46+
* Relaxed one unit test that triggered an error on 32-bit
47+
architectures.
1448

1549

1650
# Version 1.11.1 [2023-12-19]

0 commit comments

Comments
 (0)