{"id":266814,"date":"2025-12-18T18:58:29","date_gmt":"2025-12-18T18:58:29","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pushrelay-integration\/"},"modified":"2026-01-17T03:25:34","modified_gmt":"2026-01-17T03:25:34","slug":"pushrelay","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/pushrelay\/","author":23414269,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.7.3","stable_tag":"1.7.3","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"PushRelay - Push Notifications","header_author":"PushRelay","header_description":"Push notifications for WordPress with automatic integration.","assets_banners_color":"3d7eea","last_updated":"2026-01-17 03:25:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/pushrelay.com","header_author_uri":"https:\/\/pushrelay.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":307,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"pushrelay","date":"2025-12-18 19:07:49"},"1.2.0":{"tag":"1.2.0","author":"pushrelay","date":"2025-12-18 19:49:38"},"1.2.1":{"tag":"1.2.1","author":"pushrelay","date":"2025-12-18 20:19:51"},"1.2.2":{"tag":"1.2.2","author":"pushrelay","date":"2025-12-18 20:41:14"},"1.4.0":{"tag":"1.4.0","author":"pushrelay","date":"2025-12-18 23:23:45"},"1.5.0":{"tag":"1.5.0","author":"pushrelay","date":"2025-12-19 00:21:59"},"1.6.0":{"tag":"1.6.0","author":"pushrelay","date":"2026-01-05 17:45:11"},"1.7.0":{"tag":"1.7.0","author":"pushrelay","date":"2026-01-11 21:53:52"},"1.7.1":{"tag":"1.7.1","author":"pushrelay","date":"2026-01-17 03:03:27"},"1.7.2":{"tag":"1.7.2","author":"pushrelay","date":"2026-01-17 02:59:37"},"1.7.3":{"tag":"1.7.3","author":"pushrelay","date":"2026-01-17 03:25:34"}},"upgrade_notice":{"1.7.3":"<p>Changelog correction only. No functional changes. No breaking changes.<\/p>","1.7.2":"<p>PHP 8.2+ compatibility fixes. Documentation improvements. No breaking changes.<\/p>","1.7.1":"<p>Campaign UX improvements. Auto-refresh and widget sync fixes. No breaking changes.<\/p>","1.7.0":"<p>Live campaign status polling and dashboard widget sync. No breaking changes.<\/p>","1.6.3":"<p>Campaign list now updates automatically after creation. No manual refresh needed. No breaking changes.<\/p>","1.6.2":"<p>Internal improvements only. Better logging, diagnostics, and reliability. No user-visible changes. Safe upgrade.<\/p>","1.6.1":"<p>Safe maintenance update. Improves logging and API resilience. No database changes. No breaking changes.<\/p>","1.6.0":"<p>Major update with WooCommerce integration, advanced segmentation, automated campaigns, and much more. Automatic upgrade from 1.5.0 - your settings will be preserved.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3437249,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3437249,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.2.0","1.2.1","1.2.2","1.4.0","1.5.0","1.6.0","1.7.0","1.7.1","1.7.2","1.7.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Dashboard - Overview of all your statistics and recent campaigns","2":"Campaign Builder - Create beautiful notifications with images and buttons","3":"Subscriber Management - View and segment your subscribers","4":"Analytics - Detailed insights into campaign performance","5":"WooCommerce Integration - Cart abandonment and automated notifications","6":"Health Check - Monitor your plugin's health and API connectivity","7":"Segmentation Builder - Create targeted subscriber segments visually","8":"Settings - Easy configuration with auto-detection"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[307,456,4906,1155,37677],"plugin_category":[45],"plugin_contributors":[252471],"plugin_business_model":[],"class_list":["post-266814","plugin","type-plugin","status-publish","hentry","plugin_tags-engagement","plugin_tags-marketing","plugin_tags-notifications","plugin_tags-push-notifications","plugin_tags-web-push","plugin_category-ecommerce","plugin_contributors-pushrelay","plugin_committers-pushrelay"],"banners":{"banner":"https:\/\/ps.w.org\/pushrelay\/assets\/banner-772x250.png?rev=3437249","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pushrelay\/assets\/icon-256x256.png?rev=3437249","icon_2x":"https:\/\/ps.w.org\/pushrelay\/assets\/icon-256x256.png?rev=3437249","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>PushRelay lets you send web push notifications to your WordPress visitors. Use it to announce new content, recover abandoned carts, and keep your audience engaged \u2014 all without requiring email addresses.<\/p>\n\n<p><strong>Requires a free PushRelay account and API key from <a href=\"https:\/\/pushrelay.com\">pushrelay.com<\/a>.<\/strong><\/p>\n\n<h4>What You Can Do<\/h4>\n\n<ul>\n<li><strong>Bring visitors back<\/strong> \u2014 Send notifications about new posts, products, or updates<\/li>\n<li><strong>Recover abandoned carts<\/strong> \u2014 Remind WooCommerce shoppers to complete their purchase<\/li>\n<li><strong>Announce sales &amp; events<\/strong> \u2014 Time-sensitive notifications reach users instantly<\/li>\n<li><strong>Automate campaigns<\/strong> \u2014 Trigger notifications when posts are published<\/li>\n<li><strong>Segment your audience<\/strong> \u2014 Target by device, location, or custom parameters<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Visitors opt-in to receive notifications (permission-based, no spam)<\/li>\n<li>You create campaigns from your WordPress dashboard<\/li>\n<li>Notifications appear on subscribers' devices \u2014 even when they're not on your site<\/li>\n<\/ol>\n\n<h4>Key Features<\/h4>\n\n<p><strong>Smart Campaign Management<\/strong>\n* Manual campaigns with rich media support\n* Scheduled campaigns with timezone support\n* Automated campaigns triggered by events\n* A\/B testing capabilities\n* RSS to Push notifications\n* Drip campaigns<\/p>\n\n<p><strong>Advanced Segmentation<\/strong>\n* Filter by location (country, city, continent)\n* Device type (mobile, desktop, tablet)\n* Browser and operating system\n* Custom parameters\n* Engagement metrics\n* Subscription date\n* WooCommerce purchase history<\/p>\n\n<p><strong>WooCommerce Integration<\/strong>\n* Cart abandonment recovery\n* Back in stock notifications\n* Price drop alerts\n* New product announcements\n* Order status updates\n* Customer segmentation by purchase behavior\n* Revenue tracking<\/p>\n\n<p><strong>Analytics &amp; Reporting<\/strong>\n* Real-time dashboard\n* Click-through rates (CTR)\n* Display rates\n* Conversion tracking\n* Subscriber growth charts\n* Campaign performance comparison\n* Export to CSV\n* Performance scoring<\/p>\n\n<p><strong>Developer Friendly<\/strong>\n* Comprehensive REST API integration\n* Multiple shortcodes for easy integration\n* WordPress hooks and filters\n* Debug mode with detailed logging\n* System health monitoring\n* Documented codebase<\/p>\n\n<h3>\ud83c\udfaf PERFECT FOR<\/h3>\n\n<ul>\n<li><strong>E-commerce stores<\/strong> - Recover abandoned carts and boost sales<\/li>\n<li><strong>News &amp; Media sites<\/strong> - Instant content delivery to readers<\/li>\n<li><strong>Bloggers<\/strong> - Keep readers engaged with new posts<\/li>\n<li><strong>Membership sites<\/strong> - Important updates and announcements<\/li>\n<li><strong>Event organizers<\/strong> - Time-sensitive notifications<\/li>\n<li><strong>SaaS platforms<\/strong> - Product updates and feature releases<\/li>\n<\/ul>\n\n<h3>\ud83d\udee0\ufe0f SETUP IN MINUTES<\/h3>\n\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Enter your PushRelay API key<\/li>\n<li>The plugin auto-detects your website configuration<\/li>\n<li>Service worker installs automatically<\/li>\n<li>Start sending notifications!<\/li>\n<\/ol>\n\n<p>No coding required. No FTP access needed. Everything works out of the box.<\/p>\n\n<h3>\ud83d\udcca SHORTCODES<\/h3>\n\n<p>Make push notifications part of your content with these easy shortcodes:<\/p>\n\n<ul>\n<li><code>[pushrelay_subscribe]<\/code> - Add a subscribe button anywhere<\/li>\n<li><code>[pushrelay_count]<\/code> - Display subscriber count<\/li>\n<li><code>[pushrelay_stats]<\/code> - Show statistics<\/li>\n<li><code>[pushrelay_widget]<\/code> - Full subscription widget<\/li>\n<li><code>[pushrelay_status]<\/code> - Subscription status indicator<\/li>\n<li><code>[pushrelay_health_score]<\/code> - System health score<\/li>\n<\/ul>\n\n<h3>\ud83c\udfa8 CUSTOMIZATION<\/h3>\n\n<ul>\n<li>Visual widget customization<\/li>\n<li>Custom CSS support<\/li>\n<li>Template system for notifications<\/li>\n<li>Branding options<\/li>\n<li>Multiple language support<\/li>\n<li>RTL support<\/li>\n<\/ul>\n\n<h3>\ud83d\udd12 PRIVACY &amp; SECURITY<\/h3>\n\n<ul>\n<li>GDPR compliant<\/li>\n<li>No data stored without consent<\/li>\n<li>Secure API communication<\/li>\n<li>Opt-in\/opt-out management<\/li>\n<li>IP anonymization options<\/li>\n<li>Privacy policy integration<\/li>\n<\/ul>\n\n<h3>\ud83d\udca1 SUPPORT &amp; RESOURCES<\/h3>\n\n<p><strong>Plugin Support:<\/strong>\n* WordPress.org support forums (recommended)\n* Built-in ticket system in your WordPress dashboard\n* Automatic log attachment for faster resolution<\/p>\n\n<p><strong>Documentation:<\/strong>\n* <a href=\"https:\/\/pushrelay.com\/api-documentation\">API Documentation<\/a>\n* <a href=\"https:\/\/pushrelay.com\/blog\/\">Blog &amp; Tutorials<\/a><\/p>\n\n<p><strong>Open Source:<\/strong>\n* <a href=\"https:\/\/github.com\/pushrelay\/pushrelay\">GitHub Repository<\/a>\n* Contributions welcome via pull requests\n* Bug reports via GitHub Issues<\/p>\n\n<p><strong>Business Inquiries Only:<\/strong>\n* <a href=\"https:\/\/pushrelay.com\/contact\">Contact Page<\/a> (not for plugin support)<\/p>\n\n<p><em>Note: For plugin support, please use the WordPress.org forums or the built-in ticket system. GitHub Issues are for bug reports and feature requests, not general support.<\/em><\/p>\n\n<h3>\ud83c\udf10 REQUIREMENTS<\/h3>\n\n<ul>\n<li>WordPress 5.8 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>HTTPS (SSL certificate required for push notifications)<\/li>\n<li>PushRelay account (free signup available)<\/li>\n<\/ul>\n\n<h3>\ud83c\udd93 FREE FEATURES<\/h3>\n\n<ul>\n<li>Unlimited subscribers<\/li>\n<li>Unlimited campaigns<\/li>\n<li>Basic analytics<\/li>\n<li>Manual notifications<\/li>\n<li>Email support<\/li>\n<\/ul>\n\n<h3>\ud83d\udc8e PREMIUM FEATURES<\/h3>\n\n<ul>\n<li>Advanced segmentation<\/li>\n<li>WooCommerce integration<\/li>\n<li>Automated campaigns<\/li>\n<li>A\/B testing<\/li>\n<li>Priority support<\/li>\n<li>Advanced analytics<\/li>\n<li>Custom integrations<\/li>\n<\/ul>\n\n<h3>Privacy Policy<\/h3>\n\n<p>PushRelay takes your privacy seriously:<\/p>\n\n<p><strong>Data Collection:<\/strong>\n* Subscriber endpoint (required for push notifications)\n* Device information (browser, OS, device type)\n* Geographic data (country, city - optional)\n* Custom parameters (optional, set by you)<\/p>\n\n<p><strong>Data Usage:<\/strong>\n* Send push notifications\n* Analytics and reporting\n* Segmentation\n* Service improvement<\/p>\n\n<p><strong>Data Sharing:<\/strong>\n* Data is stored on PushRelay servers\n* Not sold to third parties\n* Used only for notification delivery<\/p>\n\n<p><strong>User Rights:<\/strong>\n* Users can unsubscribe anytime\n* Data deletion requests honored\n* GDPR compliant<\/p>\n\n<p>For full privacy policy, visit <a href=\"https:\/\/pushrelay.com\/privacy\">pushrelay.com\/privacy<\/a><\/p>\n\n<h3>Additional Info<\/h3>\n\n<p><strong>Links:<\/strong>\n* <a href=\"https:\/\/pushrelay.com\">Website<\/a>\n* <a href=\"https:\/\/docs.pushrelay.com\">Documentation<\/a>\n* <a href=\"https:\/\/support.pushrelay.com\">Support<\/a>\n* <a href=\"https:\/\/pushrelay.com\/api-docs\">API Documentation<\/a>\n* <a href=\"https:\/\/pushrelay.com\/privacy\">Privacy Policy<\/a>\n* <a href=\"https:\/\/pushrelay.com\/terms\">Terms of Service<\/a><\/p>\n\n<p><strong>Connect:<\/strong>\n* <a href=\"https:\/\/twitter.com\/pushrelay\">Twitter<\/a>\n* <a href=\"https:\/\/facebook.com\/pushrelay\">Facebook<\/a>\n* <a href=\"https:\/\/youtube.com\/pushrelay\">YouTube<\/a><\/p>\n\n<p><strong>Contribute:<\/strong>\nThis plugin is open source. Contributions are welcome!\n* <a href=\"https:\/\/github.com\/pushrelay\/wordpress-plugin\">GitHub Repository<\/a><\/p>\n\n<h3>Credits<\/h3>\n\n<p>Created by the PushRelay team with \u2764\ufe0f<\/p>\n\n<p>Special thanks to:\n* All our beta testers\n* WordPress community\n* WooCommerce team\n* Chart.js for beautiful charts<\/p>\n\n<!--section=installation-->\n<h3>Automatic Installation<\/h3>\n\n<ol>\n<li>Log in to your WordPress dashboard<\/li>\n<li>Navigate to Plugins \u2192 Add New<\/li>\n<li>Search for \"PushRelay\"<\/li>\n<li>Click \"Install Now\" and then \"Activate\"<\/li>\n<li>Follow the setup wizard<\/li>\n<\/ol>\n\n<h3>Manual Installation<\/h3>\n\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Log in to your WordPress dashboard<\/li>\n<li>Navigate to Plugins \u2192 Add New \u2192 Upload Plugin<\/li>\n<li>Choose the zip file and click \"Install Now\"<\/li>\n<li>Activate the plugin<\/li>\n<li>Follow the setup wizard<\/li>\n<\/ol>\n\n<h3>Configuration<\/h3>\n\n<ol>\n<li>After activation, you'll be redirected to the setup wizard<\/li>\n<li>Enter your PushRelay API key (get one free at pushrelay.com)<\/li>\n<li>The plugin will auto-detect your website<\/li>\n<li>Select your website from the list<\/li>\n<li>The service worker will be installed automatically<\/li>\n<li>You're ready to send notifications!<\/li>\n<\/ol>\n\n<h3>Getting Your API Key<\/h3>\n\n<ol>\n<li>Sign up for free at <a href=\"https:\/\/pushrelay.com\">pushrelay.com<\/a><\/li>\n<li>Create a new website in your dashboard<\/li>\n<li>Copy your API key from Settings \u2192 API<\/li>\n<li>Paste it into the WordPress plugin settings<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20pushrelay%20account%3F\"><h3>Do I need a PushRelay account?<\/h3><\/dt>\n<dd><p>Yes, you need a free PushRelay account to use this plugin. Sign up at <a href=\"https:\/\/pushrelay.com\">pushrelay.com<\/a>.<\/p><\/dd>\n<dt id=\"is%20https%20required%3F\"><h3>Is HTTPS required?<\/h3><\/dt>\n<dd><p>Yes, web push notifications require HTTPS. Make sure your site has a valid SSL certificate installed.<\/p><\/dd>\n<dt id=\"will%20this%20work%20with%20woocommerce%3F\"><h3>Will this work with WooCommerce?<\/h3><\/dt>\n<dd><p>Absolutely! We have deep WooCommerce integration including cart abandonment, back in stock alerts, price drops, and order status notifications.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20subscription%20prompt%3F\"><h3>Can I customize the subscription prompt?<\/h3><\/dt>\n<dd><p>Yes, you can fully customize the widget design, text, colors, and positioning through the plugin settings or via your PushRelay dashboard.<\/p><\/dd>\n<dt id=\"how%20many%20subscribers%20can%20i%20have%3F\"><h3>How many subscribers can I have?<\/h3><\/dt>\n<dd><p>There's no limit on subscribers. You can have unlimited subscribers on all plans.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20mobile%20devices%3F\"><h3>Does it work on mobile devices?<\/h3><\/dt>\n<dd><p>Yes! Push notifications work on both desktop and mobile devices (Android Chrome, Firefox, Safari 16.4+).<\/p><\/dd>\n<dt id=\"can%20i%20send%20notifications%20automatically%3F\"><h3>Can I send notifications automatically?<\/h3><\/dt>\n<dd><p>Yes, you can set up automated notifications for new posts, WooCommerce events, and custom triggers.<\/p><\/dd>\n<dt id=\"is%20the%20service%20worker%20installed%20automatically%3F\"><h3>Is the service worker installed automatically?<\/h3><\/dt>\n<dd><p>Yes! Unlike other plugins, PushRelay automatically installs and manages the service worker. No FTP access needed.<\/p><\/dd>\n<dt id=\"can%20i%20test%20notifications%20before%20sending%3F\"><h3>Can I test notifications before sending?<\/h3><\/dt>\n<dd><p>Yes, you can send test notifications to yourself before sending to all subscribers.<\/p><\/dd>\n<dt id=\"what%20analytics%20are%20available%3F\"><h3>What analytics are available?<\/h3><\/dt>\n<dd><p>You get comprehensive analytics including sends, displays, clicks, CTR, subscriber growth, device breakdown, and geographic data.<\/p><\/dd>\n<dt id=\"can%20i%20segment%20my%20subscribers%3F\"><h3>Can I segment my subscribers?<\/h3><\/dt>\n<dd><p>Yes, you can create unlimited segments based on location, device, browser, custom parameters, engagement, and WooCommerce data.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No, the plugin is highly optimized and uses caching. The service worker loads asynchronously and doesn't impact page speed.<\/p><\/dd>\n<dt id=\"can%20i%20export%20subscriber%20data%3F\"><h3>Can I export subscriber data?<\/h3><\/dt>\n<dd><p>Yes, you can export subscribers and analytics to CSV format.<\/p><\/dd>\n<dt id=\"is%20there%20a%20limit%20on%20notifications%3F\"><h3>Is there a limit on notifications?<\/h3><\/dt>\n<dd><p>Limits depend on your PushRelay plan. Check <a href=\"https:\/\/pushrelay.com\/pricing\">pushrelay.com\/pricing<\/a> for details.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20support%3F\"><h3>How do I get support?<\/h3><\/dt>\n<dd><p>Use the built-in ticket system (PushRelay \u2192 Support) or email support@pushrelay.com. Premium users get priority support.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.3 - 2026-01-16<\/h4>\n\n<p><strong>Changelog Correction<\/strong><\/p>\n\n<ul>\n<li>Corrected changelog entries for 1.7.0-1.7.2 releases<\/li>\n<li>No functional changes in this release<\/li>\n<li>No breaking changes<\/li>\n<\/ul>\n\n<h4>1.7.2 - 2026-01-16<\/h4>\n\n<p><strong>PHP 8.2+ Compatibility &amp; Documentation<\/strong><\/p>\n\n<ul>\n<li>Fixed PHP 8.2+ deprecation warnings (null passed to string functions)<\/li>\n<li>Added null safety guards to string functions throughout codebase<\/li>\n<li>Improved WordPress.org plugin description<\/li>\n<li>Updated documentation and support links<\/li>\n<li>Added GitHub repository link<\/li>\n<li>No breaking changes<\/li>\n<\/ul>\n\n<h4>1.7.1 - 2026-01-16<\/h4>\n\n<p><strong>Campaign UX Polish<\/strong><\/p>\n\n<ul>\n<li>Campaign status now auto-refreshes without page reload<\/li>\n<li>Dashboard widgets update automatically when campaign status changes<\/li>\n<li>Processing widget shows\/hides correctly based on active campaigns<\/li>\n<li>Success notices auto-dismiss after 5 seconds<\/li>\n<li>Fixed widgets not updating after campaign creation<\/li>\n<li>No breaking changes<\/li>\n<\/ul>\n\n<h4>1.7.0 - 2026-01-08<\/h4>\n\n<p><strong>Campaign Status Polling &amp; Widget Sync<\/strong><\/p>\n\n<ul>\n<li>Added live campaign status polling (20-second interval)<\/li>\n<li>Campaigns in processing\/queued status auto-update to terminal state<\/li>\n<li>Polling stops automatically when all campaigns reach terminal status<\/li>\n<li>Dashboard stats widgets sync with table data in real-time<\/li>\n<li>Campaign list updates immediately after creation<\/li>\n<li>Auto-generated campaigns display with \"auto\" badge and tooltip<\/li>\n<li>Improved database query safety (prepared statements)<\/li>\n<li>Rate limit detection with automatic 60-second backoff<\/li>\n<li>API request retry logic for transient failures<\/li>\n<li>Sensitive data redaction in debug logs<\/li>\n<li>Internal diagnostics for support troubleshooting<\/li>\n<li>No breaking changes<\/li>\n<li>Safe upgrade from 1.6.x<\/li>\n<\/ul>\n\n<h4>1.6.3 - 2026-01-08<\/h4>\n\n<ul>\n<li>Fixed: Campaigns list requiring manual refresh after creation<\/li>\n<li>Campaign list now updates automatically<\/li>\n<li>No user action required<\/li>\n<li>No breaking changes<\/li>\n<\/ul>\n\n<h4>1.6.2 - 2026-01-07<\/h4>\n\n<p><strong>Internal Improvements Only<\/strong><\/p>\n\n<ul>\n<li>Internal: Added diagnostic export for support troubleshooting<\/li>\n<li>Internal: Reduced log retention to prevent unbounded growth<\/li>\n<li>Internal: Added automatic redaction of sensitive data in logs<\/li>\n<li>Internal: Added API rate limit detection with automatic backoff<\/li>\n<li>Internal: Added cron overlap prevention for queue processing<\/li>\n<li>Internal: Detects and clears stale locks from stuck jobs<\/li>\n<\/ul>\n\n<p>No user-visible changes. No database changes. No breaking changes.<\/p>\n\n<h4>1.6.1 - 2026-01-07<\/h4>\n\n<p><strong>Maintenance Release<\/strong><\/p>\n\n<ul>\n<li>Fixed: Log level classification for API responses (404 now NOTICE, 5xx remains ERROR)<\/li>\n<li>Fixed: Database error when queue table has legacy schema<\/li>\n<li>Fixed: Missing parameter validation before certain API requests<\/li>\n<li>Improved: Retry logic for transient API failures on read-only requests<\/li>\n<li>Improved: Graceful handling for malformed JSON responses<\/li>\n<li>Improved: Backward compatibility with older database installations<\/li>\n<li>Internal: Added diagnostic methods for troubleshooting<\/li>\n<\/ul>\n\n<p>No user interface changes. No database schema changes. No breaking changes.<\/p>\n\n<h4>1.6.0 - 2024-12-22<\/h4>\n\n<p><strong>Major Update - Complete Rewrite<\/strong><\/p>\n\n<p><strong>NEW:<\/strong>\n* Automatic service worker generation and installation\n* WooCommerce deep integration (cart abandonment, back in stock, price drops)\n* Advanced segmentation with visual builder\n* Real-time analytics dashboard\n* Built-in support ticket system\n* API health monitoring with auto-fix\n* Debug logging system\n* Shortcodes for easy integration\n* Automated campaign triggers\n* Queue system for reliable delivery\n* Export to CSV functionality\n* System health scoring<\/p>\n\n<p><strong>IMPROVED:<\/strong>\n* Complete code refactoring for WordPress standards\n* Enhanced security with nonce verification\n* Better error handling and user feedback\n* Optimized database queries with caching\n* Mobile-responsive admin interface\n* Comprehensive logging and debugging\n* Better API error messages<\/p>\n\n<p><strong>FIXED:<\/strong>\n* Service worker installation issues\n* Campaign scheduling bugs\n* Subscriber count accuracy\n* Memory optimization\n* Compatibility with latest WordPress<\/p>\n\n<h4>1.5.0 - 2024-06-15<\/h4>\n\n<ul>\n<li>Initial WordPress.org release<\/li>\n<li>Basic push notification functionality<\/li>\n<li>Simple campaign management<\/li>\n<li>Basic analytics<\/li>\n<\/ul>","raw_excerpt":"Send web push notifications to bring visitors back to your WordPress site.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/266814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=266814"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pushrelay"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=266814"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=266814"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=266814"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=266814"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=266814"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=266814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}