Sky Changelog Notifier
Sky Changelog Notifier
Description
Sky Changelog Notifier enhances WordPress automatic update notification emails by including the actual changelog for each updated plugin or theme. This keeps you informed about what changed in each update without having to visit the WordPress.org repository.
Key Features:
- Automatically fetches and includes changelogs in update notification emails
- Works with both plugin and theme updates
- Adds emoji indicators (✅🚀❌) to plugin details modal showing version status
- Fetches from tagged versions for accuracy, with automatic fallback to trunk
- Comprehensive caching for optimal performance
- WP-CLI support for testing
- Compatibility with WordPress core notifications and Easy Updates Manager (EUM)
- Locale-agnostic email insertion — works on any localized WordPress site
Pro Features:
- Accessible HTML update emails with a plain-text alternative
- Searchable local changelog history for plugins and themes
- Plugin/theme filter presets with an optional checkbox-based custom selection
- Default, existing-user, or custom-email primary recipient, plus additional CC recipients
How It Works:
When WordPress automatically updates plugins or themes, this plugin:
- Fetches the changelog from the plugin/theme’s readme.txt file
- Extracts the specific version’s changelog
- Appends it to the update notification email
- Caches results for 1 hour to improve performance
Plugin Modal Enhancement:
When viewing plugin details in the WordPress admin, you’ll see:
* ✅ Green checkmark – Your version matches the latest
* 🚀 Rocket – You’re ahead (development version)
* ❌ Red X – Update available
Compatibility:
Works seamlessly with:
* Easy Updates Manager
* Uses high priority (999) on standard WordPress filters
* Hooks into automatic_updates_complete for EUM and similar plugins that bypass WordPress email filters
* Locale-agnostic insertion using structural markers instead of translatable strings
Development
Development happens on GitHub: https://github.com/skyminds/sky-changelog-notifier
Installation
- Upload the
sky-changelog-notifierfolder to/wp-content/plugins/ - Activate the plugin through the ‘Plugins’ menu in WordPress
- That’s it! The plugin works automatically
Faq
No, this plugin only enhances automatic update notification emails. Manual updates don’t trigger these emails.
Yes! Use the built-in testing feature:
* Web: /wp-admin/?test_changelog_retrieval&_wpnonce=<nonce> (generate nonce with action sky_changelog_notifier_test)
* WP-CLI: wp changelog akismet 5.3 plugin
The plugin is designed for WordPress core automatic update emails and includes a dedicated integration for Easy Updates Manager.
Other update management plugins may work when they use the standard WordPress email filters, but they are not currently part of the tested compatibility matrix.
No. All changelog fetches are cached for 1 hour, and the plugin only runs during automatic updates.
Uninstalling the plugin from the WordPress Plugins screen removes its settings, cached changelogs, and local changelog history. Deactivating the plugin keeps this data.
Reviews
Changelog
3.3.0
- NEW — PRO: Accessible opt-in HTML update emails with a plain-text alternative
- NEW — PRO: Searchable local changelog history dashboard for plugins and themes
- NEW — PRO: Plugin and theme filtering with All, Plugins only, Themes only, and checkbox-based custom selection modes
- NEW — PRO: Primary recipient modes for the WordPress default, an existing user, or a custom email address, while preserving additional CC recipients
- IMPROVED — PRO: Dedicated Pro Settings tab replaces promotional Pro and Upgrade tabs on paid installations
- IMPROVED: Extracted changelog source, parser, cache, and email formatter services while keeping public hooks stable
- IMPROVED: Email notifications and the frontend shortcode now share the same changelog parser
- IMPROVED: The changelog retrieval limit now applies across the complete email
- IMPROVED: Email and WP-CLI messages are fully translatable; French WordPress.org catalogs are prepared
- FIX: Replaced fragile English keyword detection for third-party emails with a localized, hook-scoped integration
- FIX: Restricted the installed-version indicator to WordPress administration screens
- FIX: Freemius now fails safely when an archive is missing the SDK
- PRIVACY: Freemius uninstall cleanup now removes plugin options, cached changelogs, and local history, including across multisite installations
- DEVELOPMENT: Added regression coverage for email integration, parsing, Pro features, retrieval limits, and Freemius loading
3.2.0
- NEW:
[scln_changelog]shortcode to display installed plugin changelogs on frontend pages - NEW: Admin settings page with tabbed interface (General, Pro Features, Upgrade)
- NEW: Configurable changelog header style (Branded, Minimal, None) with live preview
- NEW: “No changelog found” notice toggle and max changelog fetches setting
- NEW: Freemius SDK integration with Free / Pro / Agency plans
- NEW: Premium module system with Pro Loader and extensibility hooks
- NEW: Top-level admin menu with megaphone icon
- IMPROVED: Changelog parser now supports single-hash
# Changelogmarkdown headers - IMPROVED: Composer scripts for PHPCS linting and Freemius icon deployment
- FIX: Prevented duplicate changelog injection when
update_pluginstransient fires multiple times - MISC: Tested up to WordPress 7.0
3.1.0
- NEW: Full Easy Updates Manager compatibility — changelogs now appear in EUM emails via
automatic_updates_completehook andwp_mailfilter - NEW: Locale-agnostic email insertion — uses structural markers (
wordpress.org/support/forums/URL,==========separator) instead of translatable strings - NEW: Modernized changelog header with Unicode branding
- IMPROVED: Extracted
insert_changelog_block()method for shared insertion logic across standard WP and EUM email paths - IMPROVED: Changelogs now inserted before the sign-off instead of appended at the end
3.0.0
- CRITICAL FIX: Fixed filter callback to use correct
auto_plugin_theme_update_emailparameter names ($successful_updatesinstead of$result) - CRITICAL FIX: Fixed update item object traversal — now correctly reads
$item->item->new_version,$item->item->plugin,$item->name - CRITICAL FIX: Extracts slug from plugin file path (e.g.
akismet/akismet.phpakismet) - Removed
auto_core_update_emailfilter (incompatible signature — core updates don’t have plugin/theme changelogs) - Handles both
successandmixedemail types - Added nonce verification to admin test endpoint (WPCS/VIP compliance)
- Full WPCS and WordPress VIP coding standards compliance
- PHP 8.0+ typed properties, return types, and union types
- Caches failed readme fetches to prevent retry storms
2.0.0
- MAJOR REWRITE: Simplified from 846 lines to 319 lines (62% reduction)
- Removed unnecessary WordPress API fallback
- Removed complex parallel fetching
- Removed “closest version” fallback complexity
- Streamlined to simple, reliable approach: tagged version trunk fallback
- Kept essential features: changelog in emails, plugin modal emoji, testing, WP-CLI
- Improved code maintainability and readability
1.2.0
- CRITICAL FIX: Now fetches changelogs from tagged versions instead of trunk
- This ensures you get the changelog for the exact version that was installed
- Added automatic fallback to trunk if tagged version is not available
- Improved HTTP status code checking for better error handling
- Fixed regex patterns to support all version number formats (1, 2.0, 1.2.3, etc.)
1.1.0
- Added compatibility with Easy Updates Manager plugin
- Improved filter priority handling for better plugin interoperability
- Enhanced email body handling to preserve modifications by other plugins
- Comprehensive security and performance optimizations
1.0.0
- Initial release
- Improved version matching and fallback logic
- Better handling of different changelog formats