Title: Simple History – Track, Log, and Audit WordPress Changes
Author: Pär Thernström
Published: <strong>July 8, 2010</strong>
Last modified: March 30, 2026

---

Search plugins

![](https://ps.w.org/simple-history/assets/banner-772x250.png?rev=3225008)

![](https://ps.w.org/simple-history/assets/icon.svg?rev=3225008)

# Simple History – Track, Log, and Audit WordPress Changes

 By [Pär Thernström](https://profiles.wordpress.org/eskapism/)

[Download](https://downloads.wordpress.org/plugin/simple-history.5.25.0.zip)

[Live Preview](https://wordpress.org/plugins/simple-history/?preview=1)

 * [Details](https://wordpress.org/plugins/simple-history/#description)
 * [Reviews](https://wordpress.org/plugins/simple-history/#reviews)
 * [Development](https://wordpress.org/plugins/simple-history/#developers)

 [Support](https://wordpress.org/support/plugin/simple-history/)

## Description

Trusted by 300,000+ WordPress sites, rated 4.9 stars with [430+ five-star reviews](https://wordpress.org/support/plugin/simple-history/reviews/?filter=5),
actively developed for 10+ years, and translated into 15+ languages.

Simple History is the complete audit log for WordPress. It tracks every meaningful
change — content edits, user logins, plugin updates, security events, and more —
so site owners, teams, agencies, and developers always know who did what and when.
Just install and activate; no configuration required.

### 🔍 How Simple History Helps in Real Situations

**Track what’s happening on your site**
 _“Has anyone done anything today? Ah, Sarah
uploaded the new press release and created an article for it. Great — now I don’t
have to do that.”_

**Identify issues and debug faster**
 _“The site feels slow since yesterday. Has
anyone done anything special? … Ah, Steven activated ‘naughty-plugin-x’, that must
be it.”_

**Keep freelancers & agencies accountable**
 _“I hired a developer to optimize my
site. But did they actually do anything? A quick glance at Simple History shows 
me exactly what they worked on.”_

**Spot suspicious activity early**
 _“I see three failed logins from an unfamiliar
IP address overnight. Let me click the IP to check all activity from that address—
just those attempts, nothing else. Good to know.”_

### ✨ What Simple History Tracks

#### Security & Monitoring

 * Failed user logins with IP tracking and filtering by type (wrong password vs.
   non-existent username)
 * Core file integrity checks against official checksums
 * Forced security auto-updates from WordPress.org
 * Site Health status changes
 * Admin page access denied events

#### Content & Users

 * Posts, pages, and custom post types — create, edit, delete, and homepage assignment
 * Attachments with image edit details (crop, rotate, flip, scale) and thumbnail
   previews
 * Taxonomies with detailed diffs of name, slug, description, and parent
 * Comments, menus (with item-level detail), and widgets
 * User profiles, logins, logouts, and role changes
 * Notes — the collaboration feature in WordPress 6.9

#### System & Updates

 * Plugin lifecycle: install, update, activate, deactivate, delete, and auto-update
   toggle
 * Theme install, update, activate, switch, and delete
 * WordPress core updates (manual and automatic)
 * Translation and language pack updates
 * Available update notifications
 * Settings and option screen changes

#### Privacy & Compliance

 * Privacy data export and user data erasure requests
 * Privacy page changes
 * IP addresses anonymized by default — no cookies, no external fonts

### 🔌 Built-in Third-Party Plugin Support

Simple History includes built-in logging for:

 * **Jetpack** – Module activations and deactivations
 * **Advanced Custom Fields (ACF)** – Field group and field changes
 * **User Switching** – User switch events
 * **WP Crontrol** – Cron event and schedule changes
 * **Enable Media Replace** – File replacement details
 * **Limit Login Attempts** – Login attempts, lockouts, and config changes
 * **Redirection** – Redirect and group changes, global settings
 * **Duplicate Post** – Post and page cloning
 * **Beaver Builder** – Layout, template, and settings saves

Is your plugin missing? Plugin authors can add support using the [logging API](https://simple-history.com/docs/logging-api/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_logging_api).

### 💬 What Users Say

[430+ five-star reviews](https://wordpress.org/support/plugin/simple-history/reviews/?filter=5)
on WordPress.org:

 * _“So far the best and most comprehensive logging plugin”_ – [@herrschuessler](https://wordpress.org/support/topic/so-far-the-best-and-most-comprehensive-logging-plugin/)
 * _“The best history plugin I’ve found”_ – [Rich Mehta](https://wordpress.org/support/topic/the-best-history-plugin-ive-found/)
 * _“Fantastic plugin I use on all sites”_ – [Duncan Michael-MacGregor](https://wordpress.org/support/topic/fantastic-plugin-i-use-on-all-sites/)
 * _“It is a standard plugin for all of our sites”_ – [Mr Tibbs](https://wordpress.org/support/topic/it-is-a-standard-plugin-for-all-of-our-sites/)

### 🚀 View Your Log Everywhere

Simple History starts tracking instantly after activation — no setup needed. It 
even imports recent activity so your log isn’t empty on day one. Access your log
from:

 * **Dashboard widget** – Activity stats summary and recent events
 * **Admin bar quick view** – Dropdown with latest events on any admin page
 * **Command palette** – Type “Simple History” to jump to the log for the current
   post
 * **Dedicated admin page** – Full log with search, filters, and insights sidebar
 * **Email reports** – Weekly summary delivered to your inbox
 * **RSS feed** – Password-protected feed for your favorite reader
 * **WP-CLI** – Command-line access for automation and scripting
 * **REST API** – Programmatic access for custom integrations

### 📧 Weekly Email Reports – Stay Informed Without Logging In

[Weekly email reports](https://simple-history.com/features/email-reports-weekly/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_email_reports)
deliver a summary of your site’s activity every Monday morning — total activity,
daily breakdown, key metrics (logins, content updates, plugin changes), and direct
links to the full log.

Perfect for site owners, agencies managing client sites, and teams who need regular
updates without logging in. Enable it in settings and [see what the email looks like](https://simple-history.com/features/email-reports-weekly/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_email_reports#example)
before turning it on.

### 🛠️ For Developers & Power Users

 * **WP-CLI** – [List, search, and export events](https://simple-history.com/features/wp-cli-commands/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_wp_cli_commands)
   from the command line — perfect for automation and managing multiple sites
 * **REST API** – Full programmatic access to query the log and add custom events.
   See the [documentation](https://simple-history.com/docs/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_overview)
 * **Logging API** – [Log your own events](https://simple-history.com/docs/logging-api/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_logging_api)
   from themes and plugins with a single line of code
 * **RSS feed** – Subscribe to changes using any feed reader
 * **AI & agent-friendly** – The REST API and RSS feed make Simple History accessible
   to AI agents and automated workflows like Claude Code
 * **Stealth Mode** – Run Simple History completely hidden from the admin interface
   via code; [Premium](https://simple-history.com/add-ons/premium?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_stealth_mode)
   adds a GUI. Ideal for agencies and client sites

### 🔆 Extend with Add-ons

#### 󠀁[Simple History Premium](https://simple-history.com/add-ons/premium?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_premium)󠁿

**Alerts & Notifications** – Get notified instantly via Email, Slack, Discord, or
Telegram when important events occur. Start quickly with preset rules for common
scenarios or build custom rules filtered by event type, user, role, and log level.

**Log Forwarding** – Stream events to external destinations: local log files, syslog
servers (UDP/TCP/TLS), Datadog, Splunk, webhooks, or external MySQL/MariaDB databases.
Perfect for centralized logging, compliance, and backup.

**Enhanced Controls** – Custom retention periods (or keep logs forever), CSV/JSON
export of filtered search results, post activity panel in the block editor, custom
log entries for team decisions, stealth mode GUI, logger control to fine-tune which
events are recorded, and an ad-free experience.

#### 󠀁[WooCommerce Logger](https://simple-history.com/add-ons/woocommerce/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=addons&utm_content=readme_addon_woocommerce)󠁿

Track WooCommerce activity: orders, refunds, stock changes, product updates, pricing
adjustments, settings modifications, and coupon usage.

#### 󠀁[Debug and Monitor](https://simple-history.com/add-ons/debug-and-monitor/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=addons&utm_content=readme_addon_debug_monitor)󠁿

Monitor outgoing HTTP requests and emails, debug API calls, and see what’s happening
under the hood. Essential for developers and support teams.

### 💚 Sponsor this project

If you like this plugin please consider [sponsoring the development of the free plugin](https://simple-history.com/sponsor/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=sponsorship&utm_content=readme_sponsor_footer).
The plugin has been free for over 10 years and will continue to be free.

## Screenshots

 * [[
 * The log view + it also shows the filter function in use – the log only shows 
   event that are of type post and pages and media (i.e. images & other uploads),
   and only events initiated by a specific user.
 * [[
 * The feature will make it quick and easy for a user of a site to see what updates
   other users have done to posts and pages.
 * [[
 * When users are created or changed you can see details on what have changed.
 * [[
 * Events have context with extra details – Each logged event can include useful
   rich formatted extra information. For example: a plugin install can contain author
   info and a the url to the plugin, and an uploaded image can contain a thumbnail
   of the image.
 * [[
 * Click on the IP address of an entry to view the location of for example a failed
   login attempt.
 * [[
 * See even more details about a logged event (by clicking on the date and time 
   of the event).
 * [[
 * A chart with some quick statistics is available, so you can see the number of
   events that has been logged each day. A simple way to see any uncommon activity,
   for example an increased number of logins or similar.
 * [[
 * Stats and summaries page that gives you a quick overview summary of your site’s
   activity.
 * [[
 * Email reports: Get a weekly summary of your site’s activity delivered straight
   to your inbox. Enable and configure this feature in the plugin settings.

## FAQ

### Is the plugin free?

Yes! Simple History has been free for over 10 years and will remain free. To support
development and unlock extra features, you can purchase the premium add-on. [View premium features](https://simple-history.com/premium/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=addons&utm_content=readme_addons_overview).

### How do I view the log?

You can access the log in multiple ways:

 * The **dashboard** widget with activity stats summary
 * A **dedicated log page** in the WordPress admin area
 * The **admin bar** quick view dropdown on
 * The **WordPress command palette** – type “Simple History” to jump to the log 
   for the current post

### Can I change where the History menu appears in WordPress admin?

Yes! You can customize the menu position in the plugin settings. Choose between 
showing Simple History at the top or bottom of the main menu, or inside the dashboard
menu or tools menu.

### Do I need coding skills to use the plugin?

No! Just install and activate the plugin, and it will start collecting activity 
logs automatically.

### Where is the log stored?

The log is stored in your WordPress database.

### Can I export the log?

Yes, you can export logs in **CSV** or **JSON** format for further analysis.

### Is it compatible with other plugins?

Yes! Simple History supports many popular plugins out of the box. Additionally, 
developers can integrate it with any plugin using the [Logging API](https://simple-history.com/docs/logging-api/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_faq_api).

### Will this plugin slow down my website?

No, Simple History is lightweight and optimized for performance. Most logging occurs
in the WordPress admin area when a WordPress user performs an action.

By default, nothing is logged on the front end, ensuring visitors experience no 
impact on performance.

### Who can view the log?

Access to the log depends on the user’s role:

 * **Administrators** can view all logged events.
 * **Editors** can see events related to posts and pages.

### Can I exclude certain users from being logged?

Yes, you can exclude users based on **role** or **email** using the [`simple_history/log/do_log`](https://simple-history.com/docs/hooks/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_hooks#simplehistorylogdolog)
filter.

For more details, check the [hooks documentation](https://simple-history.com/docs/hooks/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_hooks#simplehistorylogdolog).

### How long is the history kept?

By default, logs are stored for **60 days**.

Upgrade to [Simple History Premium](https://simple-history.com/add-ons/premium?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_premium)
to change this using a GUI.

### Can I track changes made by specific users?

Yes! You can **filter logs by username**, making it easy to track individual activity.

### Is this plugin GDPR compliant?

GDPR compliance depends on **how you use the plugin** and how you handle collected
data. WordPress guidelines prohibit plugins from making legal compliance claims,
so you should review your site’s data policies to ensure compliance.

That said, Simple History follows **privacy-friendly practices**:

 * ❌ No Google Fonts
 * ❌ No cookies
 * ❌ No local storage
 * ✅ IP addresses are anonymized by default

Since the plugin logs events (which may contain personal data), it’s **your responsibility**
to ensure GDPR compliance based on your site’s usage.

For more information, see our support page [GDPR and Privacy: How Your Data is Stored in Simple History](https://simple-history.com/support/gdpr-and-privacy/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_gdpr_support).

## Reviews

![](https://secure.gravatar.com/avatar/b6e50224f02fcfd7921263ab84702281ffa9355cdff910bc9f8d0927382f9dc5?
s=60&d=retro&r=g)

### 󠀁[Very nifty plugin](https://wordpress.org/support/topic/very-nifty-plugin-4/)󠁿

 [Argentum](https://profiles.wordpress.org/argentum/) April 2, 2026

Just the functionality I was wishing for.

![](https://secure.gravatar.com/avatar/1e877aa1f35705bdbd59d2fdda02120458b936d9ab8eb4f53cdff8ddfc41edea?
s=60&d=retro&r=g)

### 󠀁[Useful](https://wordpress.org/support/topic/useful-1073/)󠁿

 [tslarkin](https://profiles.wordpress.org/tslarkin/) March 29, 2026

This is a useful plugin, especially now that other people are working on the site
and I need to figure out how they screwed up.

![](https://secure.gravatar.com/avatar/8dba32f90556672610dedd8f639e657f451294d06d6afdba206b14647286460d?
s=60&d=retro&r=g)

### 󠀁[I love it!](https://wordpress.org/support/topic/i-love-it-1039/)󠁿

 [integratingawareness](https://profiles.wordpress.org/integratingawareness/) March
20, 2026

It is really useful to be able to see when things have been done, in particular 
when something has gone not-as-expected!

![](https://secure.gravatar.com/avatar/2bfab6372f333d088105932fee9348c116fe73696480b524040012d737a73e8f?
s=60&d=retro&r=g)

### 󠀁[Very handy!](https://wordpress.org/support/topic/very-handy-324/)󠁿

 [rvwfreewheelers](https://profiles.wordpress.org/rvwfreewheelers/) March 7, 2026

I’ve been making many changes on our site and while I have a consistent backup it’s
great to be able to look at a log that tracks all the happenings on the site.

![](https://secure.gravatar.com/avatar/f5c3fcef7bb1a4a220cfb7597cfa618ad421f12e732c2e5a727f1b0245b2eeff?
s=60&d=retro&r=g)

### 󠀁[Essential Activity Log for Any WordPress Site ⭐️⭐️⭐️⭐️⭐️](https://wordpress.org/support/topic/essential-activity-log-for-any-wordpress-site-%e2%ad%90%ef%b8%8f%e2%ad%90%ef%b8%8f%e2%ad%90%ef%b8%8f%e2%ad%90%ef%b8%8f%e2%ad%90%ef%b8%8f/)󠁿

 [ummahserve](https://profiles.wordpress.org/ummahserve/) March 5, 2026

Simple History is one of those plugins you don’t realise you need until you install
it. It gives a clear, detailed log of everything happening on your WordPress site–
logins, updates, edits, and more – all in one place. The interface is clean, easy
to understand, and incredibly helpful for troubleshooting or keeping track of user
activity. It’s lightweight, reliable, and just works. Highly recommended for anyone
managing a WordPress site!

![](https://secure.gravatar.com/avatar/d93a2a75a4c58d997c7168539cb27fac99330db3bf7aa2b67618af6b0216f00c?
s=60&d=retro&r=g)

### 󠀁[Works perfectly for us without a lot of bloat](https://wordpress.org/support/topic/works-perfectly-for-us-without-a-lot-of-bloat/)󠁿

 [techanimal](https://profiles.wordpress.org/techanimal/) March 2, 2026 1 reply

Works wonderfully for us. Doesn’t add a lot of extra stuff to the dashboard nor 
does it ask for money every day. Recommended.

 [ Read all 464 reviews ](https://wordpress.org/support/plugin/simple-history/reviews/)

## Contributors & Developers

“Simple History – Track, Log, and Audit WordPress Changes” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ Pär Thernström ](https://profiles.wordpress.org/eskapism/)
 *   [ Simple History ](https://profiles.wordpress.org/wpsimplehistory/)

“Simple History – Track, Log, and Audit WordPress Changes” has been translated into
17 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/simple-history/contributors)
for their contributions.

[Translate “Simple History – Track, Log, and Audit WordPress Changes” into your language.](https://translate.wordpress.org/projects/wp-plugins/simple-history)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/simple-history/), check
out the [SVN repository](https://plugins.svn.wordpress.org/simple-history/), or 
subscribe to the [development log](https://plugins.trac.wordpress.org/log/simple-history/)
by [RSS](https://plugins.trac.wordpress.org/log/simple-history/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

✨ If you find Simple History useful ✨

 * [Sponsor the plugin to keep it free.](https://simple-history.com/sponsor/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=sponsorship&utm_content=readme_sponsor_footer)
 * [Add a 5-star review so other users know it’s good.](https://wordpress.org/support/plugin/simple-history/reviews/?filter=5)
 * [Get the premium add-on for more features.](https://simple-history.com/add-ons/premium?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_premium)

### 5.25.0 (March 2026)

This release focuses on keeping your database lean. Three features that reduce log
storage size are now active for all users: smarter default retention for new installs,
failed login rate limiting, and compact diff storage for post content changes.
 
[Read more about it in the release post](https://simple-history.com/2026/simple-history-5-25-0-released/)

**Added**

 * Failed login rate limiting is now active for all users, capping logging at 100
   consecutive failed attempts to prevent database bloat from brute force attacks.
 * Compact diff storage for post content changes is now active for all users, storing
   only a compact diff instead of full old+new content (up to 99% smaller for typical
   edits) with automatic fallback when the diff would be larger.
 * Search is now faster and more accurate for all users: queries skip occasion grouping
   for speed and only search relevant context keys from registered loggers instead
   of scanning all metadata. Previously this was an experimental opt-in feature.
   Use the “Event metadata” search field in the advanced filters to search all metadata(
   similar to the old behavior).
 * Hover-reveal quick action button on event rows for faster access to event details.
 * List of current experimental features shown near the enable toggle in settings.
 * “/” keyboard shortcut to focus the search input, with a visual hint badge. Pressing
   Escape returns focus to the previously focused element.
 * Settings and Premium/Get Premium buttons in the top-right header, replacing the
   Add-ons link.
 * Email Reports settings moved to their own sub-tab under Settings for better discoverability.
 * Feature discovery bar in the page header showing active features and settings
   status with dot indicators. Each item links directly to its settings section 
   for quick access. (experimental)
 * New installs default to 30-day retention (existing installs keep 60 days), keeping
   your database lean from day one.

**Changed**

 * Search and filters redesigned into a single compact row with search input, date
   selector, and action buttons — replacing the previous multi-line layout.
 * Expanded filters panel now stacks labels above inputs on smaller screens for 
   better usability.
 * History Insights sidebar: today’s data point is now highlighted with a visible
   dot and the end date shows “(today)” for clarity.
 * History Insights sidebar: reduced y-axis clutter on the activity chart for a 
   cleaner look.
 * History Insights sidebar: database stats section is now visually separated as
   footer content with cache freshness info moved into the tooltip.

**Fixed**

 * Dashboard widget corners not matching the new rounded style in WordPress 7.0.
 * PHP notice on the widget editor screen (widgets.php) caused by the command palette
   script loading `wp-editor` on non-post-editor screens.
 * Occasion counts in the RSS feed were always zero and never rendered.
 * Inverted condition in the GitHub plugin info handler that caused it to always
   fail.
 * “No matching events” empty state text and icon too light to meet WCAG AA contrast
   requirements.
 * Deprecation notice when using Yoast Duplicate Post 4.6, which replaced the `dp_duplicate_post`
   and `dp_duplicate_page` hooks with `duplicate_post_after_duplicated`.

**Security**

 * Nonce verification added to the GitHub plugin info AJAX handler to prevent CSRF.

### 5.24.1 (March 2026)

**Security**

 * RSS feed error response no longer exposes the feed secret token in the self-referencing
   link.

**Changed**

 * Capabilities added to roles are now logged at “notice” level instead of “warning”
   to reduce unnecessary alarm during routine plugin activations.

**Fixed**

 * Role Capability Logger no longer spams the log when plugins (e.g. Astra/Spectra)
   toggle capabilities on every page load. Changes are now batched per request and
   only net differences are logged.

**Added**

 * User ID displayed as an inline suffix on the name in the user card popover, making
   it easier to identify users when debugging.

### 5.24.0 (March 2026)

A redesigned dashboard widget that takes up less space, user details card on click,
and much better logging of menus, categories, and image edits.
 [Read more about it in the release post](https://simple-history.com/2026/simple-history-5-24-0-released/)

**Added**

 * User card on avatar and name click, showing name, role, and email with a link
   to the user profile. The Premium add-on extends the card with login history and
   recent activity.
 * “Copy as image” action in the event menu that captures an event as a shareable
   image, ready to paste into Slack, social media, or bug reports.
 * Site Health Logger that tracks WordPress Site Health test status changes, logging
   when issues are detected, resolved, or change severity.
 * Menu change logging now shows item names, types, renames, moves, order changes,
   and display location updates instead of just item counts.
 * Parent category changes and diff details (name, slug, description, parent) when
   viewing edited category and tag events.
 * Logging when a page is set as the homepage or posts page from the block editor,
   including the name of the previously assigned page.
 * Image edit logging (crop, rotate, flip, scale) in the media logger, including
   a thumbnail preview.
 * Command palette command to view event history for the current post or page.
 * “Event metadata” search field in the advanced filters for searching all event
   data including IP addresses and emails.
 * “Clear filters” button to reset all search filters to their default values.
 * Rotating tips in the sidebar to help users discover features like RSS feeds, 
   WP-CLI, export, and sticky events.
 * User creation and profile update counts in the email digest report, displayed
   alongside login statistics in the Users section.
 * REST API `skip_count_query` parameter to skip the total count query when pagination
   info is not needed, improving response time for clients that don’t require total
   counts.
 * Multisite uninstall support, removing tables, options, and cron events across
   all subsites in the network.
 * Compact storage for post content changes (used for creating a diff between the
   old and new content), reducing database size for large posts (experimental).
 * Failed login throttling to protect the database from brute-force attacks — logs
   the first 100 failed attempts, then automatically skips the rest. Includes an
   informational notice on both the main event log and the dashboard widget (experimental).
 * Role & Capability Logger that tracks when roles are created, deleted, or have
   their capabilities modified, including which plugin triggered the change (experimental).

**Changed**

 * WP-CLI `--user` argument renamed to `--userid` and `--exclude_user` to `--exclude_userid`
   to avoid conflict with WP-CLI’s global `--user` argument, which caused warnings
   on newer WP-CLI versions. [#629](https://github.com/bonny/WordPress-Simple-History/issues/629)
 * Dashboard widget redesigned with an activity stats summary showing event counts
   for today and last 7 days, and a more compact event list. Loads significantly
   faster by limiting queries to the last 7 days and skipping the total count query.
 * Search now only searches the visible event message text by default, making results
   more relevant and dramatically faster on sites with large activity logs. Previously,
   search also scanned all hidden metadata which was slow and returned unexpected
   matches (experimental).
 * Multi-word search now matches each word independently across all searchable fields.
   For example, “api request 400” now finds events where “api” and “request” appear
   in the message text and “400” appears in event metadata, instead of requiring
   all words to exist in the same field (experimental).
 * “Show filters” / “Hide filters” toggle replaces “Show search options” / “Collapse
   search options”.
 * Action links (Edit, View, Preview, Revisions) now appear below post events.
 * IP address popover redesigned with prominent IP display, AS number links, map
   service links (Google Maps and OpenStreetMap), and subnet filtering.
 * Core file integrity restored log entry now shows how many files are still modified.
 * Auto backfill runs on the first admin page load instead of WP-Cron, ensuring 
   it works in more environments.
 * Admin bar JavaScript reduced by removing the wp-components dependency, saving
   ~919 KB on every page load.
 * Object caching added to stats queries, preventing duplicate database queries 
   within the same request.

**Fixed**

 * False-positive core file integrity warnings on localized WordPress installs (
   e.g. sv_SE) caused by hardcoded en_US checksums.
 * Term names showing backslash before apostrophes when editing categories and tags.
 * Incomplete option cleanup on plugin uninstall, leaving orphaned options in the
   database.
 * Three scheduled cron events not cleared during uninstall (database purge, core
   file integrity check, log file cleanup).
 * Missing icon for “Other” initiator type.
 * Manual backfill memory error on sites with many users, now processed in batches.

### 5.23.1 (February 2026)

**Fixed**

 * Added backward-compatibility stubs for PHP classes 5.21–5.23, hopefully preventing
   crashes when updating from those versions. 🤞

### 5.23.0 (February 2026)

**Added**

 * Detection of forced security updates from WordPress.org; shown as “Update method:
   Security auto-update” in plugin update details.
 * Upgrade notices from WordPress.org API in plugin update details.
 * Search labels on 11 loggers (Beaver Builder, Duplicate Post, Enable Media Replace,
   Jetpack, Limit Login Attempts, Redirection, User Switching, WP Crontrol, Privacy,
   Simple History, Translations) for better filtering in alert rules.
 * Granular failed-login filters: “Failed login (wrong password)” for known users
   and “Failed login (unknown user)” for non-existent usernames, alongside the existing“
   Failed user logins” option.
 * User role (`_user_role`) in event context for debugging and used by alerts to
   be able to add rules for specific user roles.
 * Notes feature stats (WordPress 6.9+):
    - Statistics in weekly email reports (notes added and resolved).
    - Statistics on History Insights for block editor notes activity.
    - REST API at `/wp-json/simple-history/v1/stats/notes`.
 * Alerts settings page with premium notification teasers (presets and custom rules
   in [Premium](https://simple-history.com/add-ons/premium/?utm_source=worg)).

**Changed**

 * Updated some logger messages to use active voice: e.g. “Was denied access”  “
   Attempted to access restricted”, “was auto-disabled”  “Auto-disabled”, “Was locked
   out because”  “Locked out after”, “was updated”  “Updated”.
 * Debug tab merged into Help & Support; System Information sits directly under 
   support links.
 * Status bar on Help & Support showing plugin version, event count, and retention
   at a glance.
 * System Information extended with PHP Max Input Vars, WP Memory Limit, Child Theme,
   Theme Author, and User Agent for support debugging.
 * Log level for forced security plugin updates is changed from “info” to “notice”,
   so auto-updates stand out.
 * Disable autoload for Available Updates Logger options, so they are only loaded
   when needed.
 * Sub-navigation tabs scroll horizontally on narrow screens instead of wrapping.
 * Plugin loading no longer scans the filesystem at startup; loggers and extensions
   are registered via static class lists for faster, more reliable init.
 * Sidebar stats and database purge queries rewritten to use the date index (faster
   on large tables).
 * Log_Query now has a `skip_count_query` option to omit the total row count when
   pagination metadata is not needed.
 * RSS feed now defaults to last 7 days and skips the count query for better performance.
   It also has a `dates` parameter for date filtering (e.g. `&dates=lastdays:30`).

**Fixed**

 * Infinite loop when the [Debug & Monitor add-on](https://simple-history.com/add-ons/debug-and-monitor/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_debug_monitor)
   logged HTTP requests from channels (Webhook, Datadog, Splunk).

### 5.22.0 (December 2025)

**Added**

 * Added exclusion filter support to RSS and JSON feeds, allowing you to subscribe
   to events while excluding specific users, loggers, messages, or log levels. Useful
   for monitoring what others do without seeing your own actions.

**Fixed**

 * Simplified internal file structure to hopefully fix “Class File_Channel not found”
   fatal error that some users experienced when updating the plugin.
 * Fixed slow appearance of “Stick event to top” and “Unstick event” menu items 
   in the event actions dropdown.

### 5.21.0 (December 2025)

🔍 Debug like a pro with the new “Surrounding Events” feature — see what happened
before and after any event. Plus: Log Forwarding (Beta) lets you send events to 
external log files, Syslog servers, or external databases for backup and compliance.
Also improved: auto-recovery for missing database tables.
 [Read more about it in the release post](https://simple-history.com/2025/simple-history-5-21-0-released/)

**Added**

 * “Show surrounding events” feature to view events chronologically before and after
   a specific event, useful for debugging to see what happened around a particular
   event. Available via the event actions menu (administrators only), REST API, 
   and WP-CLI. [#610](https://github.com/bonny/WordPress-Simple-History/issues/610).
 * Log Forwarding feature to send events to external destinations for backup, compliance,
   and security purposes. Includes File Channel for writing events to local log 
   files with automatic rotation. [Premium add-on](https://simple-history.com/add-ons/premium/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_log_forwarding)
   adds Syslog and External Database channels. [#573](https://github.com/bonny/WordPress-Simple-History/issues/573).
 * `simple_history/purge_db_where` filter for custom event retention rules, allowing
   per-logger retention periods or keeping certain events forever. [See documentation](https://simple-history.com/docs/hooks/#simplehistorypurgedbwhere).
 * `simple_history/db/purge_done` action that fires once when purge completes, with
   total deleted count.
 * `Helpers::count_events()` function for counting events in the database.

**Fixed**

 * Database tables not being created when using the plugin as MU plugin, after site
   duplication (where options are copied but custom tables are not), or during multisite
   network activation. The plugin now auto-recovers by recreating missing tables
   when needed. [#606](https://github.com/bonny/WordPress-Simple-History/issues/606).
 * IP addresses not showing when expanding grouped similar events.
 * Debug page showing “No tables found” when using SQLite (e.g., wp-playground) 
   due to missing dbstat extension.

### 5.20.0 (December 2025)

🚀 Ready for WordPress 6.9 — this release logs the new Notes feature so you can 
track when notes are added or removed. Also new: automatic backfilling on first 
install so your log isn’t empty, a “Hide my own events” checkbox, and a “Yesterday”
date filter.
 [Read more about it in the release post](https://simple-history.com/2025/simple-history-5-20-0-released/)

**Changed**

 * Improved code quality by resolving phpcs warnings for WordPress VIP Go compatibility.

**Fixed**

 * Fixed Notes Logger causing error in some cases when deleting comments.
 * Fixed event context being silently dropped when post content contained emojis,
   causing incomplete log entries. (This is a long standing issue that has been 
   around for a while, but now it’s finally fixed 🤞.) [#607](https://github.com/bonny/WordPress-Simple-History/issues/607).

### 5.19.0 (November 2025)

🚀 Ready for WordPress 6.9 — this release logs the new Notes feature so you can 
track when notes are added or removed. Also new: automatic backfilling on first 
install so your log isn’t empty, a “Hide my own events” checkbox, and a “Yesterday”
date filter.
 [Read more about it in the release post](https://simple-history.com/2025/simple-history-5-19-0-released/)

**Added**

 * Add automatic backfilling of existing events on first install, so the activity
   log isn’t empty when you start using the plugin for the first time.
 * Add logging of new [notes feature in WordPress 6.9](https://make.wordpress.org/core/2025/11/15/notes-feature-in-wordpress-6-9/).
   [#599](https://github.com/bonny/WordPress-Simple-History/issues/599).
 * Add “Yesterday” option to the date filter dropdown for quick access to previous
   day’s events.
 * Add “Hide my own events” checkbox to filters, allowing users to quickly exclude
   their own activity from the log. [#604](https://github.com/bonny/WordPress-Simple-History/issues/604).
 * Add WordPress VIP Go coding standards for enterprise compatibility.
 * Add rollback context to plugin update failed events.
 * Add logging of failed theme updates.
 * Add support for negative filters in the event log query API, to the REST API,
   and to WP-CLI. [#86](https://github.com/bonny/WordPress-Simple-History/issues/86).
 * Add error message when trying to view an event that does not exist.
 * Add filter `simple_history/show_promo_boxes` to determine if promo boxes should
   be shown.
 * Add developer mode badge to the page header.
 * Add new Tools tab with manual backfill option for importing historical events
   on demand.

**Changed**

 * Rename “Export” menu to “Export & Tools” and add tabbed interface to support 
   additional tools.
 * Post creation events now capture initial post content, excerpt, and status transitions
   to provide complete audit trail without information gaps.
 * Stop polling for new events after 10+ new events are detected to reduce server
   resource consumption from inactive browser tabs.
 * Improved auto-backfill completion message to be more user-friendly and include
   the number of days imported.
 * Improved welcome message text for clarity and better Premium feature promotion.
 * Admin Bar Quick View: Display count of similar events (occasions) on a new line
   below the main event message and style it.
 * Insights sidebar: Clicking on users now also filters the log by the last 30 days.
 * Insights sidebar: Update text to show current events in database and total events
   logged with links to settings page for retention period.
 * Insights sidebar: Improve messages for message count.
 * Decrease font size on stats sidebar stats box to fit more events.
 * Reduce number of HTTP requests by consolidating the small sidebar CSS file (just
   4 rules) into the main stylesheet that’s already being loaded on the page.
 * Hide sidebar donation box, support box, and review box when promo boxes are hidden
   for a cleaner interface with the premium add-on.
 * Internal code and UI refinements.
 * Tested up to WordPress 6.9.

**Fixed**

 * Fixed post creation via Gutenberg autosave not being logged.
 * Fixed incorrect timezone handling for imported user registration dates.
 * Fixed sidebar stats box styling conflict with premium add-on.
 * Fixed warning about invalid HTML nesting in the log GUI filters. [#548](https://github.com/bonny/WordPress-Simple-History/issues/548).

**Removed**

 * Remove donation box from sidebar.

### 5.18.0 (November 2025)

👆 This release makes sidebar stats interactive – click on avatars, user names, 
or chart dates to instantly filter your event log. It also fixes email reports always
showing Sunday as the busiest day, plus several bug fixes and improvements.
 [Read more about it in the release post](https://simple-history.com/2025/simple-history-5-18-0-released/)

**Added**

 * Context search to the log GUI filters.
 * Date support to create event REST API endpoint (allows creating events for specific
   dates).
 * User names to list of most active users in last 30 days (previously only showed
   avatars).
 * Clickable elements in sidebar stats box: avatars, user names, and chart dates
   now filter the event log when clicked.
 * Dedicated Experimental Features admin page for users with experimental features
   enabled.
 * New experimental feature: Import existing data from WordPress into Simple History(
   posts, pages, users, and attachments).

**Fixed**

 * Email reports always showing Sunday as the busiest day.
 * PHP warning “Trying to access array offset on value of type null” in Theme Logger
   when displaying widget events.
 * More timezone and localization issues.

**Changed**

 * Weekly email reports now sent earlier in the day (6 AM instead of 8 AM), so they
   are ready when the user wakes up.
 * Reordered sidebar stats: Most active users now appears before Daily activity 
   to group admin-only information together.
 * Misc internal code improvements and changes.

### 5.17.0 (October 2025)

This version focuses on stats alignment and accuracy, timezone handling fixes, email
report improvements, and performance optimizations.

Read more about it in the [release post](https://simple-history.com/2025/simple-history-5-17-0-released/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=documentation&utm_content=readme_doc_release_5_17_0).

**Added**

 * Add icon to sticky events label.
 * Add help text to sidebar stats box about refresh interval and what data is used
   for the statistics (for admin the stats are based on all events, for other users
   is based on the events they have permission to view).
 * Email reports: Add tooltips to email “Activity by day” showing full date (e.g.,“
   Thursday 2 October 2025”) on hover for each day.
 * Email reports: Each day is now a link to the full log for that day.

**Fixed**

 * Sidebar stats was not always using the correct cached data.
 * Fix timezone and date handling across all stats features (sidebar, Insights page,
   REST API, charts) and all filter dropdowns (Today, Last N days, custom date ranges,
   month filters) to use WordPress timezone instead of server/UTC timezone.
 * “Today” now correctly shows events from 00:00 until current time (previously 
   showed events from now minus 24 hours).
 * Email reports: Fix timezone and date handling issues (now consistently use WordPress
   timezone), improved daily stats accuracy, date range, and updated email copy.
 * Occasions count in main GUI was displaying incorrect number (always one event
   to many!) – button now shows the actual number of similar events that will be
   loaded when expanded.

**Changed**

 * Email preview now shows last 7 days including today (matching sidebar “7 days”
   stat) so users can verify preview numbers against sidebar.
 * Email sent on Mondays now shows previous complete Monday-Sunday week (excludes
   current Monday).
 * Email “Activity by day” now displays days in chronological order matching the
   date range instead of fixed calendar week order.
 * Use “Today” instead of “Last day” in main GUI filters to make it more clear what
   range is being shown.

**Performance**

 * Improved performance by loading logger messages only when needed, eliminating
   ~980 gettext filter calls on every page load. This reduces overhead to zero on
   pages that don’t use Simple History.
 * Optimized context handling when logging events with many context items using 
   batch inserts.
 * Plugin Logger now only runs gettext filters and auto-update detection on the 
   plugins.php page instead of globally.
 * Simplified plugin action list hooks by only hooking into our plugin.
 * Added autoloading of deprecated classes, so they are only loaded if needed.

**Removed**

 * Removed legacy AJAX API endpoint (`action=simple_history_api`). The plugin now
   uses the WordPress REST API exclusively.

## Meta

 *  Version **5.25.0**
 *  Last updated **6 days ago**
 *  Active installations **300,000+**
 *  WordPress version ** 6.3 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [Chinese (China)](https://cn.wordpress.org/plugins/simple-history/), [Danish](https://da.wordpress.org/plugins/simple-history/),
   [Dutch](https://nl.wordpress.org/plugins/simple-history/), [Dutch (Belgium)](https://nl-be.wordpress.org/plugins/simple-history/),
   [English (US)](https://wordpress.org/plugins/simple-history/), [French (France)](https://fr.wordpress.org/plugins/simple-history/),
   [German](https://de.wordpress.org/plugins/simple-history/), [German (Switzerland)](https://de-ch.wordpress.org/plugins/simple-history/),
   [Korean](https://ko.wordpress.org/plugins/simple-history/), [Polish](https://pl.wordpress.org/plugins/simple-history/),
   [Portuguese (Brazil)](https://br.wordpress.org/plugins/simple-history/), [Romanian](https://ro.wordpress.org/plugins/simple-history/),
   [Russian](https://ru.wordpress.org/plugins/simple-history/), [Spanish (Colombia)](https://es-co.wordpress.org/plugins/simple-history/),
   [Spanish (Mexico)](https://es-mx.wordpress.org/plugins/simple-history/), [Spanish (Spain)](https://es.wordpress.org/plugins/simple-history/),
   [Spanish (Venezuela)](https://ve.wordpress.org/plugins/simple-history/), and 
   [Swedish](https://sv.wordpress.org/plugins/simple-history/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/simple-history)
 * Tags
 * [activity](https://wordpress.org/plugins/tags/activity/)[audit log](https://wordpress.org/plugins/tags/audit-log/)
   [event log](https://wordpress.org/plugins/tags/event-log/)[history](https://wordpress.org/plugins/tags/history/)
   [user tracking](https://wordpress.org/plugins/tags/user-tracking/)
 *  [Advanced View](https://wordpress.org/plugins/simple-history/advanced/)

## Ratings

 4.9 out of 5 stars.

 *  [  438 5-star reviews     ](https://wordpress.org/support/plugin/simple-history/reviews/?filter=5)
 *  [  13 4-star reviews     ](https://wordpress.org/support/plugin/simple-history/reviews/?filter=4)
 *  [  5 3-star reviews     ](https://wordpress.org/support/plugin/simple-history/reviews/?filter=3)
 *  [  4 2-star reviews     ](https://wordpress.org/support/plugin/simple-history/reviews/?filter=2)
 *  [  4 1-star reviews     ](https://wordpress.org/support/plugin/simple-history/reviews/?filter=1)

[Add my review](https://wordpress.org/support/plugin/simple-history/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/simple-history/reviews/)

## Contributors

 *   [ Pär Thernström ](https://profiles.wordpress.org/eskapism/)
 *   [ Simple History ](https://profiles.wordpress.org/wpsimplehistory/)

## Support

Issues resolved in last two months:

     6 out of 7

 [View support forum](https://wordpress.org/support/plugin/simple-history/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://simple-history.com/sponsor/?utm_source=wordpress_org&utm_medium=plugin_directory&utm_campaign=sponsorship&utm_content=readme_donate_link)