Podcaster Plus Blocks Changelog

All notable changes to the Podcaster Plus Blocks plugin will be documented here.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.19.0] - 2025-06-13

Security

  • Comprehensive WordPress-Compliant Logging System: Replaced all 26 instances of error_log() usage with a new WordPress-compliant logging utility (Podcaster_Plus_Logger) that:
    • Only logs debug information when WP_DEBUG is enabled
    • Provides proper error categorization (debug, info, warning, error, critical)
    • Includes specialized logging methods for database and API operations
    • Uses WordPress translation functions for all error messages
    • Maintains security best practices for production environments
  • Enhanced Database Query Documentation: Added 21 comprehensive phpcs:ignore comments with detailed explanations for:
    • Custom table operations that cannot use WordPress APIs
    • Complex JOIN queries requiring direct SQL
    • Schema operations using dbDelta() for table creation/modification
    • Bulk operations for license management and cleanup
    • All comments include proper justifications following WordPress coding standards
  • Continued XSS and Security Hardening: Maintained all previous security improvements including output escaping, input sanitization, path validation, and API endpoint protection

Added

  • WordPress-Compliant Error Handling: New Podcaster_Plus_Logger class providing:
    • Debug logging only when WP_DEBUG is enabled
    • Structured logging levels (debug, info, warning, error, critical)
    • WordPress admin notices for critical errors
    • Specialized methods for database errors (database_error()) and API errors (api_error())
    • Full internationalization support for all error messages
  • Enhanced Theme Support: Comprehensive block editor enhancements including:
    • Border controls (color, radius, style, width)
    • Dimension controls (minHeight)
    • Custom background support with default configurations
    • Color palette with 5 predefined colors (Primary, Secondary, Dark Gray, Light Gray, White)
    • Gradient presets with 2 predefined gradients
    • Enhanced spacing and typography controls
  • Improved Performance Monitoring: Enhanced caching implementation with:
    • Episode data caching (1 hour TTL for infrequently changing data)
    • Relationship data caching (30 minutes TTL for moderate volatility)
    • Sync status caching (15 minutes TTL for frequently changing data)
    • Smart cache invalidation preventing stale data issues

Changed

  • Enhanced Error Logging Strategy: Transitioned from direct error_log() calls to structured WordPress-compliant logging:
    • Database operations now use Podcaster_Plus_Logger::database_error()
    • API operations use Podcaster_Plus_Logger::api_error()
    • Debug information uses Podcaster_Plus_Logger::debug() (only when WP_DEBUG enabled)
    • Critical errors use Podcaster_Plus_Logger::error() with admin notices
  • Improved Cache Performance: Enhanced caching system with optimized TTL values:
    • Extended episode caching from 15 minutes to 1 hour (data changes infrequently)
    • Balanced relationship caching at 30 minutes (moderate change frequency)
    • Maintained 15-minute sync caching (changes frequently during updates)
  • Enhanced Development Experience: All direct database queries now include explanatory comments for:
    • Why WordPress APIs cannot be used (custom tables, complex JOINs, bulk operations)
    • Performance requirements necessitating direct SQL
    • Schema operations requiring dbDelta() functionality

Fixed

  • Critical Audio Player Functionality: Resolved major issue where audio player stopped working after caching implementation:
    • Root Cause: Cache invalidation mismatch where cache keys included post IDs but invalidation did not
    • Solution: Enhanced invalidate_episode_cache() to handle both basic and post-specific cache keys
    • Result: Front-end audio players now correctly populate data-audio-url attributes
  • PHP Block Editor Warning: Eliminated "Trying to access array offset on value of type bool" errors:
    • Root Cause: Theme support checks used truthy/falsy logic failing when get_theme_support() returned arrays
    • Solution: Implemented strict equality checks (=== false) for proper type handling
    • Result: Block editor operates without PHP warnings while maintaining full theme support
  • SVG Icon Rendering: Restored proper SVG icon display in audio blocks:
    • Root Cause: Over-sanitization with wp_kses_post() stripped essential SVG attributes
    • Solution: Reverted to direct output with proper phpcs:ignore comments for trusted static SVG content
    • Result: All audio control icons (play, pause, skip, volume) render correctly
  • Plugin Functionality Restoration: Successfully restored all temporarily disabled features:
    • Post meta registration for episode selection in block editor
    • Conditional block filtering based on enabled post types
    • Pattern favorites functionality for user customization
    • REST API integration for all restored features

Performance

  • Optimized Database Queries: Enhanced caching implementation reducing database load:
    • Episode queries now cached for 1 hour (appropriate for infrequently changing data)
    • Relationship queries cached for 30 minutes (balanced for moderate volatility)
    • Listing operations benefit from cached counts and results
  • Smart Cache Invalidation: Implemented intelligent cache clearing:
    • Episode updates properly invalidate related caches
    • Post relationship changes clear appropriate cache keys
    • Sync status updates maintain performance while ensuring data freshness
  • Reduced API Overhead: Eliminated redundant database calls through:
    • Consistent cache key management
    • Proper cache lifetime management
    • Strategic cache warming for frequently accessed data

Technical Details

  • WordPress Standards Compliance: All logging implementations follow WordPress coding standards and security best practices
  • Backward Compatibility: All security and performance enhancements maintain full backward compatibility
  • Code Quality: Enhanced codebase maintainability through comprehensive documentation and consistent error handling patterns
  • Security Architecture: Maintained defense-in-depth security model while improving production logging practices

This release represents a comprehensive security audit and stability enhancement that significantly improves the plugin's production readiness, error handling, and performance while maintaining all existing functionality and user experience.

[0.18.0] - 2025-06-12

Security

  • Comprehensive XSS Prevention Framework: Implemented multi-layered protection against cross-site scripting attacks across all user-facing content:
    • Add-on Content Protection: Sanitized all add-on rendered content using wp_kses_post() to allow safe HTML while removing dangerous scripts
    • External Content Sanitization: Added protection for documentation articles fetched from external APIs with comprehensive content filtering
    • RSS Feed Security: Implemented strict HTML filtering for podcast episode descriptions using wp_kses() with a carefully curated allowlist of safe HTML tags
  • Systematic Output Escaping: Conducted comprehensive security audit and hardening of all 7 block render files:
    • Applied context-specific escaping to all dynamic content using esc_attr(), esc_html(), and esc_url()
    • Secured all CSS properties, color values, dimensions, and HTML attributes
    • Protected against XSS attacks through dynamic content injection
  • React Component Security Analysis: Thoroughly reviewed and secured all React components using dangerouslySetInnerHTML:
    • Verified that all dynamic HTML rendering uses properly sanitized server-side content
    • Added defensive client-side type checking and null safety measures
    • Created comprehensive security documentation for ongoing maintenance
  • Automated Dependency Vulnerability Scanning: Implemented continuous security monitoring in CI/CD pipeline:
    • Added Node.js dependency auditing with pnpm audit that fails builds on high/critical vulnerabilities
    • Added PHP dependency auditing with composer audit for comprehensive dependency security
    • Integrated pre-release security checks to prevent vulnerable dependencies in production releases
  • WordPress REST API Security Compliance: Ensured all REST API endpoints follow WordPress security best practices:
    • Verified proper permission callbacks for all state-changing endpoints
    • Confirmed automatic nonce verification through WordPress's built-in REST API security
    • Removed incorrect authentication patterns that could break functionality

Added

  • Comprehensive Security Documentation: Created detailed security guides for developers and maintainers:
    • docs/SECURITY_ANALYSIS_REACT_COMPONENTS.md: Complete analysis of React component security with testing checklists
    • docs/WORDPRESS_REST_API_SECURITY_GUIDE.md: Definitive guide on correct WordPress REST API security practices
    • Included manual testing procedures, automated test examples, and best practices for future development
  • Security Monitoring Guidelines: Established ongoing security maintenance procedures:
    • Regular review processes for new code patterns
    • Automated scanning integration for continuous protection
    • Clear documentation for handling security vulnerabilities
  • Enhanced Error Handling: Improved error handling across all security-critical components with proper fallback behaviors

