v0.1.0 (2026-07-28)
Major refactor.
Breaking changes
Unified schema format (pr48)
-
schema.yamlreplaces the separateraw.yaml+tidy.yamlpair per tool. Each column now carriesraw,tidy,type,description, andversionsin one place under a flattables:map. Child packages must migrate their per-tool configs to this format.
Config / Tool / Workflow API overhaul (pr64, pr65, pr66)
-
Config:get_raw_*/get_tidy_*methods renamed (e.g.get_raw_patterns()→get_patterns(),get_raw_schemas_all()→get_schemas_raw());are_raw_schemas_valid()removed (validation now ininitialize());config,raw_schemas_all,tidy_schemas_allfields moved to private;pkgadded as a public field;cloneable = FALSE -
Tool:$files,$tbls,$files_tblmoved to private — uselist_files()/get_tbls()instead; schema delegate fields (get_raw_schema,get_tidy_schema) removed — usetool$config$get_schema_raw()/tool$config$get_schema_tidy();nemofy(diro = ...)→run(output_dir = ...); columngroup→prefix_suffix;post_process_fileshook renamed torefine_files, now applied to the base prefix before the disambiguation passes so subclasses can fold a semantic distinction (e.g. germline/somatic) into the prefix and avoid a spurious_2/_3suffix;cloneable = FALSE -
Workflow:$tools,$files_tblmoved to private — useget_tools();nemofy(diro = ...)→run(output_dir = ...);list_files(type = ...)—typearg removed; gainsmetapkgconstructor argument; path existence validated at construction;filter_files()now validates names against knowntool_parservalues;cloneable = FALSE
CLI renames
-
--out_dir→--output_dir;--pfix_include→--prefix_include; output columninput_pfix→input_prefix;--prefix_includeis now opt-in (no longer added by default)
Other
-
nemo_metadata(): parameterinput_dir=>input_dirs; return value changed from a named list to a single-row tibble with list-columns -
RPostgresdropped as a hard dependency - callers now supplydbdrvexplicitly -
txtftypes renamed totsv(pr70, pr71)
New features
- New assertion module:
nemo_stop(),nemo_assert_scalar_chr(),nemo_assert_chr(),nemo_assert_not_null(),nemo_assert_out_fmt()replacingassertthatcalls - Schema scaffold helpers:
config_prep_raw_schema(),config_prep_raw(),config_prep_multi(),config_prep_write()— bootstrap aschema.yamlfrom example raw files -
nemo_gha_mermaid(): generates a Mermaid flowchart of the full CI/CD pipeline (pr52) -
nemo_uml(): generates a PlantUML SVG from R6 class names -
nemo_schema_reactable()/nemo_schemavis_data(): interactive schema explorer - New file types:
tsv-nohead,tsv-keyvalue,csv,csv-nohead-long -
tidy:--output_id/--ulidflags for tagging outputs with a run identifier;--maxflag onlistsubcommand - Metadata exported to
metadata.parquetper run (pr62, iss61) -
ToolandWorkflownow both supportwrite_metadataboolean -
extra_ftypes()subclass hook for registering pkg-specific ftype parsers (pr70, pr71) - Add DVC support, mostly for child packages (pr69)
- New
Output Namingvignette, shared with child packages viainst/doc-templates/vignettes/_output_naming.qmd(pr73)
Performance
- File discovery ~20× faster on large directories — benchmarked at 1.9s => 0.1 s on 43k files x 15 patterns
Infrastructure
- CI/CD:
deploy.yamlrefactored from a 136-line monolith to reusable workflows viatidywf/actions; now also triggers ondevbranch pushes -
@claudeGHA restricted to repo owners, collaborators, and members -
dependabot.ymladded for automated GHA dependency updates - conda: aarch64 lock file added; dedicated
bump.yamlenv added - Panache format vignettes (pr72)
v0.0.3 (2026-02-09)
-
nemo_write: use NA outpath attr for db
v0.0.2 (2026-02-04)
- Add key-value parser (pr12, iss11)
- Export config writer (pr13)
- Add table description to schema getters, contribution docs, pkgdown fixes (pr19)
- Add
nemo_id+nemo_pfixin class writer (pr21, iss18)- changed odir to diro arg in nemofy
- list_files:
str_removeoffers more flexibility (pr24, iss23) - Add metadata export functionality (pr25, iss17)
- rename
nemo_id+nemo_pfixtoinput_id+input_pfix, respectively - add
output_id
- rename
- Bugfix: use
I()for vroom literal data inempty_tbl(iss27, pr28)
v0.0.1 (2025-09-07)
Initial release of nemo (pr5)
- R pkg skeleton
- Documentation via pkgdown
- CLI
- Logger
- GitHub Actions CI/CD
