A persistent audit log that tracks every change to your WordPress, PHP, and MySQL versions, plus plugin and theme updates.
Version History Audit Log
This is a PRO feature. Unlock real-time monitoring, environment indicators, version history, and more. Upgrade to PRO →
The Version History feature maintains a timeline of every environment change on your WordPress site. When your host updates PHP, when WordPress auto-updates, or when a plugin is updated, Version Info records it so you always know exactly when the environment changed.
What It Tracks
The audit log records changes to:
- WordPress core version updates
- PHP version changes (e.g., when your host upgrades PHP)
- MySQL version changes
- Plugin updates
- Theme updates
How It Works
Version Info stores a snapshot of known version numbers and compares them on each admin page load. When a change is detected:
- The old and new versions are recorded in the audit log.
- The
version_info_version_changedaction hook fires, enabling other plugins or custom code to respond to the change. - The known versions snapshot is updated.
Viewing the Audit Log
Navigate to Settings > Version Info > Version History to view the audit log. Entries are displayed in a table with the following columns:
| Column | Description |
|---|---|
| Date | Timestamp of when the change was detected |
| Type | What changed (WordPress, PHP, MySQL, Plugin, Theme) |
| Old Version | The previous version number |
| New Version | The new version number |
The audit log retains up to 50 entries. When the limit is reached, the oldest entries are automatically removed to keep the log manageable.
Storage
Version history data is stored in the WordPress options table using two option keys:
version_info_history- The array of audit log entriesversion_info_known_versions- The current known version snapshot for comparison
No custom database tables are created. This keeps the plugin lightweight and easy to uninstall cleanly.
Developer Hook
The version_info_version_changed action fires whenever a version change is detected, passing an array of changes:
add_action( 'version_info_version_changed', 'handle_version_change' );
function handle_version_change( array $changes ): void {
foreach ( $changes as $change ) {
error_log( sprintf(
'Version change detected: %s updated from %s to %s',
$change['type'],
$change['old_version'],
$change['new_version']
) );
}
}
This hook is also used internally by the Agency plan's Email Alerts feature to trigger notifications when versions change.