Changed

  • Episode Selector Modal Reliability: Resolved critical functionality issues in the Episode Selector modal:
    • Fixed "TypeError: object is not iterable" errors that prevented pattern selection
    • Resolved "Missing parameter(s): episode_id" errors during episode insertion
    • Restored full functionality for selecting and inserting podcast episodes with patterns
  • Improved Content Security: Enhanced content sanitization without affecting legitimate HTML formatting:
    • Podcast episode descriptions maintain proper formatting while removing dangerous content
    • Documentation articles preserve styling and links while blocking malicious scripts
    • Add-on content supports rich HTML while preventing XSS attacks
  • Development Workflow Security: Integrated security checks into development and release processes:
    • Mandatory security auditing before any production release
    • Automated vulnerability detection in both development and CI environments
    • Enhanced build process with security-first approach

Fixed

  • Critical Modal Functionality: Resolved Episode Selector modal issues that prevented users from:
    • Browsing and selecting podcast episodes
    • Choosing patterns from the pattern library
    • Successfully inserting episodes with chosen patterns
  • WordPress REST API Security: Corrected improper security implementation that was causing functionality failures:
    • Removed incorrect check_ajax_referer() calls from REST API endpoints
    • Ensured proper WordPress REST API authentication flow
    • Maintained security while restoring full functionality
  • Content Rendering Security: Fixed potential XSS vulnerabilities while maintaining content functionality:
    • Secured all dynamic content rendering without breaking existing features
    • Preserved user customizations and styling while adding protection
    • Enhanced security without affecting user experience

Technical Details

  • Security Architecture: Implemented defense-in-depth security model with both server-side sanitization and client-side defensive measures
  • WordPress Standards Compliance: All security implementations follow official WordPress coding standards and security best practices
  • Backward Compatibility: All security enhancements maintain full backward compatibility with existing content and configurations
  • Performance Optimized: Security measures implemented with minimal performance impact through efficient sanitization and caching strategies

This release represents a comprehensive security hardening effort that significantly enhances the plugin's resistance to common web vulnerabilities while maintaining all existing functionality and user experience.

[0.17.3] - 2025-06-09

Added

  • SureCart SDK Repository Integration: Added SureCart WordPress SDK to the repository for reliable CI/CD availability
  • Enhanced GitHub Actions Diagnostics: Added diagnostic step to check SureCart SDK availability in CI environment with clear status reporting
  • Robust Build Script Logic: Implemented conditional backup logic that gracefully handles environments with or without SureCart SDK

Changed

  • Repository Structure: Updated .gitignore to allow vendor/surecart/ while maintaining exclusion of other Composer-managed dependencies
  • CI/CD Pipeline Reliability: Enhanced GitHub Actions workflow with better error handling and environment diagnostics
  • Build Process Robustness: Modified plugin-zip:prep script to conditionally backup SureCart SDK only when present, preventing CI failures

Fixed

  • GitHub Actions Build Failure: Resolved critical CI/CD issue where missing SureCart SDK caused build failures with "cp: cannot stat 'vendor/surecart': No such file or directory" error
  • Smart Build Process in CI: Fixed incompatibility between local development environment (with SureCart SDK) and CI environment (without SureCart SDK)
  • Dependency Management: Ensured smart build process works seamlessly in both local development and automated CI/CD environments
  • Release Pipeline Stability: Eliminated CI build failures that prevented automated plugin releases

[0.17.2] - 2025-06-09

Fixed

  • GitHub Actions Build Pipeline: Fixed critical YAML syntax error in release workflow that was preventing automated builds from executing. Corrected improper indentation of the "Install PHP dependencies" step that was causing "Implicit keys need to be on a single line" and "Nested mappings are not allowed in compact mappings" errors during workflow execution.

[0.17.1] - 2025-06-09

Added

  • Smart Build Process: Implemented intelligent dependency management for plugin releases that automatically:
    • Preserves production dependencies (SureCart WordPress SDK for licensing)
    • Excludes development dependencies (PHPUnit testing framework) from release builds
    • Maintains full development environment for continued testing and development
  • Automated Production Build Pipeline: Enhanced GitHub Actions workflow with smart dependency handling that ensures clean, optimized plugin releases
  • Enhanced Developer Experience: New npm scripts for streamlined build management:
    • plugin-zip:prep: Intelligently manages dependency state for production builds
    • plugin-zip:cleanup: Restores full development environment after builds
    • Maintains existing test:security command for comprehensive security validation

Changed

  • Plugin Size Optimization: Reduced plugin zip file size from 2.4MB to 923KB (67% reduction) while maintaining full licensing functionality
  • Build Process Intelligence: Enhanced pnpm plugin-zip command to automatically handle production vs development dependency management
  • Release Workflow Enhancement: Updated GitHub Actions to use the new smart build process for consistent, optimized releases
  • Dependency Management: Improved separation of production dependencies (licensing) from development dependencies (testing)

Fixed

  • Plugin Distribution Size: Resolved plugin zip bloat caused by including unnecessary development dependencies in production releases
  • Licensing Functionality: Maintained full SureCart WordPress SDK integration for seamless license management and updates
  • Development Environment: Preserved complete testing environment while optimizing production builds

[0.17.0] - 2025-06-09

Security

  • Fixed SSRF Vulnerability in Media Handling: Implemented comprehensive URL validation in the media sideloading endpoint to prevent Server-Side Request Forgery attacks. Added multiple security layers including:
    • Private IP range blocking (RFC 1918 addresses)
    • Localhost access prevention
    • Protocol restriction to HTTP/HTTPS only
    • Hostname resolution validation with IP filtering
    • Comprehensive input sanitization
  • Secured Debug Endpoints: Debug endpoints (/license/diagnose and /license/test-debug) are now:
    • Only available when WP_DEBUG is enabled (production safety)
    • Restricted to administrators with manage_options capability
    • Completely inaccessible in production environments
  • Fixed LFI Vulnerability in Pattern Loading: Enhanced pattern file access security with:
    • Input sanitization using sanitize_file_name()
    • Regex validation allowing only alphanumeric characters, hyphens, and underscores
    • Directory traversal prevention using realpath() validation
    • File extension restriction to .json files only
    • Whitelist validation against actual pattern files
    • Path disclosure prevention in error messages
  • Strengthened Episode Endpoint Permissions: Replaced complex authentication logic with proper WordPress capability checking:
    • Now requires edit_posts capability for episode and pattern endpoints
    • Removed overly permissive authentication mechanisms
    • Applied consistent permission model across all content-related endpoints
    • Enhanced security for episode browsing and pattern access

Added

  • Automated Security Testing Pipeline: Implemented comprehensive security validation that runs automatically:
    • All pull requests are automatically tested for security vulnerabilities
    • All releases are blocked if security tests fail, preventing insecure code deployment
    • 7 core security tests with 44 assertions covering all fixed vulnerabilities
    • Simple developer commands: pnpm test:security for local testing
    • Zero-setup testing environment with no external dependencies required
  • Enhanced Security Documentation: Created comprehensive security resources:
    • docs/SECURITY_TESTING_GUIDE.md with complete testing instructions
    • tests/SECURITY_TEST_PLAN.md with 190+ manual test cases for comprehensive validation
    • tests/SECURITY_RELEASE_NOTES.md with detailed security announcements
    • Updated README.md with security testing quick start guide
  • Release Process Security: Integrated security testing into all release workflows:
    • GitHub Actions automatically run security tests on every release
    • Local releases via pnpm release include mandatory security validation
    • Impossible to release plugin with known security vulnerabilities

Changed

  • Enhanced Error Handling: All security-related endpoints now return generic error messages that don't expose sensitive system information
  • Improved Input Validation: Strengthened input validation across all user-facing endpoints with proper sanitization
  • Permission Model Standardization: Unified permission checking across all REST API endpoints for consistency

[0.16.1] - 2025-06-07

Fixed

  • Episode Selector User Control: Removed automatic post saving when selecting an episode in the Episode Selector modal. Users now have full control over when their posts are saved, with changes only marking the post as "dirty" until the user explicitly clicks "Update" or "Publish".
  • Image Sideloading Timing: Deferred episode image downloading from the selection step to the confirmation step. Images are now only added to the Media Library when the user confirms their choices, preventing unwanted media additions during episode browsing.

