1.7.0
- New: Tools → Import/Export → Full Migration — move an entire sermon library between sites in one step. Exports sermons (with variations, timestamps, transcripts and downloads), series, speakers, service types, templates and taxonomy terms, and optionally your plugin settings. Imports run in small batches and can be resumed, so libraries with tens of thousands of sermons don't hit a PHP timeout. Re-importing the same file updates the existing content instead of duplicating it.
- New: WP-CLI commands for full-site migration (
wp cpl export and wp cpl import), with --dry-run, --download-media, --include-settings and --batch-size options. Recommended for very large libraries.
- Fix: Sermons whose title contains an emoji no longer fail to save. On sites whose CP Sermons tables predate 4-byte character support, WordPress refuses the write rather than truncating it, so those sermons silently never imported — one site was losing 152 of 502 sermons on every sync. The sermon now saves, with the emoji omitted from the internal record only; the sermon's own title keeps it. No database changes are made.
- New: Sermon sync can now set a sermon's service type and supply artwork for both series and service types.
SermonSync::upsert() accepts a thumbnail_id on either, used as the featured image when that series or service type does not already have one — an image chosen by hand is never overwritten. Service type artwork is what CP Sermons serves as podcast channel art.
- Fix: Series, Speaker, and Service Type podcast feeds now use the full-size featured image for channel artwork. Previously a 600×600 thumbnail was served, which falls below Apple Podcasts' 1400×1400 minimum and caused artwork to be rejected in Apple Podcasts / iTunes.
- Fix: Selecting a Series or Speaker on a sermon now saves reliably even when the stored value already matches — previously sermons copied with a duplicator plugin could not be assigned the same Series/Speaker as the original.
- Fix: Clearing the Series or Speaker field on a sermon now properly removes the assignment.
- Fix: Sermon Speaker lists no longer show a stray comma from orphaned speaker records; a one-time cleanup runs on upgrade to remove orphaned Speaker, Series and Service Type associations and to collapse duplicated ones, which were double-listing sermons in feeds and archives.
- Fix: A sermon with duplicate Speaker or Series records no longer loses that Speaker or Series when it is re-saved. Only the duplicate entry is removed.
- Fix: Service Type assignments now use the same corrected save path as Speakers and Series, so stale and empty entries are cleaned up properly.
- Fix: When Service Types drive sermon variations, saving the parent sermon no longer overwrites the service type that identifies each variation. The Service Type selector is hidden on those sermons, since each variation carries its own — matching how the Speaker box already behaves.
- Fix: A save that doesn't include the Speaker, Series or Service Type field (such as a programmatic save from custom code) no longer clears those assignments. Only the sermon edit screen's own submission can clear them by leaving the field empty.
- Fix: Speaker, Series and Service Type mappings in WP All Import now sync correctly. A blank column, or a name that doesn't match a published Speaker, Series or Service Type, no longer clears the assignments already on a sermon — re-running a feed to refresh other fields leaves them intact. Names separated by commas in a single column are now matched individually.
- Fix: Permanently deleting a Series now removes it from every sermon it contained, instead of leaving each sermon with a reference to a series that no longer exists.
- Fix: The Listen button on a sermon page now starts playback on the first click, including in Safari and on iOS. Video plays in the sermon's feature area again after audio has been played, instead of being pushed into the persistent player.
- Fix: Sermons whose audio is an embed (SoundCloud, Spotify, etc.) render the embed in the feature area again.
1.6.2
- Fix: Imported sermons (CSV import and SermonAudio adapter) were silently flagged as hidden and excluded from the main sermon list. Imports now default to visible.
- Change: The per-sermon visibility checkbox is now "Exclude from Main List" (default unchecked) instead of "Show in Main List" (default checked) — matching the existing Series and Service Type metaboxes.
- New: Tools → Migrate Visibility Settings — converts legacy meta from older sites and preserves any sermons you previously hid by hand.
- New: Tools → Reset All Sermons to Visible — one-click recovery for sites already affected by the hidden-on-import bug. Inheritance from hidden Series or Service Types is re-applied automatically.
- New: WP-CLI command for SermonAudio imports (
wp cp sermonaudio import) with --dry-run, --recent[=count], and --max-batches options for scripted and scheduled syncs.
- New: Minimum audio duration filter for the SermonAudio adapter — skip short clips, intros, and announcements during import by setting a threshold in the adapter settings.
- Fix: Vimeo videos now reliably unmute on iOS using a shared helper with chained promises.
- Fix: All scripture references now display on sermon detail views (previously only the first reference was shown in some layouts).
- Fix: Sermon sort order is now correct on speaker pages and taxonomy archives.
1.6.1
- Fix: Speaker page message display
- Fix: SearchWP default engine configuration
1.6.0
- New: Complete filter system rebuild with improved performance and caching
- New: Post-type specific filter controls for messages and series
- New: Service type archives and REST API support
- New: Visibility management system
- Enhancement: Improved media player with iOS compatibility
- Enhancement: UTF-8 encoding support for CSV imports
- Enhancement: Accessibility improvements for keyboard navigation and screen readers
- Enhancement: Scripture filter available on series archives
- Enhancement: Variation data included in REST API responses
- Fix: Speaker and Service Type filter bugs
- Fix: Mobile media player display issues
- Fix: Persistent player functionality
- Fix: Series and item management bugs
- Fix: Filter count calculations
1.4.10
- Bug fixes and improvements
1.4.0
- Feature updates and enhancements
1.3.0
- Feature updates and enhancements
1.2.0
- Feature updates and enhancements