Fix: /database/export now produces SQL dumps that round-trip cleanly through mysql import. Embedded newlines in TEXT/BLOB columns (notably cached RSS feed transients in wp_options) previously emerged as real newlines mid-INSERT and broke downstream parsers with Unknown command ‘”‘. Adds –default-character-set=binary –hex-blob –skip-extended-insert –complete-insert –quote-names –no-tablespaces to the mysqldump invocation.
Security: mysqldump credentials are now passed via a temporary –defaults-extra-file (mode 0600, unlinked after the dump completes) instead of –user/–password on the command line. Removes password exposure in ps output and stops the “Using a password on the command line interface can be insecure” warning from leaking into the SQL stream.
Fix: mysqldump stderr is now captured to a separate temp file so warnings or errors (e.g. tablespace privilege messages) cannot pollute the dump body.
Backups produced by the existing backup engine pick up the same fixes — same shared helper.
3.1.2
Fix: notification email defaults to the WordPress site admin email (admin_email) on initial install, instead of a hardcoded address. Existing installs without a saved value also fall back to the site admin email at send time.
3.1.1
Fix: plugin update emails now list each updated plugin with its name and version. The previous handler relied on $options[‘plugins’] which is sometimes empty during wp-cron auto-update runs, producing a “Plugin Updated” email with no plugin list.
New auto-update email handler hooked on automatic_updates_complete reports old → new version per plugin and flags any failed updates. Manual updates continue to use upgrader_process_complete.
Email body reformatted: site URL now sits on its own line so click-tracking rewriters (e.g. SendGrid) don’t pull in the trailing punctuation.
3.1
NEW: POST /database/export endpoint — produce a SQL dump of the current database with two delivery modes: stream (raw bytes inline) or url (one-time signed URL valid for 1 hour). Optional tables allowlist, find_replace byte-pairs applied to the dump, prefix, include_drop, and compress=gzip controls. 500 MB hard cap (filterable via gwd_conex_export_max_bytes). Reuses the backup engine’s mysqldump + PDO fallback; staged exports live under wp-content/uploads/gwd-conex/exports/ behind a deny-all .htaccess.
Refactor: GWD_Backups::find_mysqldump() is now public; new GWD_Backups::dump_database_to_file($path, $tables, $include_drop) is the shared dump entrypoint used by both the backup engine and the new export endpoint.
Documentation: External Services disclosures and Privacy section trimmed to remove operational subdomain and directory references.
3.0.1
Plugin display name updated to “GWD Conex” (was “GWD Connect”). No functional changes — folder slug, REST namespaces, option keys, and capability are unchanged, so no action is required after upgrade.
3.0
NEW: LeadConex integration — real-time push notifications for Contact Form 7 leads and WooCommerce orders
NEW: LeadConex submenu with 6-digit pairing code flow
NEW: Centrally-managed outbound email From address — overrides wp_mail_from / wp_mail_from_name on every paired site
NEW: Centrally-managed SMTP relay — all wp_mail() calls route through the LeadConex admin’s SMTP server (SendGrid, Postmark, SES, etc.) via phpmailer_init
NEW: SMTP credentials encrypted locally; refreshed daily via wp-cron heartbeat
NEW: REST agent endpoint for reverse dashboard health checks
Site credentials stored encrypted at rest
Signed non-blocking relay to the LeadConex service
2.9
Updated FAQ — clarified that full functionality works without activation
Rebranded dashboard references to GWD Central
2.8
Dashboard widgets now appear above default WordPress widgets
Logs tab cleanup — removed external dashboard link
Tested up to WordPress 6.9.4
2.7
Bundled logs agent for direct dashboard-to-agent communication
Logs registration now sends agent metadata to the logs dashboard
REST endpoint for remote log retrieval and agent updates
2.6
Log size alert system — configurable email and MB threshold with daily cron checks
Duplicate alert prevention using size-bucket tracking
Alert check runs on plugin activation for immediate detection
2.5
Native Canvas line chart for uptime response times with color-coded thresholds
Uptime stat cards redesigned with horizontal flex layout