[0.16.0] - 2025-06-03

Added

  • Comprehensive Add-on System: Introduced a robust, license-aware extension framework allowing modular add-on development for the core plugin.
    • Core Podcaster_Plus_Addon_Manager class for add-on registration, validation, and querying.
    • podcaster_plus_register_addon action hook for add-ons to register themselves.
    • podcaster_plus_loaded action hook to signal when the core plugin is fully loaded.
    • Internal add-on discovery system from the addons/ directory.
  • Dynamic Settings Tab Integration:
    • Core settings class (Podcaster_Plus_Settings) updated to support dynamically registered tabs from add-ons via podcaster_plus_settings_tabs filter.
    • React admin interface (Tabs and AdminApp components) dynamically renders core and add-on tabs, and creates dynamic routes.
    • Add-ons now render their own content via a dedicated REST API endpoint (/podcaster-plus/v1/addon-content/), ensuring proper separation of concerns.
  • License-Aware Add-on Activation:
    • Podcaster_Plus_Licensing::can_activate_addons() method determines if current license tier (Pro, Agency, LTD, Legacy) permits add-on activation.
    • External add-ons attempting activation with an insufficient license (e.g., "Creator" tier) are immediately deactivated with a wp_die() error message prompting an upgrade.
  • Proof-of-Concept (POC) Add-on:
    • Created a comprehensive POC add-on (now for reference, as add-ons will be external) demonstrating full add-on system capabilities.
    • POC add-on handles both internal loading (from addons/ directory) and external plugin activation scenarios without conflicts using function_exists checks, unique identifiers, and conditional logic.
    • Implemented intelligent 5-minute caching for license validation in the POC add-on using WordPress transients to prevent API rate limiting (429 errors).
  • Core Plugin Deactivation Guard: Prevents deactivation of the core plugin if any add-ons are currently active, displaying a wp_die() error message.
  • Enhanced User Experience for Creator Tier: Users with a "Creator" license are now clearly informed via wp_die() message if they attempt to activate an add-on, guiding them to upgrade for that functionality.
  • Comprehensive Add-on System Documentation: Created docs/ADDON_SYSTEM.md covering architecture, development guide, hooks/filters, licensing, best practices, and troubleshooting, including solutions for common issues like settings tab timing and API rate limiting.

Changed

  • Settings Tab Rendering: Add-on settings tabs now correctly fetch and render content from the add-on itself via a REST API endpoint, rather than the core plugin rendering generic content. Resolved a critical timing issue where the podcaster_plus_settings_tabs filter was registered too late for REST API calls.
  • Admin Tab Ordering: The "Knowledge Base" tab in the React admin settings interface (Tabs component) and the WordPress admin sidebar menu is now always rendered as the last item, after any dynamically added add-on tabs, for consistent UX.
  • POC Add-on Architecture: Refactored POC add-on to correctly render its own settings content and handle dual-mode (internal/external) operation robustly, including fixing function redeclaration errors and API rate limiting issues.
  • Settings UI: Updated the "Learn More" link for RSS Feed Configuration to point to a more specific documentation page.

Fixed

  • Add-on Settings Tab 404 Error: Resolved an issue where add-on settings tabs would result in a 404 error due to the podcaster_plus_settings_tabs filter being applied too late for REST API endpoint registration. The filter is now applied immediately when the add-on file loads.
  • POC Add-on Function Redeclaration: Fixed fatal errors in the POC add-on caused by function redeclaration when both internal and an externally activated version were present.
  • POC Add-on API Rate Limiting: Resolved 429 "Too Many Requests" errors from SureCart API in the POC add-on by implementing caching for license validation results.
  • Settings UI: Fixed an issue in the admin settings page where the RSS Feed Configuration section would briefly flash a "license required" warning for users with an active license while the license status was being checked. The section now waits for the license check to complete before rendering.

[0.15.0] - 2025-06-02

Changed

  • Enhanced Licensing System: Modified the plugin's licensing mechanism to support multiple product tiers ("Creator", "Pro", "Agency", "LTD", and a legacy "Podcaster Plus Blocks" plan). This allows users to seamlessly upgrade or downgrade between different subscription levels while ensuring license validity.
  • Flexible Product ID Management: Centralized the management of valid SureCart product IDs within the Podcaster_Plus_Licensing class, removing reliance on a single product_id in release.json for internal validation.
  • Improved License Validation Logic: Updated license activation (activate_license), status checking (is_license_active), and direct information retrieval (get_direct_license_info) to validate against the defined list of recognized Podcaster Plus product IDs.
  • SureCart SDK Compliance: Refined release.json handling by making the product_id field optional for the plugin's internal multi-tier validation logic, aligning with SureCart SDK which primarily uses the plugin slug for update checks.
  • Debugging Tools Alignment: Updated the Podcaster_Plus_Test class and associated debugging methods to accurately reflect and test the new multi-product ID licensing system.

[0.14.2] - 2025-06-02

Changed

  • Updated plugin version to 0.14.2 for maintenance release.

[0.14.1] - 2025-06-01

Fixed

  • Toggle Controls Rendering: Resolved critical issue where post type settings displayed as checkboxes instead of modern toggle controls
  • WordPress Components Loading: Fixed script dependency loading order by explicitly enqueuing wp-components script and styles before plugin assets
  • Settings UI Consistency: Eliminated dependency on third-party plugins for proper toggle control rendering
  • Legacy Settings Conflicts: Removed conflicting WordPress Settings API registration that was interfering with React-based settings interface
  • Post Type Labels: Fixed "(Default)" text display for built-in WordPress post types (Posts and Pages) in settings interface

Changed

  • Enhanced Asset Loading: Improved WordPress components dependency management to ensure consistent UI rendering across all WordPress installations
  • Settings Architecture: Streamlined settings system by removing legacy WordPress Settings API in favor of modern React-based interface

[0.14.0] - 2025-06-01

Added

  • Universal Post Type Support: Revolutionary expansion allowing Podcaster Plus to work with any public post type on your WordPress site
  • Dynamic Post Type Detection: Automatic discovery and configuration of all public post types including custom post types (CPTs)
  • Intelligent Content Integration Settings: Toggle-based interface for enabling/disabling podcast features per post type with immediate effect
  • Conditional Block Rendering: Smart filtering system that shows Podcaster Plus blocks only for enabled post types in the block inserter
  • Conditional Episode Selector: Episode selector button and modal appear only in editors for enabled post types
  • Conditional Pattern Library: Podcaster Plus patterns display only for enabled post types in the pattern inserter
  • Enhanced Settings UI: Modern toggle controls replace checkboxes for better user experience in post type selection
  • Automatic Default Configuration: New installations automatically enable 'Posts' post type for seamless onboarding
  • Dynamic Post Meta Registration: Episode meta fields automatically registered for all enabled post types
  • Custom Post Type Compatibility: Full support for CPTs created with popular plugins like Pods, Toolset, and custom code

Changed

  • Non-Breaking Migration: Existing users maintain current functionality with 'Posts' automatically enabled upon update
  • Enhanced User Experience: Post type changes take effect immediately without requiring editor refresh
  • Improved Performance: Conditional asset loading ensures Episode Selector scripts/styles load only when needed
  • Better WordPress Integration: Uses WordPress native 'allowed_block_types_all' filter for clean block management
  • Professional UI Updates: Settings page now uses WordPress ToggleControl components for modern interface
  • Enhanced Error Handling: Robust validation and fallback mechanisms for edge cases and complex site configurations

Fixed

  • Custom Post Type Meta Handling: Resolved issues with post meta not saving properly for certain custom post types
  • CPT Editor Compatibility: Fixed Episode Selector functionality with custom post types created by third-party plugins
  • Block Availability Logic: Corrected block filtering to work consistently across all WordPress admin contexts
  • Settings Persistence: Enhanced settings save functionality to properly handle empty arrays and edge cases
  • Mobile Responsiveness: Improved settings interface display on mobile devices with toggle controls

Security

  • Enhanced Input Validation: Improved post type validation and sanitization throughout the system
  • Proper Capability Checking: Added appropriate permission checks for post type configuration changes
  • Safe Meta Registration: Enhanced post meta registration with proper authentication callbacks

