Skip to content

PVM v2.9.0 — INI Backups, Safer Downloads & Reliability

Latest

Choose a tag to compare

@drissboumlik drissboumlik released this 15 Oct 23:23
· 20 commits to master since this release

v2.9.0 - Release Notes

🎉 Major Features

💾 INI Backup and Restore

  • Added pvm ini backup to create timestamped backups of php.ini
  • Added pvm ini backup --clean to remove older backups while retaining recent ones
  • Added pvm ini restore to select and restore a backup
  • Automatically back up php.ini before configuration and extension changes
  • Added configurable backup retention through INI_BACKUP_MAX_DAYS and INI_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/state to storage/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.