boilerplate 1.3.0.9000 (development version)
Bug fixes
- Fixed missing backup functionality for JSON format in
boilerplate_save(). Backups are now created for both RDS and JSON formats whencreate_backup = TRUE.
boilerplate 1.3.0 [2025-06-20]
CRAN release: 2025-06-24
Bug fixes
- Fixed CRAN policy violation: package now uses
tools::R_user_dir()for cache storage instead of~/.boilerplate/cache - Cache files are now stored in the appropriate user directory as per CRAN requirements
- Added automatic migration from old cache location to new location
- Removed ‘here’ package dependency - all paths now use
tools::R_user_dir()for CRAN compliance - Fixed linting issues: removed unused variables in generate-text.R and import-functions.R
- All default paths now use
tools::R_user_dir("boilerplate", "data")instead of project directories - Added
interactive()checks to all user prompts for non-interactive compatibility - Fixed README example to use correct section path (
statistical.defaultinstead of non-existentanalysis) - Made
get_default_data_pathan internal function to resolve pkgdown documentation issues
Documentation
- Added comprehensive tests for all README examples
- Added tests for all vignettes to ensure examples work correctly
- Fixed
.vscodedirectory inclusion in package builds
Testing
- Test suite expanded to 847 tests (was 731)
- Added 8 new test files for previously untested vignettes and README examples
- All vignette examples now have comprehensive test coverage
- Code coverage: 73.12%
- All examples run successfully with –run-donttest
- R CMD check passes with 0 errors, 0 warnings, 1 NOTE (new submission)
boilerplate 1.2.0 [2025-06-13]
CRAN resubmission
- Addressed all CRAN reviewer feedback from version 1.1.0
- Fixed all examples to pass R CMD check –run-donttest
- All exported functions have tags
- All replaced with
Testing and quality
- Code coverage: 71.20% overall
- Test suite: 726 tests across 22 test files
- All examples now properly initialise databases and clean up temporary files
- Examples are self-contained and run without errors
- Added comprehensive tests for vignette examples
Project support (NEW)
-
Project-based organization: Added project support to keep different boilerplate collections separate
- All core functions (
boilerplate_init(),boilerplate_import(),boilerplate_save(),boilerplate_export()) now accept aprojectparameter - Default project is “default” for backward compatibility
- Projects are stored in separate subdirectories under
boilerplate/projects/
- All core functions (
-
Cross-project operations: New functions for managing multiple projects
-
boilerplate_copy_from_project()- Selectively copy content between projects with conflict handling -
boilerplate_list_projects()- List all available projects - Support for prefixing copied entries to avoid naming conflicts
-
Removed functions
-
Merge functions removed: All merge functions have been removed in favor of project-based workflow
-
boilerplate_merge_databases()- Useboilerplate_copy_from_project()instead -
boilerplate_merge_unified()- Useboilerplate_copy_from_project()instead -
boilerplate_merge_category()- Useboilerplate_copy_from_project()instead -
boilerplate_update_from_external()- Useboilerplate_copy_from_project()instead - The new project-based workflow is cleaner and more flexible
-
Documentation improvements
- Added comprehensive bibliography management vignette showing how to use centralised BibTeX files
- Added complete “Getting Started” tutorial with real-world workflow examples
- Created enhanced introduction vignette with practical multi-study scenarios
- Updated all examples to use current API (removed references to deprecated functions)
- Enhanced vignettes to showcase new variable documentation and database health features
Major improvements
-
Lighter package: Reduced dependencies from 9 to 6 by removing
glue,janitor, andstringr- replaced with base R equivalents -
Cleaner codebase: Removed deprecated backward compatibility functions (
boilerplate_manage_text()andboilerplate_manage_measures()) - saving 625+ lines of code -
Streamlined JSON support: Consolidated JSON functionality into existing functions rather than separate
_jsonvariants -
Enhanced base functions:
boilerplate_import(),boilerplate_save(), andboilerplate_export()now auto-detect and handle both JSON and RDS formats seamlessly - Quarto integration: Package now emphasises support for Quarto documents with new vignette and updated README
- Smart backup handling: Backup creation is now context-aware - automatically disabled in temporary directories and non-interactive sessions
- Cleaner directory structure: Removed confusing nested directory structure
New features
Enhanced core functions
-
boilerplate_import()- Now auto-detects JSON or RDS format based on file extensions -
boilerplate_save()- Addedformatparameter supporting “json”, “rds”, or “both” -
boilerplate_export()- Addedformatparameter for flexible export options -
boilerplate_batch_edit()- Can now load databases directly from file paths (JSON or RDS) -
boilerplate_standardise_measures()- Addedjson_compatibleparameter for JSON-specific formatting
JSON utilities
-
boilerplate_migrate_to_json()- Migrate RDS databases to JSON format -
boilerplate_rds_to_json()- Convert individual RDS files to JSON -
compare_rds_json()- Compare RDS and JSON databases for migration validation -
validate_json_database()- Validate JSON structure against schemas
Template variable documentation
-
boilerplate_add_entry_enhanced()- Add entries with documented template variables -
boilerplate_update_entry_enhanced()- Update entries while preserving variable documentation -
boilerplate_get_variables()- Retrieve variable documentation for a specific path -
boilerplate_list_variables()- List all template variables across database with documentation status -
extract_template_variables()- Extract variables from template strings
Database health checking
-
boilerplate_check_health()- Comprehensive database health checks including:- Empty or NULL entries detection
- Orphaned template variables identification
- Duplicate content detection
- Measure structure consistency checks
- Path naming convention validation
- Enhanced
boilerplate_check_health()- Now includes integrated report generation withreportparameter
Version management
- Enhanced
boilerplate_import()- Can now import database files directly by path (both timestamped and backup files) -
boilerplate_list_files()- List and organise all database files (standard, timestamped, backups) -
boilerplate_restore_backup()- Convenient function to restore from backup files - Improved file organisation - Clearly distinguishes between standard files, timestamped versions, and backups
-
print.boilerplate_health()- Formatted output for health check results
Bibliography support
-
boilerplate_add_bibliography()- Add bibliography information to database -
boilerplate_update_bibliography()- Download and cache bibliography files -
boilerplate_copy_bibliography()- Copy bibliography to project directory -
boilerplate_validate_references()- Check that all citations exist in bibliography -
boilerplate_generate_text()- Now supports automatic bibliography copying withcopy_bibliographyparameter
Measures enhancements
-
boilerplate_generate_measures()- Now fully replaces deprecatedboilerplate_measures_text() -
boilerplate_standardise_measures()- Standardises measure entries by extracting scale information, identifying reversed items, cleaning descriptions, and ensuring consistent structure -
boilerplate_measures_report()- Analyses a measures database and reports on completeness and consistency
Breaking changes
- Removed
boilerplate_import_json()- useboilerplate_import()instead (auto-detects format) - Removed
boilerplate_save_json()- useboilerplate_save(..., format = "json")instead - Removed
boilerplate_batch_edit_json()- useboilerplate_batch_edit()instead (accepts file paths) - Removed
boilerplate_standardise_measures_json()- useboilerplate_standardise_measures(..., json_compatible = TRUE)instead - Removed
boilerplate_manage_text()andboilerplate_manage_measures()- deprecated functions no longer needed
Minor improvements
- Updated package examples with Quarto-focused workflows
- Fixed Rd line width issues in documentation
- Improved example code in export function
- Replaced janitor::make_clean_names with lightweight base R alternative
- Replaced glue::glue with base R template substitution
- Updated all vignettes and tests for consolidated functions
- Fixed trailing whitespace and indentation issues throughout package
- Updated pkgdown configuration to reflect current function set
