= 1.6.2 [2026-08-17] =

* New (Pro): Yoast SEO tracking — records changes to SEO title, meta description, focus keyphrase, social and X titles, descriptions and images, canonical URL, indexing and following, cornerstone content, schema page and article types, and breadcrumb title.
* New (Pro): Yoast SEO changes are captured wherever they are made — the block editor, the classic editor, Quick Edit, the REST API, and WP-CLI — and each save produces a single entry listing every field that changed with its old and new value. Changes that affect how search engines treat the page are recorded at a higher severity.
* New: `kc_lf_log_retention_days`, `kc_lf_yoast_tracked_fields` filters and the `kc_lf_after_retention_purge` action for developers.
* Fix: Exclusion Rules were never applied. Rules for users, roles, IP addresses, post types, post statuses, and event categories are now honoured, and excluded activity is dropped before it reaches the database. The `kc_lf_should_log` filter now fires as documented.
* Fix: The Log Retention Period was never applied, so the activity log grew indefinitely whatever the setting. A daily task now removes entries past the configured period, working in batches so a large backlog does not tie up the database. "Keep Indefinitely" disables it.
* Fix: Data Anonymization only removed the IP column from the Activity Logs screen, leaving the full address visible in the details panel and in exports, and never masked the country. IP addresses are now masked everywhere they appear, and "Anonymise All Data" hides the country as well.
* Fix: Theme installs and theme updates were recorded with the wrong event type and appeared as plugin activity. Existing entries are corrected automatically on update.


= 1.6.1 [2026-08-13] =

* New (Pro): Activity Timeline — a chronological, per-user view of everything that happened, filterable by user and date range, with load-more paging and a link straight from each row on the Users screen.
* New (Pro): WooCommerce activity logging — products (created, updated, trashed, restored, deleted), orders (created, status changed, updated, items added / removed / quantity changed, refunded, refund deleted), coupons, customers, product categories, product tags, and WooCommerce settings changes.
* New: Branding footer on Logify admin screens with quick links to About, Documentation, and Support, adapted for PRO users.
* Update: Severity badges are cleaner — the leading dot has been removed.
* Update: Refreshed plugin icon and updated the Freemius SDK.
* Fix: Fatal error on activation — "Call to undefined method Install::get_152_schema()". A schema refactor left three migrations calling methods that no longer existed, so both fresh installs and upgrades died before the email log and user session tables were created.
* Fix: create_tables() now falls back to the current schema instead of a fatal error when a migration names a schema method that is missing.
* Fix: The WordPress admin footer could overlap the Logify branding footer on short pages.


= 1.6.0 [2026-08-05] =

* New: Force Logout — end any user's session from the User Sessions screen. The session is terminated in WordPress itself, so the next request from that browser is signed out.
* New: User Sessions is now backed by a dedicated session ledger, tracking each login separately with status (active, idle, expired, revoked), login time, last activity, duration, browser, device, and IP / country.
* New: User Sessions list table with per-user filtering, adjustable rows per page, pagination, and bulk delete.
* New: Sessions that already existed before Logify started tracking are imported automatically, so users who were logged in before the upgrade can be force-logged-out too.
* New: Stale sessions are retired automatically on an hourly schedule, so the list reflects who is actually online.
* New: Every forced logout is recorded in the activity log as its own event, with the administrator who performed it.
* New: Logins are tagged with the method used — a login through Magic Link or a Temporary Login link is labelled as such in the Activity Logs list.
* New (Pro): Track URL Shortify short links — created, updated, and deleted.
* Update: Outbound links now carry campaign parameters so link performance can be measured, and all upgrade and pricing links point to the Logify product page.
* Update: The email log table is renamed to use the plugin's standard table prefix. The rename runs automatically on update.
* Fix: Force Logout did nothing on sites where the session predated the feature — the imported session could never be matched back to the browser's login cookie.
* Fix: Forced logouts were recorded as an empty activity log entry, with no event type, action, or acting user.
* Fix: Session duration was calculated incorrectly for sessions that had ended.


= 1.5.3 [2026-07-27] =

* New: Before / After change view — the log details panel now shows the previous and updated value side by side for profile updates, WordPress settings, taxonomy terms, widget layouts, and status changes.
* New: Delete a single log entry directly from the Activity Logs row actions, with a confirmation prompt.
* New: Refresh button on the Dashboard to rebuild the cached statistics on demand instead of waiting for the cache to expire.
* New: Country lookups now run in the background after the log entry is saved, so geolocation never slows down the page that triggered the event.
* New: Multi-source country detection with automatic fallback — trusted CDN headers (opt-in), a local MaxMind / GeoIP2 database when installed, then ipapi.co with ipwho.is as backup, plus caching and a lookup lock to avoid repeat requests.
* New (Pro): Email Logs — every email WordPress sends is recorded with recipient, CC, BCC, Reply-To, subject, body, attachments, IP, and delivery status, including the error message when a send fails.
* New (Pro): User Sessions screen — active and expired sessions per user with login time, last activity, duration, browser, device, IP / country, and a per-user filter.
* Update: User profile updates now record exactly which fields changed (display name, email, roles) instead of a generic "profile updated" message.
* Update (Pro): Dashboard "Top IP Addresses" card is now "Top Countries", showing full country names.
* Update: Database schema is upgraded automatically to add the email log table on update.
* Update: Admin styles and scripts refreshed for the new screens.


= 1.1.1 =

* Update: Generate .POT file.

= 1.1.0 =

* New: Added more user activities to log.
* Update: WordPress 6.8.2 compatibility.
* Update: Generate .POT file.

= 1.0.11 =

* Update: WordPress 6.7.2 compatibility.

= 1.0.10 =

* Update: WordPress 6.7.1 compatibility.

= 1.0.9 =

* New: Add blueprints for live preview.

= 1.0.8 =

Fix: Integration issue.

= 1.0.7 =

* Update: Assets

= 1.0.6 =

* Fix: Include missing directory.

= 1.0.5 =

* Fix: DB query issue.

= 1.0.4 =

* Fix: Issues reported by Plugin Check plugin & Plugin Review team.

= 1.0.3 =

* Fix: Code sanitization.

= 1.0.2 =

* Code improvements.

= 1.0.1 =

* Code improvements based on the plugin check.

= 1.0.0 =

* Initial commit.