httpuv
httpuv ships almost nothing, which is what you want from the web server under Shiny
A side-by-side editorial comparison of callr and processx — release velocity, themes, recent moves, and the top alternatives to consider.
callr adds OpenTelemetry tracing, making R subprocess work observable across process boundaries
callr runs R code in fresh subprocesses and had been in maintenance for roughly two years — the 3.7.x releases are error-object polish, DLL handling, and Windows fixes. 3.8.0 breaks that pattern with a batch of substantive changes: pseudo-terminal support, carrier::crate() handling, configurable temp directories, honest non-zero exit statuses, and OpenTelemetry instrumentation.
processx adds kernel-level process pipelines after years of defensive fixes.
processx is the low-level subprocess engine underneath callr and much of the r-lib tooling stack. For several releases it shipped only hardening work: RNG hygiene, safer format strings, signal handling around terminated parents. Version 3.9.0 breaks that pattern with an experimental pipeline class.
callr runs R code in fresh subprocesses and had been in maintenance for roughly two years — the 3.7.x releases are error-object polish, DLL handling, and Windows fixes. 3.8.0 breaks that pattern with a batch of substantive changes: pseudo-terminal support, carrier::crate() handling, configurable temp directories, honest non-zero exit statuses, and OpenTelemetry instrumentation.
The package is being repositioned from a convenience wrapper into infrastructure that production R workloads can be operated against. Tracing spans that propagate a W3C traceparent into the child process, plus exit codes that finally reflect failure, are both about making callr legible to systems outside R. The pty and libpath changes point the same way — toward callr hosting long-lived, externally managed sessions.
Expect the OpenTelemetry surface to spread to sibling packages in the processx/r-lib process stack, and further work on subprocess failure semantics now that non-zero exits are the default.
processx is the low-level subprocess engine underneath callr and much of the r-lib tooling stack. For several releases it shipped only hardening work: RNG hygiene, safer format strings, signal handling around terminated parents. Version 3.9.0 breaks that pattern with an experimental pipeline class.
The package is moving from running one subprocess reliably toward orchestrating graphs of them, with bytes flowing between children through kernel pipes rather than being relayed through R. The new linux_pdeathsig argument points the same way, giving callers real lifecycle control over long-running children.
Expect the pipeline class to lose its experimental label and gain callr integration if the API holds up across both Unix and Windows.
Other DevOps products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either callr or processx.
httpuv ships almost nothing, which is what you want from the web server under Shiny
promises drops R6 for plain environments and wires async work into OpenTelemetry
withr rebuilt defer() on base R's own on.exit(), and got much faster for it
htmltools spends three releases walking back its own fill-layout opinions
xml2 relicensed to MIT, then moved its hot accessors from S3 into C
httr's last releases are housekeeping - the package now points users at httr2
See all callr alternatives → · See all processx alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — subprocess, r-lib — within DevOps. callr and processx are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. callr and processx are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other DevOps products to evaluate alongside.
Top callr alternatives in DevOps are ranked by recent ship velocity. Browse the "callr alternatives" section above for the current picks, or visit /alternatives/callr for the full list with editorial commentary on each.
Top processx alternatives in DevOps are ranked by recent ship velocity. Browse the "processx alternatives" section above for the current picks, or visit /alternatives/processx for the full list with editorial commentary on each.