Dragon Activity Log
A quiet pointer to the Pro add-on: an Upgrade to Pro link on the Plugins screen, a one-line note at the foot of the plugin's screens, and a single dismissible notice once the plugin has done its job. Nothing in the free plugin is locked or changed, and all three disappear when Pro is active.
Listing only: a clearer WordPress.org title and tags, so people searching for an audit log or user activity trail can find the plugin. No functional changes.
Adds a one-time WordPress.org review prompt on the Activity Log screen after your first integrity check or anchor. No other changes.
- Now hosted on WordPress.org: https://wordpress.org/plugins/dragon-activity-log/
Off-site chain anchor (email the chain head on a schedule, optionally to a signed webhook, and compare the log against any anchor later) and Site Health integration.
= 1.0.12 =
- New: off-site chain anchor. Email the chain head daily or weekly (optionally also to a signed webhook you control), send one on demand, and compare the log against any anchor from the Integrity tab or WP-CLI (
verify --anchor=<reference>). Each anchor is recorded in the log itself. This closes the one gap a self-checking chain has: a rewrite by someone with database access. - New: Site Health integration. An "Activity log integrity" test, an "off-site anchor" test, and a Dragon Activity Log section under Info.
Secret-shaped settings (API keys, tokens, passwords, licences) are never read by the log when they change or are deleted; the change is still recorded with the value dropped at the source.
= 1.0.11 =
- Secret-shaped settings (API keys, tokens, passwords, licences) are no longer read at all when they change or are deleted: the event still records that the setting changed, but the value is dropped at the source and is not passed to add-ons either.
Integrity chain hardening (the hash now covers the event id with an unambiguous encoding; chains rebuild once on update), honest verification results, safer cleanup and erasure, trusted proxy list, working Screen Options, and a quieter log.
= 1.0.10 =
- Integrity chain hardening: the hash now covers the event id and uses an unambiguous encoding, so a row cannot be renumbered or have field boundaries shifted unnoticed. Existing chains are rebuilt once after updating (the log itself is untouched).
- Verification now says exactly what it checked: it reports events not yet sealed, tells you when it ran out of time on a very large log, and no longer reports "intact" when another process held the lock.
- Clearing the log or erasing someone's data checks the chain first and records the outcome; an erasure that removes nothing leaves the chain alone.
- Retention cleanup removes a contiguous block of oldest events and re-anchors after every batch, so an interrupted run can never leave the chain unverifiable; "Run cleanup now" applies the number in the retention field, saved or not, and says so.
- Optional list of trusted proxy addresses (IPs or CIDR ranges): when set, proxy headers are honoured only for connections from those addresses.
- Screen Options on the log now work: choose how many events to show per page and hide columns; live-stream rows respect hidden columns, keep the page at its size and update the item count.
- Hosts whose database cannot provide advisory locks (for example Galera clusters) fall back to an owned option-row lease, so sealing and cleanup keep running there.
- The background sealer reads the chain state straight from the database before every write, so no cache layer can hand it a stale copy.
- The events table is created on first load for any site that never ran activation, and a missing table (restored database, manual drop) is recreated on the next request instead of surfacing database errors.
- Live-stream rows now show the object type and the field-level change table, exactly like rows rendered on load; a log cleared from another tab reloads open log screens; a lost session shows a message instead of silently stopping; typing a page number in the pagination box works.
- Publishing a draft while editing it records one event carrying both the status change and the field changes (previously the field changes were lost). Role additions and removals, and network user deletions, are recorded.
- Less noise: editor autosaves of a draft, and the two option writes behind a theme switch, no longer add rows (the theme switch itself is still logged). On a network, option changes made while switched to another site are recorded on that site.
- JSON-encoded settings values are summarised like arrays instead of being stored verbatim, so a credential nested inside one never reaches the log.
- Comment status events use translated labels; setting an image's alt text for the first time logs once, and removing it is recorded.
- Retention runs during normal traffic when WP-Cron never fires; network deactivation clears scheduled tasks on every site.
- Accessibility: the active tab is announced, change-detail field names are proper row headers, settings guidance meets contrast requirements, and layout mirrors correctly for right-to-left languages.
One tabbed Tools > Activity Log screen, logins attributed to the right user, privacy export and erasure cover everything about a user, and the Dragon design-system pills throughout.
= 1.0.9 =
- The log, integrity check and settings now live on one Tools > Activity Log screen with tabs instead of three separate Tools menu entries. Old links redirect.
- Logins, logouts and password resets are attributed to the user concerned instead of "System / Guest" (WordPress fires those hooks before it sets the current user), so role exclusions apply to them and privacy export and erasure cover them.
- Personal data export and erasure now include events about the user's account and failed logins against their username, not only events they caused.
- Live updates pause automatically while a filter, search or a page other than the first is active, so filtered views are no longer interrupted by unfiltered rows.
- Severity is shown with the Dragon design system's tinted pills and row markers, and the integrity and cleanup messages are now translatable.
- New "Run cleanup now" button on the Settings tab applies the retention window immediately.
- Media alt text changes are recorded with the old and new value; previously that field never showed a difference.
- Changes to the plugin's own settings are logged, and clearing the log records a "log cleared" event as the first row of the new chain.
- Date filters use the site's timezone; the retention field only accepts whole days; the daily cleanup and chain reset coordinate with the background sealer so a rare overlap cannot leave the chain unverifiable.
- The events table is created on sites that never ran activation (network activation only runs it on the main site) and schema updates apply on upgrade.
- Events are no longer recorded before WordPress has finished loading, which fixes a "translation loading triggered too early" notice when another plugin crashed during startup.
- Uninstalling with "Delete all data" opted in now also removes that setting itself, and on a network it runs for every site.
- Network activation creates the events table on every site, and new network sites get one automatically.
- Fresh plugin and theme installs are recorded (previously only updates were); deleted options are recorded too.
- The live stream delivers bursts larger than one page across consecutive polls instead of skipping the middle, and guest rows show the "System / Guest" label.
- The migration of settings from the 1.0.0 option names has been removed; sites still on 1.0.0 start with default settings after updating.
The retention setting now accepts 0 to keep events forever - any retention window, or none at all, is available in the free plugin.
= 1.0.8 =
- Retention: the retention setting now accepts 0 to keep events forever. Any retention window, or none at all, is available in the free plugin.
Security & integrity update: tamper checks now detect if the most recent log entries are deleted, and stored secrets are authenticated at rest.
= 1.0.7 =
- Security: integrity verification now detects truncation of the newest sealed log entries (deleting the tail no longer passes as "verified").
- Hardening: secrets stored at rest now use authenticated encryption; existing data keeps working.
Tested and verified on WordPress 7.1.
- Compatibility: tested up to WordPress 7.1.
Accessibility improvements across the log screens: screen-reader labels on every filter and proper table header markup.
Your data now survives uninstall by default.
Uninstalling no longer deletes the plugin's data unless you explicitly opt in first, so removing it to debug — or coming back later — keeps everything intact. Where the plugin has a settings screen you'll find a new "Delete all data on uninstall" option; leave it off to keep your data.
A cleaner, consistent look: the Dragon design system arrives.
This release brings Dragon Core's design system to every screen: a consistent header with the Dragon mark, cleaner tables, and unified status colours across the whole plugin family. Purely visual — everything behaves exactly as before.
No notes for this release.
No notes for this release.
No notes for this release.