[0.13.1] - 2025-05-30

Fixed

  • Theme Support Conflicts: Resolved potnetial fatal error conflicts with other plugins that could be caused by unconditional add_theme_support() calls
  • Color Palette Compatibility: Fixed issue where plugin would override existing color palette configurations, causing other plugins' addColorToPalette() methods to receive false instead of expected array data
  • Commercial Plugin Compatibility: Enhanced compatibility across thousands of different WordPress site configurations by making all configuration-passing theme support calls conditional

Security

  • Enhanced Plugin Compatibility: Implemented defensive programming practices to prevent theme support conflicts that could cause site-breaking fatal errors
  • Improved Validation: Added proper theme support existence checks before adding new configurations to prevent data type conflicts

[0.13.0] - 2025-05-30

Added

  • Container Block - Visual Controls: Replaced dropdown menus with intuitive visual button controls for Container block layout settings, featuring 15 custom-designed icons for flex direction, alignment, and content justification options
  • Container Block - Advanced Responsive Inheritance System:
    • Visual inheritance indicators showing which settings are inherited from larger screen sizes
    • Three distinct visual states: unselected, selected, and inherited (shown with grey dotted borders)
    • One-click deselection capability on tablet and mobile views to revert to inherited desktop settings
    • Enhanced tooltips explaining inheritance behavior and deselection options
  • Container Block - Persistent Panel State: Panels now stay open when switching between desktop, tablet, and mobile views for uninterrupted editing workflow
  • Container Block - Enhanced Sizing Controls: Numeric placeholders in sizing inputs show inherited values from parent breakpoints for immediate visual feedback
  • Container Block - Color Picker Interface: Clean dropdown-based color selection with proper empty color indicators and integrated gradient support
  • Container Block - Modular Settings Architecture: Organized settings into dedicated panels (Layout, Spacing, Sizing, Color) for better navigation and focus

Changed

  • Major UI/UX Overhaul: Complete redesign of Container block settings interface for improved user experience
  • Improved Responsive Editing: Enhanced visual feedback system makes it immediately clear which settings apply to which screen sizes
  • Streamlined Color Management: Color settings are now clearly desktop-only with proper disabled states and visual feedback on tablet/mobile views
  • Enhanced Accessibility: All visual controls include proper ARIA labels, keyboard navigation, and screen reader support
  • Performance Optimization: Reduced main component file size by 85% through improved code organization and modular architecture

Fixed

  • Inheritance Logic: Resolved critical bug where empty responsive values weren't properly inheriting from parent breakpoints in the editor preview
  • Panel Persistence: Fixed WordPress core issue where panels would close when switching between responsive views
  • Visual Consistency: Eliminated discrepancies between settings UI indicators and actual editor rendering
  • Spacing Inheritance: Corrected padding and margin inheritance behavior to properly reflect parent breakpoint values in the editor
  • Empty String Handling: Enhanced responsive helpers to treat empty strings as "no value set" for proper inheritance chain behavior

Security

  • Enhanced component prop validation and improved error handling throughout the settings interface

[0.12.0] - 2025-05-28

Added

  • New "Container" Block: Introduced a versatile container block designed for flexible content layout and organization.
  • Comprehensive Responsive Controls:
    • Global responsive device toggle (Desktop, Tablet, Mobile) in the block inspector for a streamlined responsive editing experience.
    • All layout, spacing, and sizing settings can be configured independently for each breakpoint.
  • Layout Options:
    • Display mode: block or flex.
    • Flexbox controls (when display is flex):
      • Responsive flex-direction (row, column, row-reverse, column-reverse).
      • Responsive align-items (stretch, flex-start, center, flex-end, baseline).
      • Responsive justify-content (flex-start, center, flex-end, space-between, space-around, space-evenly).
      • Responsive gap for spacing between flex items.
  • Spacing Options:
    • Responsive padding control via a dedicated ResponsiveBoxControl component.
    • Responsive margin control via a dedicated ResponsiveBoxControl component.
  • Expanded Sizing Options:
    • Responsive width.
    • Responsive height (new).
    • Responsive min-width (new).
    • Responsive min-height.
    • Responsive max-width (new).
    • Responsive max-height (new).
    • All sizing options support various CSS units (px, %, vw, vh, em, rem).
  • Color Customization: Background Color and Text Color options for the container.
  • Editor Experience Enhancements:
    • Live preview of responsive settings directly in the WordPress editor.
    • Visual distinction and help text for non-responsive settings (e.g., Display, Color) when a responsive device view (Tablet/Mobile) is active.
    • Placeholder/inherited value indicators for responsive controls to clarify styling origins.
  • Developer Utilities: Added getResponsiveValue, getInheritedValue, and updateResponsiveValue helper functions for robust management of responsive block attributes.

Changed

  • Refined CSS Architecture:
    • Standardized the use of CSS Custom Properties for all responsive styles (layout, spacing, sizing) in render.php for frontend rendering.
    • Updated style.scss and editor.scss to consume these CSS Custom Properties consistently, including appropriate fallback logic for different breakpoints.
    • Improved CSS specificity handling for sizing properties (e.g., max-width) by using conditional helper classes (has-custom-max-width, etc.) added via render.php. This allows user-defined sizes to override theme defaults when set, without interfering with theme defaults when not set.
  • Editor Styling (editor.scss): Updated to more accurately reflect frontend styles and ensure reliable live preview of all responsive settings, including new sizing options.
  • Inspector Controls UI (edit.tsx): Reorganized Sizing controls into a two-column layout for better user experience.

[0.11.2] - 2025-05-25

Changed

  • Updated plugin version to 0.11.2 for maintenance release
  • Added WordPress compatibility information indicating testing up to WordPress 6.8.1
  • Improved user guidance with updated compatibility specifications

[0.11.1] - 2025-05-25

Changed

  • Enhanced SCSS styles for episode selector component for improved visual presentation
  • Commented out license settings page addition in licensing class for better configuration control

Removed

  • Removed outdated Plugin Update Checker download step from release workflow to streamline build process
  • Eliminated unnecessary steps and potential points of failure during plugin release

[0.11.0] - 2025-05-23

Added

  • Integrated SureCart licensing system for improved license management
  • Added real-time license status monitoring with expiration date display
  • Created new licensing UI with one-click license activation
  • Added smart admin notices for license activation guidance
  • Implemented license-based restrictions for RSS feed configuration
  • Added intelligent placeholders in block editor for unlicensed users
  • Disabled episode selector button for unlicensed users with clear messaging
  • Added frontend rendering control based on license status
  • Implemented automatic update system for licensed users
  • Added mobile-optimized license management interface
  • Enhanced accessibility with improved screen reader support and keyboard navigation
  • Created comprehensive documentation for licensing system

Changed

  • Updated the license management interface for better user experience
  • Improved error handling and user feedback during license activation
  • Modified settings page to respect license status
  • Updated build process to include release.json for SureCart updates
  • Enhanced mobile responsiveness for license management
  • Modernized infrastructure replacing legacy update system
  • Optimized performance with intelligent license caching
  • Improved code quality following WordPress standards

Removed

  • Removed Plugin Update Checker (PUC) dependency
  • Removed legacy license handling code
  • Eliminated unnecessary processing overhead

Fixed

  • Fixed potential security issues with license validation
  • Improved license status caching for better performance
  • Resolved edge cases in license validation
  • Fixed network connectivity error handling
  • Fixed mobile responsiveness issues in admin interfaces

Security

  • Added server-side validation for all license-dependent operations
  • Implemented proper capability checks for license management
  • Enhanced API security with improved REST API endpoints
  • Added robust license validation with enterprise-grade infrastructure

[0.10.8] - 2025-05-20

Release v0.10.8: Pattern Layout Improvements

This minor release enhances the Unique Two Column Podcast Player pattern with improved layout and styling refinements.

Added

  • Refreshed Two Column Podcast Player: Updated the Unique Two Column Podcast Player pattern with revised content organization and visual styling
  • Improved Layout Structure: Better alignment and spacing for more consistent display across themes
  • Enhanced Visual Presentation: Refined styling for a more professional and polished appearance
  • Better Content Flow: Improved content arrangement for better readability and user experience

