← Back to home
Comparison · Analytics

gsDesign2 vs webmockr

A side-by-side editorial comparison of gsDesign2 and webmockr — release velocity, themes, recent moves, and the top alternatives to consider.

gsDesign2 vs webmockr: at a glance

FeaturegsDesign2webmockr
SectorAnalyticsAnalytics
Velocity score3.80.0
Sparks · 30d10
Top themesclinical-trials, group-sequential, biostatistics, pharmaversehttp-mocking, testing, httr2, ropensci
Last editorial update3h ago1h ago
WebsiteVisit →Visit →

What is gsDesign2?

Group sequential design tooling that now monitors for harm, not just efficacy and futility.

gsDesign2 is the Merck-authored R package for group sequential clinical trial design under non-proportional hazards, and it has spent the last two years filling in the statistical surface its predecessor gsDesign established. Recent releases added conditional power (gs_cp, gs_cp_npe), sequential p-values, risk-difference designs with minimal risk weighting, and boundary updates from blinded interim estimates. Version 1.2.0 adds harm boundaries across the AHR and NPE design and power functions, wired through every summary and table export path.

Read the full gsDesign2 trajectory →

What is webmockr?

The stubbing library added httr2 support, then spent a year cutting itself free of everything else

webmockr intercepts HTTP requests in R tests and returns stubbed responses, and since 1.0.0 it covers all three clients that matter — httr, httr2 and crul. The releases through 2025 have been about shedding dependencies: internal R6 classes unexported in 2.1.0, crul demoted from Imports to Suggests in the same release, and the mutual dependency with vcr severed in 2.2.0. The package now installs and runs without pulling in the rest of the rOpenSci HTTP stack.

Read the full webmockr trajectory →

gsDesign2 vs webmockr: editorial side-by-side

G
gsDesign2
ANALYTICS
3.8

Group sequential design tooling that now monitors for harm, not just efficacy and futility.

◆ Current state

gsDesign2 is the Merck-authored R package for group sequential clinical trial design under non-proportional hazards, and it has spent the last two years filling in the statistical surface its predecessor gsDesign established. Recent releases added conditional power (gs_cp, gs_cp_npe), sequential p-values, risk-difference designs with minimal risk weighting, and boundary updates from blinded interim estimates. Version 1.2.0 adds harm boundaries across the AHR and NPE design and power functions, wired through every summary and table export path.

◆ Where it's heading

The package is converging on parity with gsDesign while extending past it — each release either closes a gap against the older package or adds a boundary type gsDesign never had. A visible second track is output plumbing: every new statistical feature now arrives already threaded through summary(), gs_bound_summary(), as_gt(), and as_rtf(), which is what regulatory submission work actually consumes. Performance work is steady but secondary, with gs_design_ahr() roughly 2x faster in 1.1.9.

◆ Prediction

Expect the harm boundary work to propagate into the WLR and risk-difference design families, which are the two design branches 1.2.0 left untouched, along with a vignette bridging harm boundaries to the remaining gsDesign test types.

W
webmockr
ANALYTICS
0.0

The stubbing library added httr2 support, then spent a year cutting itself free of everything else

◆ Current state

webmockr intercepts HTTP requests in R tests and returns stubbed responses, and since 1.0.0 it covers all three clients that matter — httr, httr2 and crul. The releases through 2025 have been about shedding dependencies: internal R6 classes unexported in 2.1.0, crul demoted from Imports to Suggests in the same release, and the mutual dependency with vcr severed in 2.2.0. The package now installs and runs without pulling in the rest of the rOpenSci HTTP stack.

◆ Where it's heading

Two arcs run in sequence. The first is coverage — multiple queued responses in 0.7.0, basic auth mocking, async through crul, then httr2 — building out what can be stubbed. The second, starting with 2.0.0, is correctness and independence: stubs are now deleted if an error occurs mid-construction rather than lingering half-built, partial matching arrives for bodies and queries, and the dependency graph is pruned release by release. The 2.2.0 split from vcr landed within a minute of crul's release taking mocking control into its own clients.

◆ Prediction

RequestPattern is documented as still exported in 2.1.0 but slated for removal, so the next major release is where that lands. Expect continued dependency pruning rather than new client support — the three clients that exist are already covered.

Alternatives to gsDesign2 and webmockr

Other Analytics 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 gsDesign2 or webmockr.

See all gsDesign2 alternatives → · See all webmockr alternatives →

Recent activity from gsDesign2 and webmockr

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 9d agogsDesign2Harm boundaries land in AHR and NPE group sequential designs
  2. 1mo agogsDesign2Conditional power, sequential p-values, and minimal risk weighting
  3. 5mo agogsDesign2gs_design_ahr() can output spending time
  4. 8mo agogsDesign2S3 class refactor and futility boundary vignette
  5. 11mo agogsDesign2h1_spending for WLR power, info_scale across fixed designs
  6. 1y agowebmockrvcr dependency severed
  7. 1y agogsDesign2WLR design spending default corrected to information fraction
  8. 1y agowebmockrInternal classes unexported; crul becomes an optional dependency
  9. 1y agowebmockrFailed stub construction cleans up; partial matching extends to bodies and queries
  10. 2y agowebmockrhttr2 joins httr and crul as a supported client
  11. 3y agowebmockrQueued responses, body matching and integer status codes fixed
  12. 3y agowebmockrRegex URI matching fixed

Frequently asked questions

What is the difference between gsDesign2 and webmockr?

They serve adjacent needs but don't currently overlap on shipped themes. gsDesign2 is currently shipping more aggressively (velocity 3.8 vs 0.0), with 1 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is gsDesign2 better than webmockr?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. gsDesign2 is currently shipping more aggressively (velocity 3.8 vs 0.0), with 1 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.

What are the best alternatives to gsDesign2?

Top gsDesign2 alternatives in Analytics are ranked by recent ship velocity. Browse the "gsDesign2 alternatives" section above for the current picks, or visit /alternatives/gsdesign2 for the full list with editorial commentary on each.

What are the best alternatives to webmockr?

Top webmockr alternatives in Analytics are ranked by recent ship velocity. Browse the "webmockr alternatives" section above for the current picks, or visit /alternatives/webmockr for the full list with editorial commentary on each.