ggpointless
ggpointless keeps adding the ggplot2 layers nobody else bothered to write.
A side-by-side editorial comparison of authentik and checkhelper — release velocity, themes, recent moves, and the top alternatives to consider.
authentik 2026.8 ships: Actors, domain-joined Agents, and a push past browser-mediated SSO
2026.8.0 is out, closing a seven-candidate train that ran through early August. The GA tag itself is the last cherry-pick batch — SCIM group membership removals, a proxy redirect that preserves query strings, session deletion on user deactivation — but the release it finalizes is where the substance lives: an Actors primitive in core, an enterprise Agent requiring a domain join and its own API scope, OAuth2 token exchange delegation, and a CAS source integration.
checkhelper grew from a check wrapper into a CRAN pre-submission auditor.
1.0.0 added a whole audit_* family — audit_downloads(), audit_description(), audit_dontrun() and audit_citation() — each parsing package source statically and returning a tibble of hits paired with a suggested fix. The package is now defending that position: 1.0.1 rc1 is a submission candidate answering a CRAN archival notice, after roxygen2 8.x moved DESCRIPTION's RoxygenNote field and broke a find_missing_tags() test fixture.
2026.8.0 is out, closing a seven-candidate train that ran through early August. The GA tag itself is the last cherry-pick batch — SCIM group membership removals, a proxy redirect that preserves query strings, session deletion on user deactivation — but the release it finalizes is where the substance lives: an Actors primitive in core, an enterprise Agent requiring a domain join and its own API scope, OAuth2 token exchange delegation, and a CAS source integration.
Two threads converge in this major. The identity surface keeps broadening at the protocol edge — CAS, WS-Fed, token exchange delegation, on-behalf-of — while the enterprise tier grows an endpoint story that reaches machines and devices rather than browser sessions. The RC train's shape reinforces it: six candidates fired in one day on CI and docs, then one heavy candidate carrying the features, then a fix-only close. That is release engineering hardened around a major, not a routine point release.
With Agents and Actors now GA rather than cherry-picks, the next branch should build out what they enable — device-conditioned policies or agent-brokered credentials — while 2026.8.x settles into backport patches.
1.0.0 added a whole audit_* family — audit_downloads(), audit_description(), audit_dontrun() and audit_citation() — each parsing package source statically and returning a tibble of hits paired with a suggested fix. The package is now defending that position: 1.0.1 rc1 is a submission candidate answering a CRAN archival notice, after roxygen2 8.x moved DESCRIPTION's RoxygenNote field and broke a find_missing_tags() test fixture.
The design commitment is static analysis — AST walks via getParseData(), line-by-line Rd reading, no eval() and no namespace loading — so the tool can report on a package it never runs. That commitment is what made the roxygen2 8.x break survivable: the audit pipeline itself was verified correct under 8.1.0 and only the test scaffolding had to go, now guarded by a dedicated regression test. fix_globals(write = TRUE) is being sanded down in parallel, no longer flattening per-function grouping comments or writing a degenerate empty globalVariables() shell.
The immediate move is the 1.0.1 submission itself, clearing the archival notice. Beyond that, each additional CRAN incoming-check rule remains a candidate for another audit_* function; the open question these notes still leave is whether the family ever gets a single combined entry point.
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 authentik or checkhelper.
ggpointless keeps adding the ggplot2 layers nobody else bothered to write.
mpactr spent two spring releases normalizing case in metadata after users kept tripping on it.
surveytidy taught every dplyr verb to operate on a whole collection of surveys at once.
surveycore declared its API stable with every survey design type covered.
PEIMAN2 cut its annotation database loose from its release cycle without breaking CRAN.
prospectr spent its biggest release in years fixing spectra it had been quietly mangling.
See all authentik alternatives → · See all checkhelper alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. authentik is currently shipping more aggressively (velocity 6.3 vs 2.5), with 1 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. authentik is currently shipping more aggressively (velocity 6.3 vs 2.5), with 1 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 authentik alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "authentik alternatives" section above for the current picks, or visit /alternatives/authentik for the full list with editorial commentary on each.
Top checkhelper alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "checkhelper alternatives" section above for the current picks, or visit /alternatives/checkhelper for the full list with editorial commentary on each.