Tested up to: 6.8 Stable tag: 1.0.3 License: GPLv2 or later License URI: GPLv2 or later
Automatically generate versioned changelogs from Simple History, WP Activity Log, or native WordPress events.
Changelogify is a comprehensive WordPress plugin that automatically tracks and generates changelog releases from various event sources. It creates beautifully formatted changelogs with customizable sections (Added, Changed, Fixed, Removed, Security) and provides multiple ways to display them on your site.
-
Install & Activate
- Upload
changelogifyto/wp-content/plugins/and activate it in WordPress → Plugins.
- Upload
-
Configure Sources
- Go to WordPress Admin → Changelog → Settings.
- Choose event sources (Simple History, WP Activity Log, or Native WordPress events).
-
Generate Your First Release
- Go to Changelog → Generate Release.
- Enter a version (e.g.,
1.0.0) and a date range (e.g., since last release), then click Generate. - Review the generated content and Publish.
-
Display the Changelog
-
Gutenberg block: add the “Changelog” block to any page/post and configure options.
-
Shortcode:
[changelog limit="5" show_version="true" show_date="true"] -
Archive: visit
/changelog/to see all releases.
-
-
Optional: Automation
- In Changelog → Settings, enable automatic generation and pick a frequency (daily/weekly via WP‑Cron).
- Simple History Integration - Pull events from Simple History plugin
- WP Activity Log Integration - Pull events from WP Activity Log plugin
- Native WordPress Events - Fallback tracking for core WordPress events
- Post publishing
- Plugin activation/deactivation
- Theme changes
- WordPress updates
- Dedicated
changelog_releasepost type - Version field for semantic versioning
- Date range tracking
- Organized into sections: Added, Changed, Fixed, Removed, Security
- Manual generation via admin button
- Automatic generation via WP-Cron (configurable)
- Date range options:
- Since last release
- Custom date range
- Last 7/30 days
- Smart version suggestion
- Gutenberg Block - Add changelog to any page/post
- Shortcode -
[changelog limit="5"]with customizable attributes - Archive Template - Beautiful archive page for all releases
- Single Template - Detailed view for each release
- Configure which event sources to use
- Custom event-to-section mapping
- Default date range preferences
- WP-Cron automation settings
- Upload the
changelogifyfolder to/wp-content/plugins/ - Activate the plugin through the 'Plugins' menu in WordPress
- Go to Changelog → Settings to configure event sources
- Go to Changelog → Generate Release to create your first changelog
- Navigate to Changelog → Generate Release
- Enter the version number (e.g., 1.0.0)
- Choose date range (since last release or custom)
- Click "Generate Release"
- Review and publish the generated changelog
- Edit any page or post
- Add the "Changelog" block
- Configure display options in the sidebar
- Publish
[changelog limit="5" show_version="true" show_date="true"]
Attributes:
limit- Number of releases to show (default: 5)show_version- Display version numbers (default: true)show_date- Display dates (default: true)version- Show specific version only
Visit /changelog/ on your site to see all releases.
- Go to Changelog → Settings
- Select which event sources to enable
- Configure custom event mappings
- Save settings
Enable WP-Cron automation:
- Go to Changelog → Settings
- Check "Enable automatic changelog generation"
- Choose frequency (daily or weekly)
- Save settings
Map specific events to changelog sections:
Example:
plugin_activated→ Changedplugin_uninstalled→ Removedwordpress_updated→ Securitypost_publish→ Added
- WordPress 5.8 or higher
- PHP 7.4 or higher
- Simple History plugin (for enhanced event tracking)
- WP Activity Log plugin (for enhanced event tracking)
// Modify event categorization
apply_filters('changelogify_event_category', $category, $event);
// Modify release content
apply_filters('changelogify_release_content', $content, $sections);// Before release generation
do_action('changelogify_before_generate_release', $version, $date_from, $date_to);
// After release generation
do_action('changelogify_after_generate_release', $post_id, $version);changelogify/
├── changelogify.php # Main plugin file
├── includes/
│ ├── class-cpt-changelog-release.php
│ ├── class-event-sources.php
│ ├── class-release-generator.php
│ ├── class-settings.php
│ └── class-public-display.php
├── assets/
│ ├── css/
│ │ └── public.css
│ └── js/
│ └── block.js
├── templates/
│ ├── archive-changelog.php
│ └── single-changelog.php
└── README.md
- Fix: Added
/languages/directory and tightened admin enqueue param sanitization to satisfy plugin header checks. - Fix: Replaced
wp_redirect()calls withwp_safe_redirect()and ensured redirects exit immediately. - Improvement: Prefixed template-scoped globals and escaped table names in direct SQL queries for better security/compliance.
- Change: Enqueue admin JavaScript via
admin_enqueue_scripts; addedassets/js/admin.js. - Improvement: Removed inline
<script>tags in admin pages and replaced with enqueued script for better performance and compatibility. - Improvement: Localized labels for mapping UI options via
wp_localize_script. - Fix: Date range toggle on Generate page now handled without inline JS.
- Initial release
- Simple History integration
- WP Activity Log integration
- Native WordPress event tracking
- Custom Post Type for releases
- Release generator with manual and cron options
- Gutenberg block
- Shortcode support
- Archive and single templates
- Settings page
- Fix: updated readme and security checks
GPL v2 or later
Eric Swanson - Portfolio
For issues and feature requests, please visit GitHub Issues