Structured Error Handling: New S3 error classes
(virustotal_error, virustotal_auth_error,
virustotal_validation_error,
virustotal_rate_limit_error) provide detailed error
information and better debugging.
S3 Response Classes: All API responses now
return structured S3 objects (virustotal_file_report,
virustotal_domain_report, etc.) with custom
print() and summary() methods for better user
experience.
Modern Rate Limiting: Replaced environment variable-based rate limiting with a sliding window implementation that properly manages the 4 requests/minute VirusTotal API limit.
Comprehensive Input Validation: Added robust
input validation using the checkmate package with
security-focused sanitization functions.
Enhanced Security Utilities: New security functions for safe file operations and input sanitization to prevent common security issues.
Updated CI/CD: Migrated from Travis CI/AppVeyor to GitHub Actions with comprehensive testing matrix (R oldrel-1, release, devel).
Modern Dependencies: Updated minimum R version
to 4.0.0, migrated from plyr to dplyr, added
modern packages (checkmate, jsonlite,
rlang).
Enhanced Documentation: Improved documentation with roxygen2 markdown support and comprehensive examples.
Test Coverage: Expanded test suite with proper mocking support and comprehensive error handling validation.
Improved Domain Processing: Enhanced domain cleaning logic that properly handles URLs with protocols, www prefixes, and paths.
Better Error Messages: More informative error messages with parameter context and suggested fixes.
Response Formatting: Rich response formatting with detection summaries, file metadata, and threat intelligence display.
virustotal_info() function for package
configuration diagnosticsget_rate_limit_status()file_report(),
scan_file(), rescan_file(),
url_report(), scan_url(),
domain_report(), ip_report()virustotal2_* function calls from
user-facing functionsip_report()base64enc for URL encoding support