Skip to contents

virustotal 0.6.0

Breaking Changes

  • Removed VirusTotal API v2.0 Support: Completely removed all v2.0 API functions (virustotal2_GET(), virustotal2_POST()) and deprecated functions (add_comments()). The package now exclusively uses VirusTotal API v3.0, aligning with VirusTotal’s recommendation to migrate to v3.0 for enhanced functionality and data richness.

Package Simplification

  • Streamlined Architecture: Simplified codebase by removing dual API support, reducing complexity and maintenance overhead.
  • Enhanced Documentation: Updated all documentation, README, and package description to reflect v3.0-only support with clearer feature descriptions including IoC relationships and sandbox analysis.

Migration Guide

Users upgrading from versions that used v2.0 functions should ensure their code uses the equivalent v3.0 functions. All core functionality remains available through the modernized v3.0 API endpoints.


virustotal 0.5.0

Major Updates

  • Modernized Package Architecture: Complete modernization of the virustotal package with enhanced security, error handling, and user experience.

New Features

  • 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.

Infrastructure Improvements

  • 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.

API Enhancements

  • 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.

Breaking Changes

  • Minimum R version increased from 3.3.0 to 4.0.0
  • Some internal functions have been refactored (not user-facing)
  • Error objects now use structured S3 classes instead of simple character strings

Bug Fixes

  • Fixed rate limiting edge cases and timing issues
  • Improved handling of malformed API responses
  • Enhanced validation precedence for better test compatibility
  • Fixed Unicode character encoding in utility functions

Development Tools

  • Added virustotal_info() function for package configuration diagnostics
  • Enhanced rate limit status reporting with get_rate_limit_status()
  • Improved temporary file management with security-focused utilities

virustotal 0.3.0

CRAN release: 2025-09-02

Major Changes

New Features

  • Enhanced input validation for all functions
  • Automatic URL encoding for v3 API compatibility
  • Improved error messages with actionable guidance
  • Support for IPv6 addresses in ip_report()
  • Domain name normalization (removes protocols, www, paths)

Testing & Quality

  • Comprehensive test suite with 47+ tests
  • Added input validation tests for all core functions
  • Proper error handling tests
  • GitHub Actions CI/CD pipeline replacing AppVeyor
  • Multi-platform testing (Ubuntu, Windows, macOS)
  • Automated test coverage reporting

Documentation

  • Updated all function documentation for v3 API
  • Comprehensive vignette rewrite with modern examples
  • Updated references to point to current VirusTotal documentation
  • Added usage examples for all major functions

Dependencies

  • Added base64enc for URL encoding support
  • Updated imports and suggests for modern R ecosystem

virustotal 0.2.2

CRAN release: 2021-11-04

  • support for domain and ip v3
  • deprecate v2 domain and ip functions

virustotal 0.2.1

CRAN release: 2017-05-01

  • extensive linting, passes expect_no_lint
  • url_report now returns service name

virustotal 0.2.0

CRAN release: 2016-11-12

  • Removed link to bitdefender because CRAN was having issues
  • Better documentation with examples including comment for set_key, better formatting
  • Better error handling and more consistent returned data structures for url_report, file_report, rescan_file
  • url_report now accepts scan_id as a param
  • Warning messages end with new line
  • Added more tests, specifically checking returns to what happens when params/hash are incorrect
  • Enforces rate limiting — 4 queries per minute.
  • Graceful error handling if error limit exceeded.
  • changed virustotal to VirusTotal as CRAN doesn’t muck around.

virustotal 0.1.0

CRAN release: 2016-06-02

  • Initial release