wooldridge
A textbook data package whose whole job is to stay installable, and whose releases prove how much work that is.
A side-by-side editorial comparison of NGINX and nuggets — release velocity, themes, recent moves, and the top alternatives to consider.
Mainline and stable now move in lockstep, and almost every move is a CVE.
NGINX is running 1.31.x mainline and 1.30.x stable in parallel, cutting matched pairs of releases minutes apart whenever a security fix lands. Every release in the window is security-driven: buffer overflows in map-with-regex and the rewrite module, memory disclosure in the slice module, use-after-free in SSI and HTTP/3, buffer overreads in charset, SCGI and uWSGI. Feature work is confined to what rides along — a SipHash-based request ID, an $ssl_sigalgs variable.
nuggets keeps compounding on the 2.0 rewrite — more pattern families, lighter install.
nuggets searches for association rules, contrasts and other conditional patterns in the GUHA tradition, with a C++ core behind dig() and an interactive explore() app for reading results. Since the 2.0 rewrite of that core, every release has widened the same three surfaces: more pattern families to mine, more of explore() to inspect them in, and steady performance work underneath. The most recent tag optimises dig() on sparse crisp data with a sparse bit chain and adds clustering characteristics to explore() for association rules.
NGINX is running 1.31.x mainline and 1.30.x stable in parallel, cutting matched pairs of releases minutes apart whenever a security fix lands. Every release in the window is security-driven: buffer overflows in map-with-regex and the rewrite module, memory disclosure in the slice module, use-after-free in SSI and HTTP/3, buffer overreads in charset, SCGI and uWSGI. Feature work is confined to what rides along — a SipHash-based request ID, an $ssl_sigalgs variable.
The 1.30.0 stable branch pulled in a substantial feature set from 1.29.x — Early Hints, HTTP/2 to backend, Encrypted ClientHello, sticky upstream sessions, Multipath TCP, HTTP/1.1 keep-alive as the proxy default — and 1.31.0 added HTTP forward proxy and least_time load balancing. Since those, the project has been consolidating: hardening the newer protocol modules, particularly HTTP/2 and HTTP/3, where most of the recent CVEs cluster.
Expect the paired mainline/stable security releases to continue at this cadence, with the vulnerability reports staying concentrated in HTTP/2, HTTP/3 and the proxying modules that 1.30 broadened.
nuggets searches for association rules, contrasts and other conditional patterns in the GUHA tradition, with a C++ core behind dig() and an interactive explore() app for reading results. Since the 2.0 rewrite of that core, every release has widened the same three surfaces: more pattern families to mine, more of explore() to inspect them in, and steady performance work underneath. The most recent tag optimises dig() on sparse crisp data with a sparse bit chain and adds clustering characteristics to explore() for association rules.
Two forces are shaping the package. One is coverage: baseline, complement and paired-baseline contrasts, correlations, tautologies, ancestors and clustering have all been added as first-class dig_ or explore_ surfaces, so the same search engine now answers a widening set of questions. The other is weight — Shiny packages moved from Imports to Suggests, BH and RcppThread dropped, XSIMD updated, parse_condition() rewritten in C++ — which keeps a package with an interactive app from forcing that app's dependencies on every user. Deprecations are handled through lifecycle rather than removed abruptly.
Expect the sparse-data optimisation to extend from crisp to fuzzy data, and explore() to keep gaining tabs as each new pattern family lands, on the roughly six-week cadence the 2.2 line has held.
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 NGINX or nuggets.
A textbook data package whose whole job is to stay installable, and whose releases prove how much work that is.
A graph-centrality package that spent 2026 making its existing measures usable at scale, then went quiet.
A test-theory package that grew into a graphical-model toolkit, now spending its releases paying down the API debt that growth created.
projoint spent a year on CRAN paperwork, then shipped a correctness fix it flagged itself.
eratosthenes spends 0.1.0 hardening inputs rather than adding chronology methods.
dqcheckr adds drift analysis, then removes the YAML a user had to hand-write.
See all NGINX alternatives → · See all nuggets alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. NGINX is currently shipping more aggressively (velocity 5.0 vs 2.5), with 0 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.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. NGINX is currently shipping more aggressively (velocity 5.0 vs 2.5), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.
Top NGINX alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "NGINX alternatives" section above for the current picks, or visit /alternatives/nginx for the full list with editorial commentary on each.
Top nuggets alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "nuggets alternatives" section above for the current picks, or visit /alternatives/nuggets for the full list with editorial commentary on each.