Docs / Packages Management / Changelog Management

Changelog Management

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' => '
    ...
', // HTML content 'timestamp' => 1703145600 // Unix timestamp ], // More entries... ]

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

Last updated on January 26, 2026

Need Help?

Get support from our team or community forum.

Visit Support

Customization

Need custom features? We can help.

Request Quote