[0.10.7] - 2025-05-20

Changed

  • Streamlined episode details display with reorganized information layout for better visual hierarchy
  • Enhanced episode description rendering with proper HTML content support
  • Improved Episode Selector modal interface with better content organization
  • Optimized mobile experience with better responsiveness and usability on smaller screens
  • Refined user experience across the Episode Selector interface

Fixed

  • Fixed layout issues and improved content overflow behavior in the Episode Selector modal
  • Resolved visual inconsistencies for a more professional look and feel

[0.10.6] - 2025-05-19

Added

  • Added visual loading state to the episode selector for improved user feedback during data fetching
  • Implemented performance optimizations for pattern library loading times

Changed

  • Completely revamped the pattern selector within the episode selector modal
  • Dramatically improved pattern library loading performance for more responsive editing experience
  • Enhanced pattern selection workflow for faster and more intuitive user experience
  • Optimized overall performance when building podcast layouts

[0.10.5] - 2025-05-19

Added

  • Added 11 new Gutenberg block patterns for expanded creative options:
    • Minimal Purple Player
    • Simple Circle Podcast Player
    • Small Purple Player with Two CTAs
    • Black and White, Full Width, Full Height
    • Childish Player
    • Classic Green Hero Podcast Player
    • Dark, Modern, Full Page with Sticky Player
    • Full Minimal Page with Sticky Player
    • Header, Player, and Episode Description
    • Hero Section with Podcast Player
    • Unique Two-Column Podcast Player
  • Implemented CloudFront CDN integration for all plugin images via cdn.podcasterplus.com

Changed

  • Optimized image delivery through CloudFront CDN for faster loading times
  • Improved bandwidth usage efficiency with CDN-delivered media
  • Enhanced media delivery reliability and scalability
  • Updated plugin version to 0.10.5 with maintained backward compatibility

[0.10.4] - 2025-05-14

Added

  • Added 3 new visually distinct block patterns for enhanced creative options:
    • Sports, Full Width, Full Height: Immersive full-browser podcast player with sports-themed background, bold episode title, large playback controls, and progress bar
    • Black and White, Full Width, Full Height: Striking monochrome full-width/full-height player pattern with clean, modern design for timeless podcast presentation
    • Minimalist Podcast Player, Full Width: Sleek, distraction-free player pattern emphasizing simplicity and usability with essential controls and clean layout
  • Enhanced pattern library with additional creative showcase options for podcast content

[0.10.3] - 2025-05-14

Added

  • Added 2 new block patterns to expand creative display options:
    • Full Width Diagonal Colored Player: Bold, full-width player with diagonal color background for modern, eye-catching episode displays, ideal for featured episodes or homepage hero sections
    • Header Player and Episode Description: Cohesive layout combining header image, podcast player, and episode description, perfect for episode landing pages or detailed show notes
  • Fully integrated new patterns into the Podcaster Plus pattern library for block editor access

[0.10.2] - 2025-05-13

Changed

  • Enhanced pattern compatibility and layout consistency for existing patterns:
    • Unique Player 02: Updated block structure for better alignment, added group wrappers, improved episode title display, and introduced playback speed and volume controls for future extensibility
    • Unique Player 01: Refactored block content and structure to support new episode layouts and maintain visual consistency
    • Round Image Top: Restructured block layout and updated content for improved alignment and presentation
  • Improved pattern library compatibility with latest Podcaster Plus Blocks features
  • Prepared pattern library foundation for future enhancements

[0.10.1] - 2025-05-04

Fixed

  • Fixed build failure on GitHub Actions caused by missing @emotion/styled dependency
  • Resolved plugin installation issues from GitHub release zip files
  • Added missing @emotion/styled dependency to devDependencies for reliable CI builds
  • Ensured ClassicThemeAdvancedPanel block component has all required dependencies for proper installation

[0.10.0] - 2025-05-04

Added

  • Full classic theme compatibility for all Podcaster Plus blocks (Episode Title, Description, Image, Play Button, Playback Speed, Progress Bar, Volume, Skip Forward/Backward)
  • Advanced block styling controls including margin, padding, and min height settings
  • Background and color customization options with support for theme variables and custom values
  • ClassicThemeAdvancedPanel: New inspector panel for advanced classic theme settings
  • Theme support utilities for automatic style and control adaptation based on active theme
  • Enhanced block editor controls specifically designed for classic themes
  • Improved internationalization and localization support for UI elements

Changed

  • Updated minimum PHP requirement to 7.4
  • Improved compatibility with WordPress 6.6+
  • Enhanced block.json and block attributes for new style options
  • Refactored theme support utilities for better maintainability and future extensibility
  • Standardized code style and improved consistency across all blocks
  • Optimized asset loading to load styles and scripts only when needed for better performance
  • Improved code quality following WordPress coding standards and best practices

Security

  • Enhanced asset loading security with conditional script and style enqueuing

[0.9.3] - 2025-04-15

Added

  • Smart slider positioning for Volume block that intelligently adapts based on available viewport space
  • Enhanced animation controls with fine-grained control over animation duration and timing
  • New animation attributes for better Volume block customization
  • Viewport-aware positioning system for improved user experience
  • CSS custom properties for better style control in Volume block
  • Enhanced accessibility with improved screen reader support and keyboard navigation for Volume controls

Changed

  • Improved mobile experience with better handling of volume controls on mobile devices
  • Enhanced state management using wp-interactivity API for Volume block
  • Improved mobile device detection reliability
  • Cleaned up episode title block save component
  • Removed "TEST" labels from pattern titles for cleaner presentation
  • Various code optimizations and performance improvements

[0.9.2] - 2025-04-11

Added

  • Custom icon system with auto-generated components from SVG files for better control and flexibility
  • New icon build system using @svgr/core and @svgr/plugin-jsx
  • Auto-generated TypeScript components with proper type definitions for better type safety
  • Dedicated REST API endpoints for improved icon management
  • Comprehensive icon type definitions for better developer experience
  • Server-side rendering optimization for both frontend and backend icon display

Changed

  • Replaced Heroicons dependency with custom-built icon solution
  • Improved performance with reduced bundle size by removing external icon library dependencies
  • Enhanced icon styling consistency across all blocks with outline and solid variants
  • Updated Play/Pause buttons with outline and solid variants
  • Improved Skip Forward/Backward controls with enhanced styling
  • Enhanced Volume controls with mute/unmute states
  • Updated Settings (cog) icon with multiple variants
  • Optimized SVG code for better performance
  • Updated icon import paths in all blocks for new system

Removed

  • Removed @heroicons/react dependency
  • Eliminated external icon library dependencies

Fixed

  • Fixed icon rendering issues in some block variations
  • Improved icon positioning consistency across different themes
  • Resolved type definition issues in icon components

[0.9.1] - 2025-04-11

Added

  • New display modes for Playback Speed block:
    • Text and Icon (default): Classic look with both speed text and icon
    • Icon Only: Clean, square button showing just the icon
    • Text Only: Minimal square button displaying only the speed
  • New displayMode attribute to block configuration
  • Dynamic settings panels that adapt based on chosen display mode
  • Enhanced TypeScript type safety for Playback Speed block
  • Improved hover states for better user feedback

Changed

  • Enhanced visual design with consistent spacing and sizing for Playback Speed block
  • Improved CSS organization for better maintainability
  • Maintained all existing color customization options
  • Enhanced accessibility across all display modes
  • Improved button layout consistency

Fixed

  • Fixed color control panel display issues
  • Improved responsive behavior across multiple WordPress themes
  • Enhanced accessibility compliance for Playback Speed controls

[0.9.0] - 2025-04-11

Added

  • Robust database-based storage system replacing store-based mechanism
  • Proper episode ID tracking across all blocks
  • Shared loading state management
  • Fetch caching implementation
  • Enhanced TypeScript interfaces for better type safety
  • Episode Title block sync and edit indicators
  • Episode Description block loading spinner and updated sync settings panel
  • Enhanced color controls for Play Button block
  • Updated menu configuration for Playback Speed block
  • Optimized data loading for Progress Bar block
  • Enhanced slider functionality for Volume Control block

