1+ # Version 1.69.0 [ 2026-01-15]
2+
3+ ## Significant Changes
4+
5+ * Removed generic function ` as.cluster() ` , which has been re-exported
6+ from the ** parallelly** package since 2020. If needed, please use
7+ it from the ** parallelly** package instead.
8+
9+ ## New Features
10+
11+ * Add ` conditionMessage() ` for ` FutureCondition ` , which appends
12+ meta-data information to the original message.
13+
14+ * Add more metadata to ` FutureCondition ` objects by default, e.g. in
15+ which session (including UUID, hostname, and PID) and when the
16+ condition was created.
17+
18+ * ` print() ` on a Future outputs a description of the current state.
19+
20+ ## Bug Fixes
21+
22+ * ` makeClusterFuture() ` clusters would not signal errors as other
23+ ** parallel** clusters. Instead they were signals as-is instantly.
24+
25+ * ` future(..., packages = "missing-package") ` did not result in an
26+ error despite requesting a non-installed package.
27+
28+ * ` plan(..., interrupts = ...) ` would produce a warning on "Detected
29+ 1 unknown future arguments: 'interrupts'" for third-party future
30+ backends.
31+
32+ * ` plan(cluster, workers = parallelly::makeClusterSequential()) ` would
33+ erase the global environment as soon as a future is launched.
34+
35+ * ` resolved() ` on a 'cluster' future would produce a warning when
36+ using a ` parallelly::makeClusterSequential()) ` cluster.
37+
38+ ## Deprecated and Defunct
39+
40+ * The ` cluster ` backend now defaults to ` earlySignal = FALSE ` . This
41+ was effectively already the case, because of an internal thinko
42+ bug.
43+
44+ * Remove arguments ` earlySignal ` and ` gc ` from ` future() ` ,
45+ ` futureAssign() ` , and ` futureCall() ` . Attempts to set them produce
46+ deprecation warnings. Deprecated also hidden argument ` local ` ,
47+ which was kept around for legacy reasons.
48+
49+ * Use of ` plan(..., earlySignal = ...) ` is now deprecated and
50+ produces a deprecation warning.
51+
52+ * Remove argument ` run ` from ` resolved() ` . Attempts to set it
53+ produces a deprecation warning.
54+
55+ * Remove internal future field ` envir ` .
56+
57+
158# Version 1.68.0 [ 2025-11-16]
259
360This is the fifth rollout out of several towards a near-future major
@@ -19,7 +76,7 @@ repeat. This release fixes a few more regressions introduced in
1976
2077 * The ` cluster ` backend failed when used with an ` MPIcluster ` as
2178 created by ` parallel::makeCluster(..., type = "MPI") ` . This bug was
22- introduced in ** future** (>= 1.40.0) [ 2025-04-10] .
79+ introduced in ** future** 1.40.0 [ 2025-04-10] .
2380
2481 * Setting ` R_FUTURE_PLAN=multisession ` in an Renviron file, or a
2582 shell startup script, would result in a "fork bomb" when loading
@@ -28,7 +85,7 @@ repeat. This release fixes a few more regressions introduced in
2885 loaded instead of being deferred to when the first future launched.
2986 This resulted in new, nested R workers being created recursively,
3087 until the machine ran out of resources. This bug was introduced in
31- ** future** (>= 1.67.0) [ 2025-07-29] .
88+ ** future** 1.67.0 [ 2025-07-29] .
3289
3390 * `` value(..., reduce = structure(`+`, init = 42)) `` is not
3491 supported, because `` `+` `` is a primitive function and one must
@@ -63,8 +120,8 @@ repeat. This release fixes a few more regressions introduced in
63120 * The pre-validation of the cluster worker allotted to a future when
64121 launched was unnecessarily expensive due to a thinko since
65122 ** future** 1.40.0 (2025-04-10), e.g. it would take ~ 0.1-0.2 seconds
66- for a multisession future, whereas after the fix it is effectly 0.0
67- seconds.
123+ for a multisession future, whereas after the fix it is effectively
124+ 0.0 seconds.
68125
69126 * Calling ` resolved() ` on a lazy ` ClusterFuture ` would collect the
70127 result for the first _ resolved_ future in order to free up one
0 commit comments