Overview
The changelog feature lets you track and display version history for your packages. Each entry records what changed between versions, helping users understand updates and making your downloads more professional.
Prerequisites
- WordPress Download Manager installed
- At least one published package
- Editor or Administrator role
Quick Start
- Edit any package
- Find the Changelog metabox
- Enter version, date, and changes
- Click Add Entry
- Save the package
Accessing the Changelog
When editing a package, find the Changelog metabox below the content editor. It contains:
- List of existing changelog entries
- Form to add new entries
- Edit/delete controls for existing entries
Adding Changelog Entries
Step 1: Enter Version
Field: Version Example: 2.1.0
Use semantic versioning (MAJOR.MINOR.PATCH):
- Major: Breaking changes
- Minor: New features, backward compatible
- Patch: Bug fixes
Step 2: Set Date
Field: Release Date Format: YYYY-MM-DD Example: 2026-01-24
Defaults to today’s date.
Step 3: Write Changes
Use the rich text editor to describe changes:
### Added - New export feature for PDF format - Dark mode support - Keyboard shortcuts ### Changed - Improved upload performance by 50% - Updated user interface design ### Fixed - Resolved issue with special characters in filenames - Fixed download counter not incrementing
Step 4: Save
Click Add Entry to add the changelog. Then save the package.
Editing Changelog Entries
Edit an Entry
- Find the entry in the list
- Click the Edit button (pencil icon)
- Modify version, date, or changes
- Click Update
Delete an Entry
- Find the entry in the list
- Click the Delete button (trash icon)
- Confirm deletion
Deleted entries cannot be recovered.
Displaying Changelog
In Page Templates
Add the changelog to page templates using the template tag:
[changelog]
This displays a timeline of all versions with expandable details.
With Shortcode
Display changelog for any package:
[wpdm_changelog id="123"]
Shortcode Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
id |
int | required | Package ID |
title |
string | “Changelog” | Section heading |
collapsed |
int | 1 | Collapse entries (0/1) |
limit |
int | 0 | Limit entries (0=all) |
Examples
Basic usage:
[wpdm_changelog id="123"]
Custom title:
[wpdm_changelog id="123" title="Version History"]
Expanded entries:
[wpdm_changelog id="123" collapsed="0"]
Last 5 versions only:
[wpdm_changelog id="123" limit="5"]
Changelog Display Features
The front-end changelog display includes:
- Timeline layout with visual markers
- Version badges with release dates
- “Latest” indicator on newest version
- Expandable entries to save space
- Animated transitions when opening/closing
- Responsive design for all devices
- Dark mode support follows site theme
Changelog Best Practices
Version Numbering
Follow semantic versioning:
1.0.0 - Initial release 1.0.1 - Bug fix 1.1.0 - New feature 2.0.0 - Major update/breaking change
Change Categories
Use consistent categories:
| Category | Description |
|---|---|
| Added | New features |
| Changed | Updates to existing features |
| Deprecated | Features to be removed |
| Removed | Deleted features |
| Fixed | Bug fixes |
| Security | Security updates |
Writing Good Entries
Do:
- Be specific about what changed
- Mention affected features
- Note breaking changes prominently
- Use bullet points for readability
Don’t:
- Write vague entries like “Bug fixes”
- Include internal/technical jargon
- Skip minor updates entirely
- Make entries too long
Example Entry
### Added - PDF export with customizable formatting options - Bulk download feature for multiple files - Email notification when package updates ### Changed - Improved file upload speed by 40% - Redesigned settings panel for better usability - Updated minimum PHP requirement to 7.4 ### Fixed - Resolved timeout issue with large file downloads - Fixed incorrect download count on category pages - Corrected date display in some timezones ### Security - Updated encryption library to latest version - Added rate limiting to download requests
Syncing Version with Changelog
The changelog version field can auto-populate from the package version:
- Set version in Package Settings > General > Version
- Open Changelog metabox
- Version field pre-fills with package version
Keep versions in sync for consistency.
Data Structure
Changelog entries are stored as post meta:
// Meta key: __wpdm_changelog
// Structure:
[
[
'id' => 'cl_1703145600', // Unique ID
'version' => '2.1.0', // Version number
'date' => '2026-01-24', // Release date
'changes' => '- ...
Accessing Changelog Programmatically
Get Changelog Data
$changelog = get_post_meta($package_id, '__wpdm_changelog', true);
if (is_array($changelog)) {
foreach ($changelog as $entry) {
echo "Version: " . $entry['version'];
echo "Date: " . $entry['date'];
echo "Changes: " . $entry['changes'];
}
}
Display Changelog
// Using PackageController
$controller = new WPDMPackagePackageController($package_id);
echo $controller->changelog($package_id, [
'title' => 'Changelog',
'collapsed' => true,
'limit' => 0
]);
// Or static method
echo WPDMPackagePackageController::getChangelog($package_id);
Troubleshooting
Changelog Not Saving
Cause: JavaScript error or permission issue
Solution:
- Check browser console for errors
- Verify you have edit permissions
- Clear browser cache
Entries Out of Order
Cause: Timestamps not set correctly
Solution:
- Entries sort by timestamp (newest first)
- Re-save entries with correct dates
HTML Not Rendering
Cause: Content being escaped
Solution:
- Use the rich text editor
- Avoid raw HTML in text mode
- Check template for escaping issues
Shortcode Shows Nothing
Causes:
- Wrong package ID
- Package has no changelog entries
- Package not published
Solutions:
- Verify package ID
- Add at least one changelog entry
- Publish the package
Related Documentation
Last updated: January 2026
Applies to: WordPress Download Manager 7.x