Changed

  • Breaking Change: Storage mechanism changed from store-based to database-based
  • Breaking Change: Blocks now require episode ID for proper functionality
  • Breaking Change: Updated block attributes structure
  • Enhanced data synchronization between editor and frontend
  • Improved handling of episodes beyond the first page
  • Enhanced Episode Image handling and synchronization with better template structure
  • Improved audio URL management for Play Button block
  • Enhanced style settings for Playback Speed block
  • Better performance optimization for Progress Bar block
  • Improved error handling for Skip Controls with enhanced icon settings
  • Enhanced audio handling for Volume Control block
  • Updated requirements: WordPress 6.6+ and PHP 7.4+

Fixed

  • Fixed issue with blocks failing to render after page reload
  • Resolved episode selection problems beyond the first page
  • Improved data persistence reliability
  • Enhanced error handling across all components
  • Better color management for Skip Controls

Deprecated

  • Store-based storage system (replaced with database-based system)
  • Existing patterns will need updating due to attribute structure changes

[0.8.13] - 2025-04-06

Changed

  • Enhanced build process to automatically include Plugin Update Checker in release builds
  • Integrated third-party dependency management into CI/CD pipeline
  • Streamlined release package creation process
  • Configured automated download of Plugin Update Checker v5.3 during build
  • Maintained clean repository structure while ensuring complete release packages
  • Updated local development requirements for Plugin Update Checker manual setup

[0.8.12] - 2025-04-06

Security

  • Added explicit GitHub Actions workflow permissions for enhanced security
  • Enhanced release asset upload security with proper authorization
  • Improved CI/CD pipeline authorization for private repository access
  • Added workflow-level permissions configuration:
    • contents: write for release asset management
    • packages: write for package operations
    • actions: write for workflow execution
  • Optimized GitHub Actions authentication for private repository environment

[0.8.11] - 2025-04-06

Changed

  • Simplified GitHub Actions workflow for more reliable automated releases
  • Updated CI/CD pipeline to automatically generate package lock file during build
  • Removed dependency on pre-existing lock file in CI environment
  • Streamlined package installation process in automated builds
  • Removed complex caching steps to improve build reliability
  • Enhanced dependency resolution automation for more robust release process

[0.8.10] - 2025-04-06

Added

  • Added pnpm-lock.yaml for consistent dependency installations
  • Added pnpm workspace protocol for improved dependency resolution
  • Added development requirements: Node.js 20+ and pnpm 8.x

Changed

  • Migrated from npm to pnpm for improved dependency management and faster installations
  • Updated dependency resolution system with pnpm's workspace protocol
  • Enhanced build consistency across development and CI environments
  • Updated development workflow to use pnpm commands (pnpm install, pnpm build)

Removed

  • Removed package-lock.json to prevent package manager conflicts
  • Eliminated npm as the primary package manager

[0.8.9] - 2025-04-06

Fixed

  • Fixed GitHub Actions workflow for automated release builds
  • Corrected pnpm setup sequence in build pipeline to properly initialize pnpm before Node.js setup
  • Fixed dependency installation order for reliable builds

Changed

  • Enhanced build pipeline reliability with correct tooling sequence
  • Improved automated build process for consistent and reliable releases
  • Maintained consistent build environment across all releases

[0.8.8] - 2025-04-06

Added

  • Added lodash (v4.17.21) as a direct dependency to ensure consistent builds

Fixed

  • Fixed module resolution error for lodash/debounce in build process
  • Improved GitHub Actions workflow with better dependency caching and error handling
  • Enhanced build pipeline reliability in CI/CD environment

Changed

  • Updated package.json to include lodash in main dependencies
  • Optimized pnpm caching strategy in GitHub Actions
  • Improved build process to handle dependencies more reliably

[0.8.7] - 2025-04-06

Changed

  • Updated plugin version number from 0.8.6 to 0.8.7 for compatibility tracking
  • Maintained all existing functionality from previous release

[0.8.6] - 2025-04-06

Added

  • Dynamic audio visualization to the Progress Bar block with three distinct styles:
    • Bars: Vertical bars that animate to the audio
    • Dots: Circular dots that move with the playback
    • Wave: Smooth waveform animation
  • Comprehensive customization options for audio visualization:
    • Height control (1-20px) for precise sizing
    • Density control (5-50 elements) to adjust visualization detail
    • Speed control (0.5-3 seconds) to match animation pace
    • Color customization with WordPress theme color support
    • Optional toggle button to show/hide the visualization
  • Enhanced accessibility features:
    • System motion preferences support
    • Keyboard-accessible visualization controls
    • High contrast support through WordPress theme colors
    • Subtle, text-based toggle button design
  • New block attributes for visualization settings
  • WordPress theme color integration support

Changed

  • Improved Progress Bar block with enhanced visual experience for podcast playback
  • Updated TypeScript definitions for new visualization features
  • Enhanced CSS organization for better maintainability
  • Optimized performance through CSS animations and responsive design using CSS custom properties
  • Improved block attribute handling for visualization settings

[0.8.5] - 2025-04-04

Fixed

  • Fixed pattern selector reliability issue where user-created patterns in the "podcaster-plus" category weren't consistently displaying across different WordPress installations
  • Resolved hardcoded category ID dependency that only worked when "podcaster-plus" category had ID 6
  • Fixed taxonomy term ID variation issues between different WordPress sites

Changed

  • Enhanced pattern selector to dynamically detect the correct category ID for "podcaster-plus" instead of using hardcoded values
  • Added fallback mechanism if category detection fails
  • Improved handling of both numeric and string-based category identifiers
  • Enhanced debugging information for pattern selector troubleshooting

[0.8.4] - 2025-04-04

Added

  • Added two new podcast player patterns:
    • Childish Player: Playful design featuring a large play button with rounded corners and vibrant colors
    • Round Image Top: Modern layout with circular episode image and gradient background
  • Enhanced background properties support for Play Button block for better customization
  • Added hover state customization options for Play Button
  • Added support for custom icon sizes and styles for Play Button
  • Improved pattern selection UI with grid layout and live previews

Changed

  • Enhanced Play Button accessibility with better focus states and ARIA labels
  • Standardized string quotes in pattern registration for better code consistency
  • Updated docs proxy endpoint for improved documentation access
  • Refactored podcast patterns for better maintainability

Fixed

  • Fixed pattern selection persistence in the episode selector
  • Improved pattern insertion handling in the confirmation step
  • Enhanced error handling for pattern loading

[0.8.3] - 2025-03-31

Added

  • Added support for Enter (keydown) and blur events to RSS feed input for improved interaction
  • Enhanced debounced save function with useMemo optimization

Changed

  • Optimized debounced save performance with longer delay (increased from 1000ms to 2000ms) for better efficiency
  • Improved RSS feed input UX: debounced saving now applies only to RSS feed field while other fields save instantly
  • Updated instructional text to clearly state "Paste your RSS feed URL here" for better user guidance
  • Enhanced Settings panel editing experience with more intuitive save behavior

Fixed

  • Reduced chance of unsaved changes in RSS feed input through improved event handling

[0.8.2] - 2025-03-31

Added

  • Modern React-based settings interface with tabbed navigation (Settings, License Management, Knowledge Base)
  • Dedicated Podcaster Plus menu item in WordPress admin sidebar for quick access
  • Dynamic color support with custom SVG icon that adapts to WordPress admin theme
  • Quick access "Settings" link on the plugins page
  • Enhanced documentation with integrated knowledge base featuring articles and video tutorials
  • REST API endpoints for better performance and reliability
  • Smart caching for documentation and video content
  • @tanstack/react-query dependency for efficient data fetching
  • react-router-dom dependency for improved navigation
  • Updated TypeScript definitions

Changed

  • Breaking Change: Complete redesign of settings interface requiring users to re-enter settings after updating
  • Breaking Change: Deprecated Podcaster_Plus_License class
  • Improved license management with streamlined activation and management process
  • Enhanced error handling and user feedback throughout the interface
  • Responsive design implementation for all screen sizes
  • Better sanitization of user inputs

Fixed

  • Fixed color inheritance issues with the admin menu icon
  • Improved error handling in settings management
  • Enhanced caching for external content

