- parallel = TRUE now errors with a cli-styled message if no non-sequential
future::plan() is active; users must call e.g. future::plan(future::multisession)
before using parallel = TRUE (breaking change)
- Removed auto-setup/teardown of multisession plan inside as.sir(), which was
slow and caused version-mismatch issues with load_all() workflows
- Added as_wt_nwt to the exclusion list in as_sir_method() to suppress
false-positive "no longer used" warnings during parallel runs
- Fixed pieces_per_col row-batch calculation to use n_workers (total available
workers from the active plan) instead of n_cores (workers clipped to n_cols),
so row-batch mode activates correctly when n_cols < n_workers
- Updated @param parallel and @param max_cores roxygen docs; regenerated man/as.sir.Rd
- Updated sequential-mode hint to instruct users to set plan() first
https://claude.ai/code/session_01M1Jvf2Miu6JL4TQrEh1wS8
Replace parallel::mclapply() and parallel::parLapply() with
future.apply::future_lapply(), enabling transparent support for any
future backend (multisession, multicore, mirai_multisession, cluster)
on all platforms including Windows.
When parallel = TRUE the function now: (1) respects an active
future::plan() set by the user without overriding it on exit, or
(2) sets a temporary multisession plan with parallelly::availableCores()
and tears it down on exit. The max_cores argument controls worker count
only when no user plan is active.
future and future.apply are added to Suggests in DESCRIPTION.
https://claude.ai/code/session_01M1Jvf2Miu6JL4TQrEh1wS8