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.default
instead of non-existentanalysis
) - Made
get_default_data_path
an 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
.vscode
directory 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 aproject
parameter - 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
_json
variants -
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()
- Addedformat
parameter supporting “json”, “rds”, or “both” -
boilerplate_export()
- Addedformat
parameter for flexible export options -
boilerplate_batch_edit()
- Can now load databases directly from file paths (JSON or RDS) -
boilerplate_standardise_measures()
- Addedjson_compatible
parameter 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 withreport
parameter
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_bibliography
parameter
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