mlr3proba
mlr3proba is shedding weight as its survival work moves into sibling packages
A side-by-side editorial comparison of Countly and mlr3tuning — release velocity, themes, recent moves, and the top alternatives to consider.
Countly's LTS line is spending its releases on hardening the surfaces customers extend.
The 25.03 LTS and 24.05 branches are moving together, and the recent content is dominated by security and scoping work rather than features. The latest LTS rebuilds the api and frontend Docker images as multi-stage builds on Debian 13 with Node 24 so compilers and build tooling no longer ship, overrides fourteen vulnerable transitive dependencies, and replaces the unmaintained v8-sandbox behind custom code with isolated-vm. Earlier releases scoped internal event hooks to their own apps, fixed the consents table returning fields beyond the consent columns, and stopped dashboard widgets being copied by users without access to the referenced apps.
mlr3tuning is rebuilding its async machinery under a stable public surface
mlr3tuning provides hyperparameter optimization for the mlr3 ecosystem, and its recent history is dominated by the asynchronous tuning path: archive freezing, callback stages around queue evaluation, and version-locked compatibility with the rush backend. Releases pair a small feature with several fixes and an explicit compatibility line naming the mlr3 or rush version they track. The most recent release drops all workarounds for older rush versions, which suggests that dependency has stabilized enough to require rather than accommodate.
The 25.03 LTS and 24.05 branches are moving together, and the recent content is dominated by security and scoping work rather than features. The latest LTS rebuilds the api and frontend Docker images as multi-stage builds on Debian 13 with Node 24 so compilers and build tooling no longer ship, overrides fourteen vulnerable transitive dependencies, and replaces the unmaintained v8-sandbox behind custom code with isolated-vm. Earlier releases scoped internal event hooks to their own apps, fixed the consents table returning fields beyond the consent columns, and stopped dashboard widgets being copied by users without access to the referenced apps.
The pattern across these releases is closing the gaps where a customer-supplied artefact — custom hook code, a copied widget, a projection on a request — could reach further than intended. That work is now touching the runtime itself, and the isolated-vm swap is a breaking change: custom code relying on setTimeout, setInterval or async completion fails with a logged error instead of running. The journey engine is the only place shipping genuinely new capability, and it is enterprise-only.
Expect follow-up releases to soften the custom-code migration, since the isolated-vm switch silently breaks any hook that awaited a timer, and further ab-testing work now that pystan has been replaced with compiled Stan executables.
mlr3tuning provides hyperparameter optimization for the mlr3 ecosystem, and its recent history is dominated by the asynchronous tuning path: archive freezing, callback stages around queue evaluation, and version-locked compatibility with the rush backend. Releases pair a small feature with several fixes and an explicit compatibility line naming the mlr3 or rush version they track. The most recent release drops all workarounds for older rush versions, which suggests that dependency has stabilized enough to require rather than accommodate.
Two things are being tidied at once. The async archive is converging on a consistent data.table representation across batch and async variants, so results are shaped the same regardless of how tuning ran. Separately, the package is becoming a better ecosystem citizen — unioning tuner properties on load instead of overwriting them, removing its callbacks on unload, and raising informative errors from AutoTuner accessors on an untrained model. Both are the marks of a package used as a dependency more than as a destination.
With rush pinned to 1.2.0 and the compatibility shims gone, the next release is likely to expose more of the async path through callbacks rather than change the tuning interface.
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 Countly or mlr3tuning.
mlr3proba is shedding weight as its survival work moves into sibling packages
mlr3viz keeps the ecosystem's plots working while the plots themselves move out
timetk swallowed anomalize whole, then went quiet for two years
modelbased is turning marginal effects into a full contrast grammar
easystats' parameters package absorbs one more model class every few weeks
A finished Bayesian model-comparison package in pure maintenance mode
See all Countly alternatives → · See all mlr3tuning alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. Countly 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. Countly 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 Analytics products to evaluate alongside.
Top Countly alternatives in Analytics are ranked by recent ship velocity. Browse the "Countly alternatives" section above for the current picks, or visit /alternatives/countly for the full list with editorial commentary on each.
Top mlr3tuning alternatives in Analytics are ranked by recent ship velocity. Browse the "mlr3tuning alternatives" section above for the current picks, or visit /alternatives/mlr3tuning for the full list with editorial commentary on each.