Security

  • Enhanced security measures with proper capability checks
  • Improved nonce verification for all API endpoints
  • Better sanitization of user inputs

Deprecated

  • Podcaster_Plus_License class (replaced with new license management system)

[0.8.1] - 2025-03-24

Added

  • Comprehensive TypeScript interfaces for WordPress data store interactions
  • Improved type definitions for block editor components
  • Proper typing for experimental WordPress features
  • Enhanced type safety in React hooks and component props
  • Enhanced code documentation and type annotations

Changed

  • Replaced generic any types with specific TypeScript interfaces for better type safety
  • Improved dependency management in React hooks
  • Standardized interface definitions across components
  • Enhanced maintainability and developer experience while maintaining all existing functionality
  • Updated system requirements: WordPress 6.6+ and PHP 7.4+

Removed

  • Removed redundant debug logging code for cleaner codebase

[0.8.0] - 2025-03-22

Added

  • WordPress Pattern Integration with support for patterns from the podcaster-plus category
  • Pattern Favorites system allowing users to save favorite patterns that appear at the top of the list
  • Custom Pattern Creation capability for creating and saving patterns using Podcaster Plus Blocks
  • Pattern Selection functionality for easily selecting and deselecting patterns for episodes
  • Pagination support for better performance with episode lists
  • Enhanced modal interface that is larger and more accessible
  • New pattern management system for comprehensive pattern handling
  • Updated documentation reflecting new pattern management features
  • Guidance for custom pattern creation

Changed

  • Improved Episode Selection with enhanced modal interface
  • Better confirmation process with clearer feedback and information during confirmation step
  • Enhanced performance through pagination implementation
  • Improved accessibility throughout the interface
  • Updated dependencies for better compatibility

Fixed

  • Various UI/UX improvements and bug fixes throughout the interface

[0.7.9] - 2025-03-14

Added

  • New Volume Control block with interactive volume slider and real-time feedback
  • One-click mute/unmute functionality for Volume block
  • Extensive styling options for Volume block:
    • Customizable borders and shadows
    • Theme-aware color settings
    • Adjustable icon and slider dimensions
  • Full accessibility support for Volume block:
    • Screen reader compatibility
    • Keyboard navigation
    • ARIA labels
  • Comprehensive customization options:
    • Icon size control (16px - 48px)
    • Slider width adjustment (60px - 200px)
    • Custom color settings for button background, icons (normal and hover states), slider track (filled and empty states), and slider handle
    • Border and shadow controls matching WordPress core blocks
  • Volume settings persistence across page loads
  • Integration with existing audio state management
  • CSS custom properties for dynamic styling

Changed

  • Enhanced podcast player with precise volume control capabilities
  • Built Volume block with WordPress Interactivity API for better performance
  • Implemented TypeScript for improved type safety in Volume block
  • Volume block synchronizes with audio player state for consistent experience

[0.7.8] - 2025-03-03

Added

  • Proper loading state transitions during episode updates
  • Enhanced error handling during episode insertion process
  • Proper cleanup of modal states for better state management

Changed

  • Optimized episode insertion flow for smoother user experience
  • Enhanced Redux store state management for loading states
  • Improved modal behavior during episode selection and insertion process
  • Enhanced state management for loading indicators throughout episode selection workflow
  • Optimized pattern insertion logic for better performance
  • Reduced unnecessary re-renders during episode selection
  • Updated state management patterns for better predictability
  • Improved code organization and removed debug statements

Fixed

  • Fixed issue where "Select Podcast Episode" button would remain in loading state after episode insertion
  • Eliminated modal flickering during episode insertion process
  • Improved button state management in the Inspector Controls
  • Enhanced error handling throughout the episode selection process

[0.7.7] - 2025-03-03

Added

  • New animations to loading button states
  • Enhanced focus styles for better accessibility
  • Stylelint configuration to handle specific WordPress styling patterns
  • Improved TypeScript type definitions
  • Enhanced code comments and documentation for better clarity

Changed

  • Implemented consistent use of double quotes across JavaScript/TypeScript files
  • Updated ESLint configuration for better TypeScript support
  • Improved code formatting and readability across components
  • Enhanced Progress Bar styling and interaction
  • Improved Play Button responsiveness and hover effects
  • Updated Skip Forward/Backward button styles
  • Refined Pattern Selector card and preview layouts
  • Enhanced Episode Selector preview section styling
  • Enhanced Multi-step Modal navigation
  • Updated Episode Description block rendering
  • Refined Pattern Preview component styling
  • Updated webpack configuration for better module handling
  • Enhanced editor controls styling across blocks
  • Updated PostCSS configuration for better CSS processing
  • Improved block registration consistency
  • Enhanced store management for patterns and episodes
  • Optimized media handling in the editor
  • Optimized CSS transitions and animations
  • Improved block rendering efficiency
  • Enhanced media loading performance
  • Updated dependencies: TypeScript ^5.3.3, React ^18.2.0, @wordpress/scripts ^30.8.1, postcss-preset-env ^9.3.0

Fixed

  • Fixed block attribute type declarations
  • Resolved styling inconsistencies in editor controls
  • Fixed event handler bindings in various components
  • Addressed CSS selector specificity issues

[0.7.6] - 2025-02-26

Added

  • Pattern library system for Podcaster Plus Blocks with predefined podcast player patterns
  • Three initial player patterns:
    • Basic Player: Sticky player with standard controls and progress bar
    • Unique Player 01: Stylish player with episode title and controls
    • Unique Player 02: Large play button design with custom styling
  • Seamless pattern insertion through the episode modal
  • WordPress core pattern library integration
  • Custom pattern category "Podcaster Plus Blocks"
  • New pattern content endpoint (/podcaster-plus/v1/patterns/{id})
  • Secure pattern access with proper authentication
  • JSON-based pattern storage for easy maintenance
  • Enhanced pattern metadata handling in the database
  • Pattern preview in episode insertion modal
  • Automatic block parsing and insertion
  • Updated developer documentation for the pattern system
  • Code comments for pattern registration flow

Changed

  • Enhanced episode insertion modal with pattern integration capabilities
  • Improved error handling for pattern operations
  • Updated system requirements: WordPress 6.6+
  • Implemented dual pattern registration system (PHP for WordPress core, JavaScript store for modal interface)

Fixed

  • Fixed pattern permission handling for authenticated users
  • Improved pattern content validation
  • Enhanced error messaging for pattern insertion

[0.7.5] - 2025-02-25

Added

  • Support for theme color classes in Progress Bar block
  • Box shadow support for Progress Bar styling
  • Gradient support for enhanced visual customization
  • Enhanced live region updates for time display accessibility
  • Improved semantic markup for better accessibility

Changed

  • Breaking Change: Progress Bar block state management implementation updated (custom integrations may need review)
  • Enhanced Progress Bar style application on front end ensuring editor customizations are properly rendered
  • Improved integration with wp-interactivity API for smoother playback progress updates
  • Better coordination between Play Button and Progress Bar blocks for state synchronization
  • Optimized data fetching by removing duplicate episode data requests
  • Improved progress bar response during audio playback with real-time updates
  • Enhanced handling of custom color values
  • Improved spacing controls (margin/padding) application
  • Better border style and radius application
  • Enhanced hover state handling
  • Streamlined state management through wp-interactivity API
  • Enhanced code organization and reduced duplication
  • Improved type safety and error handling
  • Maintained ARIA attributes for screen reader support

Removed

  • Removed unnecessary mutation observer for better performance
  • Eliminated redundant HTTP requests by leveraging shared audio store state

Fixed

  • Fixed issue with styles not being properly applied on the front end
  • Resolved duplicate HTTP requests when using multiple audio blocks
  • Fixed time display formatting inconsistencies

[0.7.4] - 2025-02-21

Added

  • Lazy loading pattern for RSS feed URL retrieval to reduce database queries
  • Automatic cache clearing when RSS feed URL is updated in settings
  • Debug logging for better development insights
  • Intelligent cache management for RSS feed URL changes

