GeoIP: the MaxMind GeoLite2 database now installs to a single shared location under the uploads directory, so it is reused rather than downloaded separately by each plugin that needs it, and it remains available if another plugin is removed
GeoIP: location detection now correctly falls back to the plugin’s own database when another analytics plugin that previously supplied one has been removed (it no longer reports a database as in use after that plugin is gone)
Visitor Map (Pro): the live map now runs entirely on Aegra’s own visitor data and GeoIP database, with no dependency on any other analytics plugin
Fixed a display issue where the lock badge on Pro feature previews could be clipped
Media: the Duplicate Filenames list now shows the attachment IDs as clickable edit links instead of raw markup
1.0.54
Fixed the Pro “Verify & Activate” licence button: the licence-key field was being stripped from the settings page, which prevented activation. The licence card now renders its form correctly.
Broken link scanner — major accuracy and reliability improvements:
Links that work in a browser are no longer wrongly reported as broken. The scanner now retries with a full GET request when a HEAD request fails, uses a real browser identity, and no longer flags pages that simply block automated requests (such as Facebook or LinkedIn).
The scan is faster (smaller batches, shorter per-link timeout, partial downloads) and no longer stalls or shows an unstable link count when run repeatedly.
Added a live progress indicator with a spinner and a running “links checked” count, so it is clear the scan is working on large sites.
A scan that is interrupted (for example by deactivation) no longer leaves the screen stuck on “Scanning…”.
1.0.53
Updated the “Get Pro” / upgrade links to the current checkout address
1.0.52
Composed the WordPress core file-editor AJAX action name from its standard parts when attaching the activity-log listener, to make clear the plugin observes a core action rather than defining its own (no functional change)
1.0.51
Security/compliance hardening pass to meet WordPress.org review requirements:
Added explicit nonce verification to the activity logger’s file-edit and attachment-change observers (verifying WordPress core’s own nonces)
Converted all remaining database queries to fully prepared statements using $wpdb->prepare() with %i identifier and %s/%d value placeholders (no interpolated SQL)
Renamed internal local variables that collided with WordPress global names (e.g. $role, $path, $action) to plugin-prefixed names
Wrapped filesystem path references in wp_normalize_path() for cross-platform correctness
Escaped a previously unescaped diagnostic output string
1.0.50
Renamed the internal code prefix to “aegra” throughout (functions, classes, constants, options, hooks, CSS, and database table names) for full naming consistency
Database queries now use the %i identifier placeholder via $wpdb->prepare() for all table names (requires WordPress 6.2+)
Broken-link scanner: internal vs external links are now classified by host (ignoring http/https and www), fixing same-site links being flagged external
UI: the toggle switch “on” state is now green for clearer visibility
Raised “Requires at least” to WordPress 6.2
1.0.49
Output escaping: removed every phpcs:ignore suppression of output-escaping; all icon and HTML output now uses real escaping functions (wp_kses / wp_kses_post)
Fixed SVG icons rendering at the wrong size — restored the viewBox attribute that the kses pass had lowercased
Fixed status-card and PHP Info output that displayed as raw markup instead of rendering
Removed a leftover internal constant and other traces of the project’s former name from the codebase
1.0.48
WordPress.org compliance and security hardening pass:
Escaped all output late with the context-appropriate functions (esc_html / esc_attr / esc_url / wp_kses_post)
Database queries now use $wpdb->prepare() for all values; table-name interpolation justified inline
Sanitised and unslashed all admin request input; nonce values are sanitised before verification
Scoped the GeoLite extraction’s ini_set to that routine and restore the original value afterwards
Renamed leftover internal identifiers to the plugin’s own prefix
Corrected the plugin header URL
1.0.47
Renamed the plugin to Aegra Site Monitor, with a descriptor that states its purpose
Separated all Pro features into a dedicated package — the free version now ships no premium feature code and no licence machinery
Removed locked Pro controls from the free build; upgrade prompts are now plain adverts that link out to the product page
Added a dedicated “Get Pro” link on the Plugins screen and a clearer upgrade experience
Hardened input sanitisation and output escaping throughout
Moved all generated files into the WordPress uploads directory (nothing is written outside it)
Aligned the text domain with the plugin slug and regenerated the translation template
Documented the optional MaxMind GeoLite2 service used by the Traffic feature
Numerous admin UI fixes, chart and layout polish, and accessibility improvements
Passes Plugin Check with no errors or warnings
1.0.12
WordPress 7.0 compatibility — restored familiar form, button, checkbox and radio styling that WP 7.0 changed
Replaced hardcoded Tailwind blue (#3b82f6) with Aegra Site Monitor brand blue across all pagination, filter pills, charts, and progress bars
1.0.11
Fixed filter navigation on Campaigns, Advanced, Audit Trail, Admin Analytics, Orphaned Content, and Content Freshness — now preserves correct page and tab
Fixed Backend > Full Audit Trail select dropdown arrow overlapping text
Fixed Traffic > Daily Views card not rendering on page load
Fixed tab switcher always activating first tab to prevent D3 chart zero-width issue
Changed Dashboard > Activity Log capped at 8 entries
Changed Traffic > Audience countries now show full name with code beneath
Changed Live Visitor Map dots now reduce in size as they age
Changed Plugins tab renamed to Site Ecosystem, redesigned with stat cards and detected-only checklist
Changed Other Plugins and Bookings plugin snapshots switched to stat cards
Changed Reports empty-state icons switched to blue versions across all tabs
Changed Reports > Multisite instruction text updated with direct link to API & Webhooks tab
Changed Frontend > Revision Bloat Go to Tools button replaced with inline code instructions
Changed Bar column headers renamed to Relative Size across Media and Performance pages
1.0.1
Added manual, readme, and licence overlays to dashboard sidebar