Skip to content

v0.25.0

Choose a tag to compare

@mortenoh mortenoh released this 06 May 12:31
· 17 commits to main since this release
fe2d100

chapkit-r-tidyverse base image lands across the CLI, plus a split of the shell-r init template into one-per-image variants that mirror chapkit-images.

Highlights

  • New base image: chapkit-r-tidyverse (#54). chapkit-images now publishes a multi-arch R + tidyverse + Posit forecasting / ML stack (tidyverse, fable, tsibble, feasts, forecast, ranger, xgboost, glmnet, lubridate, janitor, ...). The CLI now knows about it across all three surfaces:
    • chapkit mlproject migrate accepts --base-image chapkit-r-tidyverse and auto-detects the image when R scripts import any tidyverse-distinctive package and INLA isn't present. Detection now covers library / require / requireNamespace, single or double quotes, and trailing arguments — library(fable), library('fable'), library(fable, quietly = TRUE), and requireNamespace(\"fable\") all count. Word-boundary anchoring prevents false matches on substrings.
    • chapkit mlproject run prints a docker-run hint that points at chapkit-r-tidyverse for the same heuristic, and now also mirrors migrate on mixed R+Python projects (both pick chapkit-r-inla) and on docker_env substring matching.
    • chapkit init exposes three R templates that mirror chapkit-images: shell-r (plain chapkit-r), shell-r-tidyverse (chapkit-r-tidyverse), shell-r-inla (chapkit-r-inla, amd64-pinned).
  • Mixed R + Python projects with tidyverse imports still pick chapkit-r-inla (only image bundling both runtimes), but migrate now flags the missing tidyverse stack in the rationale so users know to bake it in via install_packages.R or renv.lock.
  • Docs sweepmlproject-runner.md, mlproject-migrate.md, cli-scaffolding.md, r-quickstart.md, shell-runner-contract.md, mlproject-migration-checklist.md, deploying-to-chap-core.md all updated for the four-image lineup. The stale claim that chapkit-r-cli ships R+INLA (it's plain R + renv + pak) is corrected.

Breaking changes

  • chapkit init --template shell-r now selects plain chapkit-r as the base image instead of chapkit-r-inla. Use --template shell-r-inla to get the previous behavior. Already-scaffolded projects are unaffected — only newly-init'd projects pick up the new mapping.

Compatibility

  • No API surface changes outside the CLI.
  • Existing migrated projects continue to work; re-running chapkit mlproject migrate may pick a different base image now that detection is broader (tidyverse hints route to chapkit-r-tidyverse instead of plain chapkit-r). Pass --base-image chapkit-r to force the previous image.