Skip to content

Latest commit

 

History

History
151 lines (102 loc) · 5.36 KB

File metadata and controls

151 lines (102 loc) · 5.36 KB

Version (development version)

New Features

  • progressify() now unwraps withCallingHandlers(), e.g. withCallingHandlers(lapply(xs, fcn), warning = ...) |> progressify().

  • Much more informative error messages when trying to progressify an S3 or S4 generic function call that dispatches to a method that is not supported, e.g. summary(fit) |> progressify(), and when trying to progressify a function that is not part of a package.

  • Error messages produced by progressify() now include the progressify version.

Bug Fixes

  • progressify() on an S3 or S4 generic function call, where the first argument is not a variable, e.g. summary(get_fit()) |> progressify(), would evaluate that argument twice. Now it is evaluated only once.

  • progressify() on an expression that is not a function call, e.g. { } or local({ }), would produce an obscure error on "invalid type/length (symbol/1) in vector allocation". Now it gives an informative error explaining that the expression is not a function call.

  • progressify() for mapply(), Map(), .mapply(), apply(), and tapply() would produce an error on object '.progressr_progressor' not found.

  • progressify() for future_mapply(), future_Map(), and future_.mapply() of future.apply would produce an error on length(idx_FUN) == 1L is not TRUE.

  • progressify() for future_apply() and future_tapply() of future.apply would produce an error on object '.progressr_progressor' not found.

  • progressify() for fwb() of fwb would produce an error if fwb() argument R was not specified.

  • progressify() for pmap() and pmap_*() of purrr, the corresponding future_pmap() and future_pmap_*() of furrr, pmap_vec() and future_pmap_vec() of crossmap, and .mapply() and future_.mapply() would produce an error on subscript out of bounds if there were zero elements to iterate over.

  • progressify() would evaluate the input argument twice, e.g. X of lapply(), .x of purrr::map(), n of replicate(), data of by(), .l of crossmap::xmap(), X of stats::dendrapply(), and the first iteration argument of foreach().

Version 0.2.0 [2026-05-31]

Significant Changes

  • Changed the package license to permissive Apache License (>= 2).

New Features

  • Add support for domain-specific CRAN package boot, e.g. res <- boot::boot(data, statistic, R = 100) |> progressify().

  • Add support for crossmap future_*() variants, e.g. y <- crossmap::future_xmap(xs, fcn) |> progressify().

  • Add support for furrr 0.4.0 *_vec() variants: future_map_vec(), future_map2_vec(), future_pmap_vec(), and future_imap_vec().

  • Add support for domain-specific CRAN package fwb, e.g. res <- fwb::fwb(data, statistic, R = 100) |> progressify().

  • Add support for domain-specific CRAN package lme4, e.g. res <- lme4::bootMer(fit, statistic, nsim = 100) |> progressify().

  • Add support for purrr::imap_vec().

  • Add support for domain-specific CRAN package sandwich, e.g. v <- sandwich::vcovBS(fit) |> progressify().

  • Add support for domain-specific CRAN package SimDesign, e.g. res <- SimDesign::runSimulation(design, replications, generate, analyse, summarise) |> progressify().

Version 0.1.0 (2026-04-01)

This is a retake of the previous, proof-of-concept version. Starting with this version, we are now borrowing from the futurize package, which implements closely related "parallelization" transpilers.

New Features

  • Add support for map-reduce CRAN package future.apply, e.g. y <- future.apply::future_lapply(xs, fcn) |> progressify().

  • Add support for CRAN package crossmap, e.g. y <- crossmap::xmap(xs, fcn) |> progressify().

  • Add support for purrr, e.g. y <- purrr::map(xs, fcn) |> progressify().

  • Add support for map-reduce CRAN package furrr, e.g. y <- furrr::future_map(xs, fcn) |> progressify().

  • Add support for map-reduce CRAN package foreach, e.g. y <- foreach(x = xs) %do% { fcn(x) } |> progressify().

  • Add support for map-reduce CRAN package doFuture, e.g. y <- foreach(x = xs) %dofuture% { fcn(x) } |> progressify().

  • Add support for plyr, e.g. y <- plyr::llply(xs, fcn) |> progressify().

  • Add support for replicate(), e.g. y <- replicate(n, rnorm(10)) |> progressify().

  • Add support for base-R package stats, e.g. d2 <- dendrapply(d, fcn) |> progressify().

  • Add support for domain-specific CRAN package partykit, e.g. y <- partykit::cforest(formula, data, ntree = 50L) |> progressify().

  • Add progressify_supported_packages() and progressify_supported_functions() for programmatically querying which packages and functions are supported by progressify().

Version 0.0.1 (2025-05-06)

New Features

  • The progressify() function makes common map-reduce functions report on progress. Progress notifications are relayed, among other things.

  • Add support for base R, e.g. y <- lapply(xs, fcn) |> progressify().

  • Add support for purrr, e.g. y <- map(xs, fcn) |> progressify().

  • Add support for foreach, e.g. y <- foreach(x = xs) %do% { fcn(x) } |> progressify().

  • Add support for plyr, e.g. y <- llply(xs, fcn) |> progressify().