Windmill
Windmill is dismantling the paywall between itself and the data stack
A side-by-side editorial comparison of rsconnect and vdiffr — release velocity, themes, recent moves, and the top alternatives to consider.
The deployment client is being rebuilt around credentials it never has to store.
rsconnect is the publishing client for Posit Connect and shinyapps.io, and the last year has changed both ends of it. The HTTP layer moved to httr2 and the Connect API to v1; Posit Cloud publishing was removed outright and Posit Connect Cloud added in its place; and authentication picked up identity federation from Posit Workbench, Snowflake-hosted Connect with browser-based auth, and Snowflake connection names read from connections.toml. The most recent release fixes a regression that broke deployment entirely in air-gapped environments.
vdiffr finished its job in 2021 and has been tracking compilers ever since.
vdiffr generates deterministic SVG snapshots so plot changes show up as test failures. Its recent history is almost entirely toolchain: UCRT Windows compatibility twice, a revert to C++11 to work around a GCC issue, and renaming the internal SVG device so it stops colliding with svglite. The only functional additions in view are snapshot variants in 1.0.8 and a testthat fix so snapshots are no longer auto-deleted when a test errors or skips. The last release was October 2024.
rsconnect is the publishing client for Posit Connect and shinyapps.io, and the last year has changed both ends of it. The HTTP layer moved to httr2 and the Connect API to v1; Posit Cloud publishing was removed outright and Posit Connect Cloud added in its place; and authentication picked up identity federation from Posit Workbench, Snowflake-hosted Connect with browser-based auth, and Snowflake connection names read from connections.toml. The most recent release fixes a regression that broke deployment entirely in air-gapped environments.
Two threads run through this. The first is credential elimination — every recent auth change replaces a stored secret with a token the runtime can mint, whether that is Workbench identity federation or a Snowflake connection profile. The second is dependency capture getting stricter about what it actually needs: renv profiles outside the project root, pak-installed packages resolved against configured repositories, and Bioconductor contacted only when a Bioconductor package is genuinely present. Both are the problems you hit deploying inside a regulated network.
Expect the httr2 escape hatch option to be removed once the migration settles, and expect the mcp content category added in 1.10.1 to grow real configuration rather than staying an inferred default.
vdiffr generates deterministic SVG snapshots so plot changes show up as test failures. Its recent history is almost entirely toolchain: UCRT Windows compatibility twice, a revert to C++11 to work around a GCC issue, and renaming the internal SVG device so it stops colliding with svglite. The only functional additions in view are snapshot variants in 1.0.8 and a testthat fix so snapshots are no longer auto-deleted when a test errors or skips. The last release was October 2024.
The package reached its intended shape at 1.0.0, when snapshot management moved to testthat and vdiffr shed most of its own R and JavaScript code to become a reproducible SVG engine and nothing more. There is not much left to add to that, and the release stream since reads accordingly: it moves when a compiler, an R version, or testthat moves. For a testing dependency this is a healthy end state, though it does mean the package inherits whatever the graphics engine does to snapshot stability.
The entries do not support predicting a feature release. The likely next change is a compatibility fix prompted by a compiler or a testthat change, as every release since 1.0.2 has been.
Other Infra & APIs 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 rsconnect or vdiffr.
Windmill is dismantling the paywall between itself and the data stack
Resend is wiring itself into every agent runtime it can reach, one standard at a time
A package whose release calendar is written by whoever ships the next Rtools.
DNSControl v5 is feature complete and counting down to an August ship date
highr is finished software: one-line releases every year or two
git2r stopped vendoring libgit2 and now expects it on the system
See all rsconnect alternatives → · See all vdiffr alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. rsconnect and vdiffr 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. rsconnect and vdiffr 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 Infra & APIs products to evaluate alongside.
Top rsconnect alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "rsconnect alternatives" section above for the current picks, or visit /alternatives/rsconnect for the full list with editorial commentary on each.
Top vdiffr alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "vdiffr alternatives" section above for the current picks, or visit /alternatives/vdiffr for the full list with editorial commentary on each.