Casdoor
Casdoor tags a release almost daily, and nearly all of it is multi-tenant boundary repair.
A side-by-side editorial comparison of goodpractice and websocket — release velocity, themes, recent moves, and the top alternatives to consider.
The R package-quality checker returns from CRAN limbo with checks you can select by category.
goodpractice runs a battery of static checks over an R package — style, complexity, test coverage, documentation, DESCRIPTION hygiene — and reports what a reviewer would flag. The package was archived on CRAN, adopted by rOpenSci in 1.0.5, and version 1.1 is the first substantive release since: every check now belongs to one of 16 named groups, discoverable via all_check_groups() and selectable via checks_by_group(), with group-level exclusion through an option or environment variable and new default_checks() and tidyverse_checks() presets.
A stable WebSocket client for R whose recent releases are almost entirely toolchain survival.
websocket wraps WebSocket++ to give R a client with an event-callback interface. The functional work finished years ago; the top of the release history is compiler warnings, OpenSSL packaging, and Windows toolchain support. The one structural change in the window is the move from Rcpp and BH to cpp11.
goodpractice runs a battery of static checks over an R package — style, complexity, test coverage, documentation, DESCRIPTION hygiene — and reports what a reviewer would flag. The package was archived on CRAN, adopted by rOpenSci in 1.0.5, and version 1.1 is the first substantive release since: every check now belongs to one of 16 named groups, discoverable via all_check_groups() and selectable via checks_by_group(), with group-level exclusion through an option or environment variable and new default_checks() and tidyverse_checks() presets.
The direction is from a monolithic verdict toward a configurable one. Previously the practical choices were run everything or name individual checks; grouping makes partial adoption tractable, which matters because the full battery is opinionated enough that teams either accept all of it or ignore the tool. The tidyverse_checks() preset makes that explicit — the package is acknowledging that its defaults encode one house style among several. Earlier releases pointed the same way with a configurable cyclomatic complexity limit and adjustable output length.
With grouping and presets in place, the natural next step is per-project persistent configuration so exclusions live in the repository rather than in an option or environment variable.
websocket wraps WebSocket++ to give R a client with an event-callback interface. The functional work finished years ago; the top of the release history is compiler warnings, OpenSSL packaging, and Windows toolchain support. The one structural change in the window is the move from Rcpp and BH to cpp11.
Effort has shifted almost entirely to keeping the C++ layer building across compilers and platforms — silencing deprecation warnings, handling Windows systems without openssl.pc, adding UCRT support. That is what maintenance looks like for a package whose value is a stable binding rather than an evolving API, and the four-year gap between 1.4.1 and 1.4.4 fits it.
Future releases will most likely continue to be triggered by compiler or CRAN toolchain changes rather than by protocol or API work, following every release in this window.
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 goodpractice or websocket.
Casdoor tags a release almost daily, and nearly all of it is multi-tenant boundary repair.
The R side of Quarto stopped being a render wrapper and became a project interface
ESPHome ships on a calendar, and the August beta train is already three builds deep.
The job scheduler's release stream is now almost entirely vulnerability patching and authorization hardening.
Helm runs two release trains in lockstep while v3 walks toward end-of-life.
Quarto's editor extension is quietly becoming Positron-first while keeping VS Code parity.
See all goodpractice alternatives → · See all websocket alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — r-package — within Infra & APIs. goodpractice and websocket 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. goodpractice and websocket 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 goodpractice alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "goodpractice alternatives" section above for the current picks, or visit /alternatives/goodpractice for the full list with editorial commentary on each.
Top websocket alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "websocket alternatives" section above for the current picks, or visit /alternatives/websocket for the full list with editorial commentary on each.