metatools
SDTM supplemental-qualifier merging got sturdier, then the package went quiet for two years.
A side-by-side editorial comparison of cffr and mirai — release velocity, themes, recent moves, and the top alternatives to consider.
cffr keeps CITATION.cff generation in step with the standard and its R sources.
The package generates and validates CITATION.cff files from R package metadata. Recent work is validation and parsing accuracy rather than new outputs: cff_validate() moved onto the ajv engine through jsonvalidate for clearer errors, ROR identifiers act as a website fallback for people and entities, and DOIs are now detected in inst/CITATION url fields including dx.doi.org forms.
mirai removed its dispatcher process and added memory backpressure to the queue.
The async evaluation framework releases roughly monthly and moves fast at the architecture level. In 2.7.0 the dispatcher stopped being a separate process and became a thread, after its loop had already been rewritten in C inside nanonext one release earlier. The same release added an opt-in memory budget for queued task payloads and try_mirai(), which returns NULL immediately rather than blocking when that budget is exhausted.
The package generates and validates CITATION.cff files from R package metadata. Recent work is validation and parsing accuracy rather than new outputs: cff_validate() moved onto the ajv engine through jsonvalidate for clearer errors, ROR identifiers act as a website fallback for people and entities, and DOIs are now detected in inst/CITATION url fields including dx.doi.org forms.
The package tracks two moving targets — the Citation File Format schema and R's own person and citation handling, which has broken extraction twice in recent releases. Between those, releases pick up ecosystem details: Codeberg recognised as a repository host, CRAN-to-SPDX licence mappings refreshed, GitHub Action defaults changed to save quota. The most recent release is an internal refactor carried out with AI assistance, with no user-facing change.
With validation migrated and the R 4.5 person changes absorbed, the next release most likely follows a Citation File Format schema update rather than adding capability.
The async evaluation framework releases roughly monthly and moves fast at the architecture level. In 2.7.0 the dispatcher stopped being a separate process and became a thread, after its loop had already been rewritten in C inside nanonext one release earlier. The same release added an opt-in memory budget for queued task payloads and try_mirai(), which returns NULL immediately rather than blocking when that budget is exhausted.
Two threads of work run together: cutting overhead out of the task path — thread-based dispatcher, in-process transport for synchronous daemons, lower per-element dispatch cost in mirai_map() — and making the framework safe to embed in an event loop, where blocking the host R thread is not acceptable. Deployment reach is growing too, with http_config() launching remote daemons over HTTP APIs and auto-configuring for Posit Workbench. Each release pins a minimum nanonext version, so the two packages advance as one unit.
With backpressure in place but opt-in, the open question these notes leave is whether a default memory budget arrives; continued overhead reduction and Shiny-facing non-blocking paths are the safer bet.
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 cffr or mirai.
SDTM supplemental-qualifier merging got sturdier, then the package went quiet for two years.
marquee is filling in the typographic details — outlines, border types, real font metrics for underlines.
A clinical-script logger that stopped shipping after its 0.2 line, changelogs made of merged PRs.
R's object inspector is losing its view of the internals as CRAN closes off the private C API.
A weather-station data client that broke one return type to hand back distances instead of bare IDs.
giscoR's 1.0 moved its dataset index into the cache, so new Eurostat releases arrive without a package update.
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. mirai 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. mirai 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 Analytics products to evaluate alongside.
Top cffr alternatives in Analytics are ranked by recent ship velocity. Browse the "cffr alternatives" section above for the current picks, or visit /alternatives/cffr for the full list with editorial commentary on each.
Top mirai alternatives in Analytics are ranked by recent ship velocity. Browse the "mirai alternatives" section above for the current picks, or visit /alternatives/mirai for the full list with editorial commentary on each.