Repository navigation
v2.9.0 - Release Notes
🎉 Major Features
💾 INI Backup and Restore
- Added
pvm ini backupto create timestamped backups ofphp.ini - Added
pvm ini backup --cleanto remove older backups while retaining recent ones - Added
pvm ini restoreto select and restore a backup - Automatically back up
php.inibefore configuration and extension changes - Added configurable backup retention through
INI_BACKUP_MAX_DAYSandINI_BACKUP_KEEP_COUNT
✅ Safer Downloads and Storage
- Check available disk space before PHP and extension downloads, cache updates, and profile operations
- Verify downloaded PHP archives using SHA-256 checksums
- Use temporary directories for download and installation work, and clean them up after commands complete
🔧 Improvements
🛡️ Error Handling and File Operations
- Improve error reporting for failed file reads, writes, copies, removals, and other I/O operations
- Improve exception handling and return values in command wrappers
- Include more context in error messages and logs
- Improve handling of temporary files and invalid paths
🧪 Testing & Quality
- Validate test-drive paths before running tests
- Improve test initialization and cleanup
- Add global test-result reporting for test runs and scripts
- Expand tests for I/O, download, backup, and failure-handling scenarios
📂 Runtime State
- Move runtime state files from
storage/statetostorage/data/state - The state files include the PATH backup and update-check timestamp
🐛 Bug Fixes
- Improve cleanup of temporary directories after command completion
- Improve failure handling for downloads and filesystem operations
- Avoid clearing the log when it is already empty
📝 Documentation
- Document INI backup and restore commands and backup-retention settings
- Update documentation for storage paths and safer download behavior
⚠️ Upgrade Notes
Runtime state is now stored under storage/data/state instead of storage/state. Review existing state files when upgrading, especially path.bak.log; move existing files to the new state directory if they need to be retained.
Full Changelog: Commits since v2.8.0
Summary: v2.9.0 adds INI backup and restore, disk-space checks, PHP archive checksum verification, and temporary-directory cleanup. It strengthens I/O and error handling, improves test setup and reporting, and moves runtime state files to storage/data/state.