Changed

  • Implemented lazy loading for get_option('podcaster_plus_rss_feed') to optimize performance
  • Improved transient management for episode data
  • Better handling of feed URL storage in memory for reduced memory usage
  • Minimized repeated calls to WordPress options table for reduced database load
  • Enhanced handling of feed URL updates in WordPress admin

Fixed

  • Fixed issue with redundant database queries for RSS feed URL
  • Resolved potential memory issues with repeated option calls
  • Improved handling of feed URL updates in the WordPress admin

[0.7.3] - 2025-02-21

Added

  • Proper image metadata during upload process:
    • Title: Uses episode title
    • Alt Text: "Episode thumbnail: [Episode Title]"
    • Caption: "Thumbnail for episode: [Episode Title]"
  • Enhanced media library integration ensuring episode images are correctly attached to their respective posts
  • Improved image accessibility with proper titles and alt text using episode metadata

Changed

  • Streamlined image processing to ensure only one copy of each episode image is stored in media library
  • Consolidated image download logic to prevent duplicate downloads
  • Optimized image download process for better performance
  • Fixed database handling of episode_image_id to ensure consistent image references
  • Improved relationship between posts and their associated media attachments

Fixed

  • Fixed issue where images appeared as "Unattached" in the media library
  • Resolved inconsistency between featured images and episode image blocks
  • Fixed duplicate image downloads during episode insertion
  • Fixed issues with featured image assignment when inserting episodes

[0.7.2] - 2025-02-20

Added

  • Complete TypeScript migration for Episode Description, Image, and Title blocks
  • Comprehensive type definitions for all block components and WordPress interactions
  • Enhanced error boundaries and loading states across all blocks
  • Improved type definitions for episode interfaces
  • Better TypeScript integration with WordPress APIs
  • Standardized file structure across all blocks following consistent pattern:
    • src/blocks/[block-name]/block.json
    • src/blocks/[block-name]/edit.tsx
    • src/blocks/[block-name]/index.js
    • src/blocks/[block-name]/style.scss
    • src/blocks/[block-name]/view.ts

Changed

  • Modernized block architecture with all episode blocks following standardized block structure
  • Separated edit logic into dedicated edit.tsx files for better organization
  • Introduced view.ts files for frontend functionality
  • Reorganized SCSS structure for better maintainability
  • Updated block.json files for TypeScript compatibility
  • Standardized state management patterns across all blocks
  • Enhanced developer experience with consistent file structure
  • Maintains full backward compatibility with existing content and user settings

[0.7.1] - 2025-02-20

Added

  • Consistent .podcaster-plus-loading-text class across all podcast blocks
  • Refined loading spinner animations for improved visual consistency
  • Standardized font sizes and opacity for loading indicators across blocks

Changed

  • Enhanced loading states with improved visual consistency across all podcast blocks
  • Updated loading spinners and text presentation for a more polished look
  • Consolidated SCSS styles into block-specific index files for better organization
  • Improved user experience with standardized loading indicators and styling

Removed

  • Deprecated episode audio player block
  • Removed interactive test blocks
  • Cleaned up associated unused implementations and deprecated code for better maintainability

[0.7.0] - 2025-02-19

Added

  • Completely redesigned episode selection modal with improved search and filtering
  • New custom database tables for efficient episode storage
  • Intelligent caching system for episode data
  • Real-time episode preview in episode selector
  • New episode selector store for state management
  • Enhanced keyboard accessibility across all controls
  • Improved keyboard navigation and screen reader support
  • Better loading states with visual feedback
  • Enhanced ARIA labels and roles for better accessibility
  • More consistent focus management throughout the interface
  • Enhanced developer tooling and testing support

Changed

  • Major: All blocks now use the new episode selector store for improved state management
  • Major: Refactored audio player blocks to use shared state for better synchronization
  • Major: New database schema for episode storage with efficient caching and retrieval
  • Improved episode search and filtering capabilities
  • Enhanced playback synchronization across audio player controls
  • Better handling of audio loading states
  • Enhanced progress bar interaction
  • Improved state management to prevent unnecessary post revisions
  • Reduced REST API dependencies for better performance
  • Better handling of episode metadata
  • Improved TypeScript support
  • Better code organization and documentation
  • Reduced memory usage and API calls
  • Improved block editor performance

Fixed

  • Eliminated unnecessary post revisions
  • Fixed episode data synchronization issues
  • Reduced server load through optimized API calls
  • Faster episode loading and synchronization

[0.6.0] - 2025-02-14

Added

  • Comprehensive styling controls for all blocks enabling granular customization
  • Unified styling improvements across Play Button, Skip Forward, and Skip Backward blocks:
    • Icon customization with size controls and outline/solid style variants
    • Enhanced hover effects, active state feedback, and focus state accessibility
    • WordPress color palette support, background color controls, border customization, and shadow effects
  • Progress Bar block width controls:
    • Custom width toggle with responsive slider control
    • Unit selection (%, px, vw, em, rem) with smart max values based on selected unit
    • Enhanced border handling with radius controls and WordPress core border style integration
  • Playback Speed block enhancements:
    • Refined dropdown menu appearance with adjustable padding (2px-16px) and customizable text size
    • Enhanced icon customization with size controls (12px-32px), position toggle (left/right), and outline/solid style options
    • Extended theme color integration with background color support, icon color customization, hover state colors, and WordPress color palette compatibility
  • Better theme compatibility and WordPress core styling integration
  • Enhanced accessibility improvements across all blocks

Changed

  • Improved SVG rendering for all icon-based blocks
  • Enhanced responsive behavior across all blocks
  • Consistent styling controls implementation across all blocks
  • Updated system requirements: WordPress 6.4+
  • Enhanced compatibility with Full Site Editing themes
  • Maintains backwards compatibility with no database changes required

Fixed

  • Fixed duplicate border-radius application in Progress Bar block
  • Improved hover states across all player control blocks

[0.5.0] - 2025-01-09

Added

  • WordPress Interactivity API integration for enhanced frontend functionality
  • @wordpress/interactivity package for modern interactive features
  • howler.js dependency for improved audio handling
  • Support for synchronized episode data across blocks
  • Interactivity API reference documentation in src/README.md
  • Updated development guidelines and enhanced code documentation
  • Modular block management structure

Changed

  • Major: Implemented WordPress Interactivity API for enhanced frontend functionality
  • Major: Refactored block registration process for improved maintainability
  • Consolidated block management into modular structure through new methods in class-podcast-blocks.php
  • Enhanced episode block functionality with dynamic data handling
  • Improved audio player blocks with dynamic episode selection
  • Updated block asset management system
  • Improved editor asset handling
  • Enhanced block metadata handling
  • Updated plugin metadata and configuration

Removed

  • Removed Composer dependencies in favor of npm packages

[0.4.0] - 2024-12-16

Added

  • Interactive block functionality using the WordPress Interactivity API
  • Podcast Player and Minimalist Player blocks
  • Progress Bar, Play Button, and Episode Description blocks
  • Episode Audio Player block
  • Episode Title, Description, and Image blocks with styling
  • Podcast cache class for improved performance
  • Podcast episode selector class for episode management
  • Server-side rendering for interactive blocks
  • Client-side scripts and styles for interactive block functionality
  • Admin styles for improved backend experience
  • Common block styles for consistent appearance

Changed

  • Major: Moved all blocks to wp-interactivity API for enhanced functionality
  • Moved interactive test files to correct directory structure for better organization

[0.3.1] - 2024-12-16

Changed

  • Minor improvements and bug fixes

[0.3.0] - 2024-12-04

Added

  • Early development features and functionality

[0.2.2] - 2024-12-02

Fixed

  • Bug fixes and stability improvements

[0.2.1] - 2024-12-02

Fixed

  • Additional bug fixes and refinements

[0.2.0] - 2024-12-02

Added

  • Core functionality development

[0.1.4] - 2024-12-02

Fixed

  • Early bug fixes and improvements

[0.1.3] - 2024-12-01

Changed

  • Development refinements and updates

[0.1.2] - 2024-11-28

Fixed

  • Initial bug fixes and stability improvements

[0.1.1] - 2024-11-28

Fixed

  • Early development fixes

[0.1.0] - 2024-11-25

Added

  • Initial plugin concept and foundation
  • Basic project structure and configuration
  • Early development framework "