=== Update History Panel ===
Contributors: crossandcrown
Tags: updates, history, log, maintenance, security
Requires at least: 5.3
Tested up to: 6.9
Stable tag: 1.1.2
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Log WordPress core, theme, and plugin update history and display it on the Updates screen. A REST API endpoint is available for administrators.

== Description ==

Update History Panel keeps an audit-friendly log of updates performed via the WordPress admin update workflows:

* WordPress Core
* Themes
* Plugins

The log is shown as a panel on the **Dashboard → Updates** screen and can also be retrieved via the REST API:

`GET /wp-json/update-history-panel/v1/logs`

For security reasons, the endpoint requires an authenticated user with the `update_core` capability by default.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`, or install the plugin through the WordPress Plugins screen.
2. Activate the plugin.
3. Go to **Dashboard → Updates** to view the log panel.

== Frequently Asked Questions ==

= Does it log updates done via WP-CLI or manual file replacement? =

This plugin logs updates performed through the WordPress admin update workflows. Updates executed outside of WordPress (e.g., WP-CLI or manual file replacement) may not be recorded.

= Can I access the REST API as an admin? =

Yes. Use an authenticated request (for example, Application Passwords) and call the endpoint shown above.

== Screenshots ==

1. Log panel on the Updates screen.

== Changelog ==

= 1.1.2 =
* Fixed duplicate log entries caused by concurrent requests during updates.
* Fixed hook and snapshot dual-recording producing reversed version entries.
* Expanded duplicate detection window and added database re-read for reliability.
* Added transient lock to prevent parallel snapshot processing.

= 1.1.0 =
* Initial release.

== Upgrade Notice ==

= 1.1.2 =
* Fixes duplicate and reversed update log entries.

= 1.1.0 =
* Initial release.
