forked from futureverse/future.apply
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNEWS
More file actions
259 lines (151 loc) · 7.42 KB
/
NEWS
File metadata and controls
259 lines (151 loc) · 7.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
Package: future.apply
=====================
Version: 1.8.1-9002 [2021-11-30]
SIGNIFICANT CHANGES:
* future_mapply() and future_Map() was updated to match the new behavior of
mapply() and Map() in R-devel (to become R 4.2.0), which follows the
"max-or-0-if-any" recycling rule.
DEPRECATED AND DEFUNCT:
* Removed moot argument 'future.lazy' from all functions. Regardless of
setting it to TRUE or FALSE, futures would be resolved momentarily and
always before the apply returned.
Version: 1.8.1 [2021-08-09]
BUG FIX:
* citEntry() in CITATION used argument 'notes' instead of 'note'.
Version: 1.8.0 [2021-08-09]
NEW FEATURES:
* Add argument 'future.envir' to all future_nnn() functions, which is passed
as argument 'envir' to future().
* Add option 'future.apply.debug' for debugging features specific to this
package. It defaults to option 'future.debug'.
PERFORMANCE:
* Internal getGlobalsAndPackagesXApply() now avoids calculating the object
size of '...' arguments if option 'future.globals.maxSize' is +Inf.
BUG FIX:
* f <- function(...) future_lapply(X, function(x) list(...)); f(a=1) would
produce an error on 'unused argument (a = 1)" with the upcoming release
of future 1.22.0.
Version: 1.7.0 [2021-01-02]
NEW FEATURES:
* The automatic capturing of conditions can be disabled by specifying
'future.conditions = NULL'.
* Warnings and errors on using the RNG without specifying 'future.seed'
are now tailored to the 'future.apply' package.
Version: 1.6.0 [2020-06-30]
SIGNIFICANT CHANGES:
* future_apply() gained argument 'simplify', which is added to R-devel
(to become R 4.1.0).
BUG FIXES:
* future_apply(X, FUN, ...) would pass all 'future.*' arguments except
'future.globals', 'future.packages', and 'future.labels' to the 'FUN'
function instead of processing them locally. This would often result in
the 'FUN' producing an error on "unused argument". It also affected
'future.seed' not being applied, which means for some 'FUN' functions
that did not produce this error, non-reproducible results could have
been produced.
Version: 1.5.0 [2020-04-16]
NEW FEATURES:
* Add future_.mapply() corresponding to .mapply() in the 'base' package.
BUG FIXES:
* future_mapply() would chunk up 'MoreArgs' when future.seed = TRUE.
Version: 1.4.0 [2020-01-06]
NEW FEATURES:
* Now all future_nnn() functions set a label on each future that reflects the
name of the future_nnn() function and the index of the chunk, e.g.
'future_lapply-3'. The format can be controlled by argument 'future.label'.
PERFORMANCE:
* The assertion of the maximum size of globals per chunk is now significantly
faster for future_apply().
BUG FIXES:
* future_lapply(X) and future_mapply(FUN, X) would drop 'names' argument of
the returned empty list when length(X) == 0.
* Package could set '.Random.seed' to NULL, instead of removing it, which in
turn would produce a warning on "'.Random.seed' is not an integer vector but
of type 'NULL', so ignored" when the next random number generated.
Version: 1.3.0 [2019-06-17]
NEW FEATURES:
* Now 'future.conditions' defaults to the same as argument 'conditions'
of future::future(). If the latter changes, this package will follow.
* Debug messages are now prepended with a timestamp.
BUG FIXES:
* The error "sprintf(...) : 'fmt' length exceeds maximal format length 8192"
could be produced when debugging tried to report on too many globals.
Version: 1.2.0 [2019-03-06]
NEW FEATURES:
* Added future_by().
BUG FIXES:
* Attributes 'add' and 'ignore' of argument 'future.globals' were ignored
although support for them was added in future (>= 1.10.0).
* Validation of L'Ecuyer-CMRG RNG seeds failed in recent R devel.
Version: 1.1.0 [2019-01-16]
SIGNIFICANT CHANGES:
* Added argument 'future.stdout' and 'future.conditions' for controlling
whether standard output and conditions (e.g. messages and warnings) produced
during the evaluation of futures should be captured and relayed or not.
Standard output is guaranteed to be relayed in the same order as it would
when using sequential processing. Analogously for conditions. However,
standard output is always relayed before conditions. Errors are always
relayed. Relaying of non-error conditions requires future (>= 1.11.0).
NEW FEATURES:
* Elements can be processed in random order by setting attribute 'ordering'
to "random" of argument 'future.chunk.size' or 'future.scheduling', e.g.
future.chunk.size = structure(TRUE, ordering = "random"). This can help
improve load balancing in cases where there is a correlation between
processing time and ordering of the elements. Note that the order of the
returned values is not affected when randomizing the processing order.
* Swapped order of arguments 'future.lazy' and 'future.seed' to be consistent
with ditto arguments of future::future().
Version: 1.0.1 [2018-08-26]
DOCUMENTATION / LICENCE:
* The license is GPL (>= 2). Previously it was documented as GPL (>= 2.1)
but that is a non-existing GPL version.
BUG FIXES:
* For list objects 'X' where X != as.list(X), future_lapply(X) did not
give the same result as lapply(X). Analogously for future_vapply(X).
* future_mapply() could drop class attribute on elements iterated over,
because .subset() was used internally instead of `[`(). For instance,
iteration over Date objects were affected.
Version: 1.0.0 [2018-06-19]
SIGNIFICANT CHANGES:
* License changed from LGPL (>= 2.1) to GPL (>= 2) to make sure it is
compatible with the source code adopted from R base's apply(), Map(),
replicate(), sapply(), and tapply(), which are all GPL (>= 2).
NEW FEATURES:
* Added future_apply(), future_mapply(), and future_Map().
* Added argument `future.chunk.size` as an alternative to argument
`future.scheduling` for controlling the average number of elements
processed per future ("chunk"). In R 3.5.0, the parallel package
introduced argument 'chunk.size'.
* The maximum total size of globals allowed (option 'future.globals.maxSize')
per future ("chunk") is now scaled up by the number of elements processed by
the future ("chunk") making the protection approximately invariant to the
amount of chunking (arguments 'future.scheduling' and 'future.chunk.size').
BUG FIXES:
* future_lapply(X, ...) did not search for globals in 'X'.
* future_vapply() did not return the same dimension names as vapply() when
FUN.VALUE had no names but FUN(X[[1]]) had.
SOFTWARE QUALITY:
* Test code coverage is 100%.
Version: 0.2.0 [2018-05-01]
NEW FEATURES:
* Added future_eapply(), future_tapply(), future_vapply(), and
future_replicate().
Version: 0.1.0 [2018-01-15]
* Package submitted to CRAN.
Version: 0.0.3 [2017-12-06]
DOCUMENTATION:
* Vignette now covers the basics of the package and describes its role
in the R package ecosystem together with a road map going forward.
SOFTWARE QUALITY:
* Added more package tests. Code coverage is currently at 100%.
Version: 0.0.2 [2017-12-06]
PERFORMANCE:
* future_lapply(x, ...) is now much faster and more memory efficient for
large 'x' vectors because it uses internal fold() function that is more
efficient (memory and speed) version of base::Reduce(f, x), especially
when length(x) is large.
Version: 0.0.0-9000 [2017-08-31]
NEW FEATURES:
* Added future_sapply().
* Added future_lapply() - originally from the future package.
* Created package.