mlr3misc
The mlr3 utility belt has spent a year rebuilding how errors travel
A side-by-side editorial comparison of rappdirs and TypeDB — release velocity, themes, recent moves, and the top alternatives to consider.
Load-bearing across CRAN, and untouched since January 2021.
rappdirs answers one question — where does an application put its data, cache and config on this operating system — and it has answered it the same way since 2014. The last release was 0.3.3 in January 2021, a revert of accidental vectorisation introduced four days earlier. The only substantive change in the package's visible history is 0.3.2 teaching user_data_dir(), use_cache_dir() and use_config_dir() to respect the R_USER_DATA_DIR, R_USER_CACHE_DIR and R_USER_CONFIG_DIR environment variables.
TypeDB is making the query path cheaper and the schema finally editable.
The 3.11 and 3.12 lines have been a run of server-side correctness and operability work: a driver compatibility floor that rejects anything older than 3.11.0, connect hints printed at startup, pre-created UUIDs for users so a distributed deployment can share state, transaction close made synchronous instead of fire-and-forget, and RocksDB cache and write-buffer limits exposed as configuration. The newest release splits the old compilation cache into separate parse, translation and compile stages, and adds type renaming through redefine.
rappdirs answers one question — where does an application put its data, cache and config on this operating system — and it has answered it the same way since 2014. The last release was 0.3.3 in January 2021, a revert of accidental vectorisation introduced four days earlier. The only substantive change in the package's visible history is 0.3.2 teaching user_data_dir(), use_cache_dir() and use_config_dir() to respect the R_USER_DATA_DIR, R_USER_CACHE_DIR and R_USER_CONFIG_DIR environment variables.
Nothing is heading anywhere, and that is the finding. A port of a Python utility with no open direction, four releases in eleven years, and a dependency position underneath a large share of CRAN packages that need a cache directory. The 0.3.2 and 0.3.3 pair is instructive: a real improvement shipped alongside an accidental behaviour change that had to be reverted within the week, and then silence.
The entries give no basis for predicting a next release; on eleven years of evidence the most likely next change is a CRAN-mandated check fix rather than anything user-facing.
The 3.11 and 3.12 lines have been a run of server-side correctness and operability work: a driver compatibility floor that rejects anything older than 3.11.0, connect hints printed at startup, pre-created UUIDs for users so a distributed deployment can share state, transaction close made synchronous instead of fire-and-forget, and RocksDB cache and write-buffer limits exposed as configuration. The newest release splits the old compilation cache into separate parse, translation and compile stages, and adds type renaming through redefine.
Two threads are visible. One is making the engine predictable for operators — memory budgets, transaction guarantees, explicit version floors. The other is reducing per-query cost now that the given stage makes string-identical queries common, which is why parsing is separated from translation and can happen without a transaction. Type renaming is the first real schema-evolution affordance in this window, and it arrived alongside the caching work rather than as its own release.
Expect the cache split to be followed by invalidation tuning, since translation and compile caches flush on schema commits and statistics drift, and further redefine-based schema evolution now that renaming works.
Other DevOps 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 rappdirs or TypeDB.
The mlr3 utility belt has spent a year rebuilding how errors travel
Zed ships weekly, and the Git surface is finally catching up to the agent surface
odbc keeps turning into an authentication broker with a database driver attached.
ps grew from a process inspector into the thing that reliably kills what you started.
wk spent one release fixing what empty means, then went quiet.
A package whose entire job is to ship someone else's database on time.
See all rappdirs alternatives → · See all TypeDB alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. TypeDB is currently shipping more aggressively (velocity 2.5 vs 0.0), 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. TypeDB is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other DevOps products to evaluate alongside.
Top rappdirs alternatives in DevOps are ranked by recent ship velocity. Browse the "rappdirs alternatives" section above for the current picks, or visit /alternatives/rappdirs for the full list with editorial commentary on each.
Top TypeDB alternatives in DevOps are ranked by recent ship velocity. Browse the "TypeDB alternatives" section above for the current picks, or visit /alternatives/typedb for the full list with editorial commentary on each.