evanverse 0.3.4
Released: September 28, 2025
CRAN Submission Ready - Enhanced version with dependency optimization and improved documentation quality.
Major Improvements
- Dependency optimization: Moved bioinformatics packages (GSEABase, Biobase, GEOquery, biomaRt) from Imports to Suggests for lighter base installation
- Enhanced documentation: Streamlined function documentation for improved readability and consistency across all 55+ functions
- Test suite improvements: Enhanced test reliability with better isolation and parameter validation (1358 tests passing)
- Vignette optimizations: Improved graphics parameter handling and execution speed with proper cleanup
- Code style improvements: Consistent formatting and improved maintainability across all functions
CRAN Compliance Enhancements
- Perfect clean check: 0 errors ✔ | 0 warnings ✔ | 0 notes ✔
- Package size optimization: Reduced from 6.5MB to 1.5MB through dependency restructuring
- Cross-platform validation: Confirmed compatibility across Windows, macOS, and Linux
- Installation time improvement: Optimized to 5 seconds with reduced mandatory dependencies
- Check time optimization: Streamlined to 133 seconds through better test organization
Documentation & Quality
- Streamlined roxygen2 documentation: Updated across 17 core R functions for clarity
- Enhanced function examples: All examples verified and optimized for CRAN compliance
- Improved cross-references: Validated all internal links and references
- Better error handling: Enhanced user-friendly error messages and validation
Technical Details
- R CMD check status: All checks passing with perfect results across multiple platforms
- Test coverage: 1358 tests with 25 network-dependent tests properly skipped on CRAN
- Documentation completeness: All exported functions have comprehensive documentation
- Dependency management: Strategic use of Imports vs Suggests for optimal installation experience
evanverse 0.3.3
Released: September 19, 2025
CRAN Submission Ready - Passed CRAN automatic checks; under manual review.
CRAN Compliance Fixes
- Resolved all R CMD check issues: Eliminated remaining warnings and notes for full CRAN compliance
- Enhanced documentation consistency: Fixed all argument mismatches and improved parameter descriptions
- Optimized package dependencies: Streamlined imports and resolved namespace conflicts
- Cross-platform validation: Confirmed compatibility across Windows, macOS, and Linux environments
- Test suite refinement: Updated test conditions and skip logic for CRAN environment compatibility
CRAN Check Results
- Windows (R-release): ✅ PASS - 0 errors, 0 warnings, 0 notes
- Debian (R-devel): ✅ PASS - 0 errors, 0 warnings, 0 notes
- All test environments: Successfully validated across multiple R versions and platforms
What’s New
- Final CRAN submission preparations completed
- Enhanced package robustness and reliability
- Improved documentation quality and consistency
- Streamlined codebase for production readiness
evanverse 0.3.2
A maintenance release focusing on CRAN check compliance and package quality improvements.
CRAN Compliance Fixes
-
Fixed namespace imports: Added proper
package::function
prefixes for all base R functions- Added
stats::setNames
,utils::install.packages
,utils::available.packages
, etc. - Resolved “no visible global function definition” warnings
- Added
- Removed Unicode characters: Cleaned up emoji characters from R code files for better compatibility
-
Updated documentation: Fixed argument mismatches in function documentation (e.g.,
%nin%
operator) -
Network dependency handling: Ensured all network-dependent code in vignettes uses
eval=FALSE
-
Enhanced examples: Wrapped network-dependent examples in
\dontrun{}
blocks
evanverse 0.3.1
A patch release focusing on CRAN submission preparation and cross-platform compatibility validation.
Documentation & Release Preparation
- CRAN Submission Checklist: Added comprehensive checklist covering all policy requirements and compliance checks
-
Test Environment Documentation: Created detailed
cran-comments.md
with test environments and submission documentation - Cross-Platform Compatibility: Generated validation report confirming Windows/macOS/Linux support
- Documentation Updates: Updated package documentation with improved man pages and examples
- Test Suite Validation: Verified all 1336 tests pass with proper skip conditions for CRAN/CI environments
Internal Improvements
- File Path Handling: Enhanced validation across all platforms with robust error handling
- Platform-Specific Code: Confirmed minimal platform dependencies with proper error handling
- Dependency Validation: Verified all dependencies are cross-platform compatible
-
Package Structure: Cleaned up package structure by removing unnecessary
.here
file
evanverse 0.3.0
A focused refactor release: unified CLI messaging, CRAN-safe startup, tighter parameter validation, stronger tests, and several new utilities.
New Functions
plot_forest()
— Forest plots with publication-style defaults (forestploter), significance bolding, color recycling, and alignment options.plot_bar()
— Bar charts with optional fill grouping, sorting, vertical/horizontal layout, and clean defaults.read_excel_flex()
— Enhanced Excel reader (readxl) with optional name cleaning (janitor), range/col_types controls, and CLI feedback.write_xlsx_flex()
— Flexible Excel writer (openxlsx) with header styling, auto column width, overwrite/timestamp options.view()
— Quick interactive data viewer (reactable) for exploration/QC.set_mirror()
— Switch CRAN/Bioconductor mirrors with predefined, named endpoints.pkg_functions()
— List exported functions from any installed package, with optional keyword filtering.
Enhancements & Refactors
-
read_table_flex()
- Inlined, robust delimiter detection for .csv/.tsv/.txt and .gz files
- Stricter parameter checks and clearer CLI error messages
- Enhanced encoding guardrails for better file handling
-
update_pkg()
- Source normalization via strict
match()
function - Supports only “CRAN”, “GitHub”, “Bioconductor” sources
- Clearer messages and mirror handling aligned with
set_mirror()
- Source normalization via strict
-
pkg_version()
- More robust CRAN/Bioconductor database retrieval
- Helpful suggestions for GitHub package installations
- Optional preview printing with clearer CLI output
-
Diagnostic Operators
-
%is%
and%near%
messages standardized (no emoji) - Tighter type/shape checks with cleaner examples
-
%nin%
implemented asNegate(%in%)
with simple, predictable NA semantics
-
-
Data Utilities
-
map_column()
uses unifiedcli
output and counts unmatched keys - Skips numeric columns by design, removes emoji, adds modular separators
-
with_timer()
simplified usingtictoc
timing andcli
output -
remind()
rendering fixed forcli
braces with partial/case-insensitive matches -
rgb2hex()
input validation tightened with concise CLI feedback -
rows_with_void()
header streamlined, delegates detection tois_void()
-
-
Startup and Documentation
-
.onAttach
switched to plaincli::cli_text()
messages (no emoji), CRAN-safe - Roxygen examples trimmed for non-interactive/CRAN environments
- Consistent headers and separators throughout documentation
-
Testing & QA
-
Test Structure Improvements
- Tests modularized and expanded with per-test
skip_on_cran()
/skip_if_not_installed()
- Removed nested
test_that()
blocks for better organization - Strengthened assertions with more tolerant regex messages to avoid brittle failures
- Tests modularized and expanded with per-test
-
Enhanced Test Coverage
- Added/updated coverage for plotting functions:
plot_forest()
,plot_bar()
- File I/O functions:
read_table_flex()
,read_excel_flex()
,write_xlsx_flex()
- Package management:
set_mirror()
,pkg_functions()
- Utilities:
remind()
,map_column()
,replace_void()
,rows_with_void()
,rgb2hex()
- Operators:
%is%
,%near%
,%nin%
,%p%
- Added/updated coverage for plotting functions:
-
Environment Compatibility
- Marked environment-dependent tests (e.g.,
file_info()
) withskip_on_cran()
- Ensured tests work reliably across different platforms and CI environments
- Marked environment-dependent tests (e.g.,
Internal Changes
-
Namespace and Data Access
- Fixed internal data access during package load to avoid namespace lookup errors
- Removed direct
pkg::object
dependency for bundled data
-
Code Style and Standards
- Consistent CLI style implementation across all functions
- Removed all emoji from code, comments, and roxygen documentation
- Enhanced code readability and maintainability
evanverse 0.2.0
A comprehensive upgrade with expanded tools for R developers and bioinformaticians.
New Functions (by Category)
Development Helper Functions
-
remind()
,with_timer()
,%map%
,%match%
,%is%
,%nin%
,%p%
Internal Changes
- Removed GitHub Actions auto-deployment logic (
pkgdown.yaml
) - Switched to local builds with
docs/
deployment to GitHub Pages - Refactored documentation structure to improve package documentation readability
Documentation
- Online Documentation: evanbio.github.io/evanverse
- Comprehensive function reference with examples
- Getting started guides and tutorials