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.26.4] - 2025-07-12
Changed
- Enhanced GitHub Actions Changelog Workflow: Improved the changelog synchronization workflow to handle large changelog content more reliably:
- Temporary File Strategy: Replaced direct JSON payload passing with temporary file approach to avoid command line argument length limits
- Improved Error Handling: Enhanced payload construction using temporary files for better reliability when processing large changelog content
- Automatic Cleanup: Added proper temporary file cleanup to prevent system resource accumulation
- Enhanced Reliability: Resolved potential issues with very large changelog content that could exceed system argument limits
Fixed
- Argument List Length Limits: Resolved potential failures in GitHub Actions when changelog content exceeds command line argument limits
- Workflow Stability: Enhanced changelog synchronization workflow stability for large content processing
Technical Details
- GitHub Actions Optimization: Updated
.github/workflows/sync-changelog.yml
to use temporary file-based JSON payload construction - Command Line Compatibility: Improved compatibility with system limitations on argument list lengths
- Resource Management: Added proper temporary file cleanup for better resource management in CI/CD environment
This maintenance release ensures reliable changelog synchronization regardless of content size, improving the automated workflow stability for future releases.
[0.26.3] - 2025-07-12
Added
- Small Purple Player Pattern Restoration: Re-enabled the "Small Purple Player with Two CTAs" pattern in the Podcaster Plus pattern library:
- Compact Design: Professional compact player with 400px desktop width and responsive mobile scaling
- Dual Call-to-Action Buttons: Includes "Sign up" and "View" buttons for enhanced user engagement
- Purple Theme: Consistent purple color scheme (#503AA8) across all player controls and elements
- Responsive Layout: Optimized layout that adapts from row-based desktop to column-based mobile presentation
- Enhanced Controls: Includes episode image, skip controls, play button, volume control, and progress bar
- Professional Styling: Features rounded borders, shadows, and proper spacing for a polished appearance
Changed
- Pattern Library Enhancement: Small Purple Player pattern is now available in the WordPress block editor pattern inserter for immediate use
- Pattern Registration: Restored pattern registration in the core pattern management system ensuring proper WordPress integration
Technical Details
- WordPress Standards Compliance: Pattern follows WordPress block pattern standards and accessibility guidelines
- Container Block Architecture: Built using the modern Container block system with responsive controls and advanced styling options
- Future-Ready: Compatible with all current and future Podcaster Plus block enhancements and features
This release restores a popular compact player pattern that provides users with a professional, call-to-action focused podcast player design perfect for promotional and marketing content.
[0.26.2] - 2025-07-06
Added
- Basic Player Pattern Restoration: Re-introduced the "Basic Player" pattern with complete modernization using the enhanced Container block system:
- Modern Container Architecture: Updated from legacy WordPress group blocks to the new Container block system with advanced responsive controls
- Enhanced Responsive Design: Full responsive configuration with desktop, tablet, and mobile optimizations
- Advanced Styling Options: Includes borders, shadows, background colors, and responsive padding/margin controls
- Improved Mobile Experience: Better mobile layout with responsive justification and sizing adjustments
- Professional Styling: Clean design with subtle shadows, rounded borders, and cohesive color scheme
- Enhanced Accessibility: Better structure and semantic markup for improved screen reader support
Changed
- Pattern Library Enhancement: Basic Player pattern now demonstrates the full capabilities of the Container block system introduced in recent releases
- Responsive Controls Integration: Pattern showcases responsive visibility controls, with playback speed control hidden on mobile for cleaner mobile experience
- Enhanced Layout Structure: Improved nested Container architecture providing better content organization and responsive behavior
Technical Details
- Container Block Showcase: Basic Player pattern serves as a comprehensive example of Container block capabilities including layout, spacing, sizing, colors, borders, and shadows
- Responsive Best Practices: Demonstrates proper responsive inheritance and mobile-first design patterns
- Performance Optimized: Uses efficient CSS custom properties and modern responsive techniques for optimal performance
- Future-Ready: Built with the latest Container block architecture ensuring compatibility with future enhancements
This release restores a popular pattern while showcasing the enhanced capabilities of the modern Container block system, providing users with a professionally designed, responsive podcast player pattern.
[0.26.1] - 2025-07-05
Added
- Enhanced Editor Styling: Added editor-specific styles for improved containment and proper box-sizing across blocks:
- Container block editor styles with
box-sizing: border-box
for proper child element containment - Progress Bar block wrapper styles ensuring proper boundaries within parent containers
- Responsive sizing properties for tablet and mobile breakpoints
- Container block editor styles with
Changed
- Improved Block Containment: Enhanced block styling to ensure proper containment within parent containers:
- Updated Container block styles to include
box-sizing: border-box
for better child element management - Applied
box-sizing
to all child elements in the editor for consistent behavior - Removed user-controlled flex properties from
.block-editor-inner-blocks
wrapper for cleaner styling - Enhanced wrapper styles to respect parent boundaries in the editor
- Updated Container block styles to include
Removed
- Temporary Pattern Removal: Temporarily removed several block patterns for future restyling using the new Container block method:
- Patterns will be redesigned to take advantage of improved Container block capabilities
- This ensures better consistency and maintainability in the pattern library
Technical Details
- WordPress Standards Compliance: All styling improvements follow WordPress coding standards and block editor best practices
- Backward Compatibility: All changes maintain full backward compatibility with existing content and configurations
- Performance Optimized: Enhanced CSS architecture with improved specificity and reduced conflicts
- Future-Ready: Prepared pattern library for upcoming improvements using enhanced Container block capabilities
This maintenance release focuses on improving block containment, editor styling consistency, and preparing the pattern library for future enhancements using the improved Container block system.
[0.26.0] - 2025-03-04
Added
- Container Block Instance-Specific Styling: Implemented unique instance ID generation for Container blocks to prevent CSS inheritance conflicts:
- Unique Instance IDs: Each Container block now generates a unique identifier to ensure styling isolation
- Instance-Specific CSS Custom Properties: CSS custom properties now include instance IDs for better organization and specificity
- Inherited Flex Value Helper: New
get_inherited_flex_value
helper function to retrieve inherited flex values from parent breakpoints - Responsive Flex CSS Properties: Added responsive flex CSS custom properties for proper media query consumption
- Base Container Styling: Enhanced base container styles with improved empty container display and flex behavior
Changed
- Enhanced Display Settings Visibility Handling: Improved display helper functions to handle both boolean false and string "hidden" values for visibility settings:
- Flexible Visibility Logic: Display functions now properly handle boolean and string values for responsive visibility controls
- Smart Transition Classes: Added logic to determine if visibility controls are set and apply transition classes accordingly
- Improved Display Styles Processing: Enhanced display_styles function for better value type handling
- Container Block CSS Architecture Overhaul: Complete redesign of Container block styling system:
- Instance-Specific Inline Styles: Container styles now use instance-specific CSS custom properties set as inline styles from render.php
- Editor Style Isolation: Updated container editor styles to remove inheritance conflicts and handle sizing, padding, margin, colors, borders, and shadows independently
- Flex Properties via CSS Custom Properties: Flex properties now properly set via CSS custom properties for consistent responsive behavior
- Immediate Inherited Styling: Added application of inherited flex properties for immediate visual feedback
- Enhanced CSS Custom Properties System: Updated
generateCSSCustomProperties
function in style-helpers.ts:- Instance ID Parameter: Added instanceId parameter for proper inheritance and specificity
- Improved Naming Convention: CSS custom properties include instance IDs for better organization
- Enhanced Inheritance Support: Better support for responsive property inheritance across breakpoints
- Episode Title Block Content Synchronization: Updated Episode Title block to properly sync with selected episode data for accurate content display
Fixed
- Container Block CSS Inheritance Issues: Resolved critical CSS inheritance problems that were causing styling conflicts between multiple Container blocks on the same page
- Display Visibility Edge Cases: Fixed handling of edge cases in display visibility settings where mixed boolean and string values could cause rendering inconsistencies
- Container Editor Preview Accuracy: Improved Container block editor preview to accurately reflect frontend styling through instance-specific properties
- Flex Property Application: Fixed inconsistent flex property application across different responsive breakpoints
- Episode Title Synchronization: Resolved issue where Episode Title blocks weren't properly updating with selected episode content
Technical Details
- WordPress Standards Compliance: All Container block improvements follow WordPress coding standards and accessibility guidelines
- Backward Compatibility: All enhancements maintain full backward compatibility with existing Container block configurations
- Performance Optimized: Instance-specific styling approach reduces CSS conflicts while maintaining optimal performance
- Enhanced Maintainability: Cleaner CSS architecture with improved separation of concerns and better code organization
This release significantly improves Container block reliability and styling consistency while enhancing display settings flexibility and Episode Title block content synchronization.
[0.25.1] - 2025-07-03
Added
- Enhanced Knowledge Base Organization: Comprehensive improvements to the Knowledge Base interface for better user experience:
- Categorized Article Sections: Articles now organized into "Getting Started" and "Troubleshooting" categories for easier navigation
- Smart Article Filtering: Automatic categorization based on WordPress category IDs (Getting Started: 29, Troubleshooting: 30)
- Enhanced Navigation: Added knowledge base description with direct link to comprehensive documentation site
- External Help Resources: New footer section with "Visit Full Documentation" and "Contact Support" buttons for additional assistance
- Video Tutorial Framework: Added feature flag system for future video tutorial integration (currently disabled)
- Improved Accessibility: Enhanced accessibility features throughout the Knowledge Base:
- Better focus management and keyboard navigation
- Improved ARIA labels and screen reader support
- Enhanced button styling with proper focus indicators
- Consistent card layouts with flexbox for equal height distribution
Changed
- Interface Redesign: Complete overhaul of Knowledge Base user experience:
- Removed Modal Interface: Articles now open in new tabs/windows instead of modal overlays for better accessibility and user control
- Enhanced Article URLs: Smart URL handling with fallback mechanisms for reliable article access
- Improved Loading States: Categorized skeleton loading that matches the final organized layout
- Better Visual Hierarchy: Enhanced typography, spacing, and layout for improved readability
- Enhanced Card Layout System: Upgraded article cards with professional styling:
- Consistent card heights using flexbox layout
- Improved content organization with proper spacing
- Enhanced button positioning and styling
- Better responsive behavior across different screen sizes
- Streamlined User Flow: Simplified navigation and discovery:
- Direct links to external documentation
- Clear categorization reduces cognitive load
- Prominent help resources in footer section
Fixed
- Article Display Consistency: Resolved layout issues with article cards having inconsistent heights and content alignment
- Category-Based Filtering: Fixed article organization to properly filter and display content based on WordPress categories
- External Link Handling: Enhanced article URL resolution with proper fallback mechanisms for reliable access
- Mobile Responsiveness: Improved Knowledge Base display and navigation on mobile devices
Technical Details
- WordPress Standards Compliance: All Knowledge Base improvements follow WordPress coding standards and accessibility guidelines
- Performance Optimized: Reduced DOM complexity by removing modal system and streamlining card layouts
- Future-Ready Architecture: Implemented feature flag system enabling easy activation of video tutorials when content is ready
- Enhanced Maintainability: Cleaner component structure with improved separation of concerns and better code organization
This maintenance release significantly improves the Knowledge Base user experience by providing better organization, enhanced accessibility, and clearer navigation paths to help resources while maintaining full backward compatibility.
[0.25.0] - 2025-07-03
Added
- Container Block Architecture Unification: Successfully migrated the Container block from its legacy custom panel system to the shared responsive controls architecture used across all other Podcaster Plus blocks:
- Shadow Panel Integration: Container block now includes comprehensive shadow controls with color, offset, blur, spread, and inset options matching other audio player blocks
- Enhanced Border Controls: Added responsive border support with per-side controls, radius customization, and WordPress theme color integration
- Color System Integration: Container block now supports the universal responsive color system with background and text color controls across all device breakpoints
- Display Settings Support: Added advanced display controls including responsive visibility toggles and sticky positioning capabilities
- Responsive Breakpoint Optimization: Enhanced responsive design with updated breakpoint definitions:
- Tablet breakpoint: ≤1024px (updated for better tablet device coverage)
- Mobile breakpoint: ≤768px (optimized for modern mobile devices)
- Advanced Inheritance System: Improved inheritance handling for sticky positioning offset values with visual indicators showing inheritance sources across device breakpoints
Changed
- Major Container Block Refactor: Complete architectural overhaul replacing isolated custom panels with shared responsive control system:
- Unified Panel System: Container block now uses
SpacingPanel
,SizingPanel
,ColorPanel
,BorderPanel
,ShadowPanel
, andDisplayPanel
components consistent with other blocks - Preserved Custom Layout Controls: Maintained Container block's unique
LayoutPanel
for flexbox direction, alignment, and justify controls while adopting shared panels for other settings - Enhanced Attribute Structure: Consolidated all responsive settings into unified
responsiveSettings
object following the same pattern as other refactored blocks - Server-Side Rendering Enhancement: Updated PHP rendering to use global
podcaster_plus_get_responsive_styles()
andpodcaster_plus_get_display_classes()
helpers - Dual-Layer Wrapper Architecture: Implemented consistent wrapper structure where outer div handles layout/spacing/display and inner div handles styling
- Unified Panel System: Container block now uses
- Improved Editor Experience: Container block now benefits from the same responsive control workflow as other blocks:
- Responsive device toggle integration with session storage persistence
- Visual inheritance indicators showing which settings inherit from larger screen sizes
- Consistent panel management with one-panel-open-at-a-time behavior
- Live editor preview using CSS custom properties for responsive settings
- Enhanced CSS Architecture: Updated Container block styles to use CSS custom properties system:
- Responsive spacing, sizing, color, border, and shadow properties
- Consistent breakpoint handling across all device sizes
- Sticky positioning support with proper offset and z-index management
- Theme integration with WordPress color palette and preset support
Removed
- Legacy Container Components Cleanup: Eliminated redundant Container-specific components in favor of shared system:
- Removed
src/blocks/container/panels/SpacingPanel.tsx
(replaced with shared SpacingPanel) - Removed
src/blocks/container/panels/SizingPanel.tsx
(replaced with shared SizingPanel) - Removed
src/blocks/container/panels/ColorPanel.tsx
(replaced with shared ColorPanel) - Removed
src/blocks/container/ResponsiveBoxControl.tsx
(replaced with shared ResponsiveBoxControl) - Removed
src/blocks/container/ResponsiveToggle.tsx
(replaced with shared ResponsiveToggle) - Removed
src/blocks/container/utils/responsive-helpers.ts
(replaced with shared responsive helpers) - Removed
src/blocks/container/utils/style-helpers.ts
(replaced with shared style helpers)
- Removed
- Maintained Essential Components: Preserved Container block's unique functionality:
- Kept
src/blocks/container/panels/LayoutPanel.tsx
for flexbox-specific controls - Kept
src/blocks/container/utils/layout-icons.tsx
for visual layout controls
- Kept
Fixed
- Container Block Consistency: Resolved inconsistencies between Container block settings and other Podcaster Plus blocks by adopting the unified responsive control system
- Enhanced Theme Compatibility: Improved Container block compatibility with various WordPress themes through standardized CSS architecture
- Responsive Preview Accuracy: Fixed editor preview synchronization ensuring Container block responsive settings display correctly across all device views
- Inheritance Logic: Enhanced responsive value inheritance ensuring empty values properly inherit from parent breakpoints in both editor and frontend
Technical Details
- WordPress Standards Compliance: Container block refactor follows WordPress coding standards and accessibility guidelines
- Backward Compatibility: All Container block configurations continue to work without modification through intelligent attribute migration
- Performance Optimized: Reduced code duplication and improved maintainability through shared component architecture
- Developer Experience: Container block now follows the same patterns as other blocks, improving consistency for future development and maintenance
This release completes the architectural unification of Podcaster Plus Blocks, bringing the Container block in line with the modern responsive control system while preserving its unique layout capabilities and ensuring a consistent editing experience across all blocks.
[0.24.1] - 2025-07-01
Added
- Enhanced Play Button Loading States: Comprehensive loading state system for Play Button block providing visual feedback during audio initialization:
- Loading State Indicator: Dynamic spinner animation that appears while Howler.js initializes audio, replacing the play icon during loading
- Error State Handling: Visual error indicator with error icon when audio fails to load, allowing users to retry by clicking the button
- Smart State Management: Intelligent state transitions between loading, error, play, and pause states with proper cleanup
- Accessibility Enhancements:
- Dynamic
aria-label
that changes based on current state ("Loading audio...", "Error loading audio. Click to retry", "Play", "Pause") aria-busy
attribute during loading states for screen reader announcements- Enhanced screen reader text that updates contextually based on button state
- Dynamic
- Visual State Indicators: Clean, non-intrusive visual feedback system:
- Animated spinner icon during audio loading with smooth CSS keyframe animations
- Error state with distinctive error icon and visual styling
- Disabled state styling with reduced opacity and appropriate cursor states
- Smooth transitions between all button states
Changed
- Enhanced Play Button User Experience: Improved button behavior with loading feedback preventing user confusion during audio initialization
- WordPress Interactivity API Integration: Extended audio store state management with new
isLoading
,hasError
, anderrorMessage
properties - Improved Button Accessibility: Enhanced accessibility compliance with proper ARIA attributes and dynamic announcements for all button states
- Responsive Icon Scaling: Loading spinner and error icons scale appropriately with the
--icon-size
CSS variable, maintaining visual consistency
Fixed
- Audio Loading Feedback: Resolved issue where users could interact with Play Button before audio was ready, potentially causing confusion or errors
- Screen Reader Experience: Fixed missing context for screen readers when audio is loading or encounters errors
- Button State Management: Enhanced button state handling to prevent interactions during loading and provide clear feedback for error states
Technical Details
- WordPress Standards Compliance: All loading state implementations follow WordPress coding standards and accessibility guidelines
- Performance Optimized: CSS-based animations with minimal JavaScript overhead for smooth loading state transitions
- Backward Compatible: All loading state enhancements maintain full backward compatibility with existing Play Button configurations
- Theme Integration: Loading states inherit theme colors and styling while maintaining distinctive visual feedback
This release significantly improves the user experience for podcast playback by providing clear visual feedback during audio loading, eliminating confusion about button responsiveness, and ensuring proper accessibility support throughout the loading process.
[0.24.0] - 2025-07-01
Added
- NEW Display Settings System: Comprehensive new display controls providing advanced rendering options for all Podcaster Plus blocks:
- Responsive Visibility Controls: Toggle visibility per device (Desktop/Tablet/Mobile) with smooth transitions
- Advanced Sticky Positioning: Dynamic sticky behavior with top/bottom positioning, custom offsets, z-index control, boundary settings, and smooth transitions
- Real-Time Editor Preview: Live preview of sticky positioning behavior directly in the WordPress block editor
- WordPress Admin Bar Compensation: Automatic offset calculation that accounts for WordPress admin bar height (32px desktop/tablet, 46px mobile)
- New Display Components Architecture:
DisplayPanel.tsx
: Modern React component providing intuitive display controls with visual inheritance indicatorsuseEditorStickyBehavior.tsx
: Custom hook for real-time sticky behavior preview in editorsticky-store.ts
: WordPress Interactivity API implementation for smooth frontend sticky positioningdisplay-helpers.php
: Server-side processing and CSS generation for display settingsdisplay-helpers.ts
: TypeScript utilities for editor display behavior management
- Universal Block Integration: All Podcaster Plus blocks now include display settings:
- Episode Blocks: Episode Title, Episode Description, Episode Image
- Audio Player Blocks: Play Button, Playback Speed, Progress Bar, Skip Backward, Skip Forward, Volume
- Consistent Interface: Unified display controls across all blocks with identical functionality
- Advanced CSS Architecture:
- CSS Custom Properties system for responsive display behavior
- Utility CSS classes for visibility and sticky positioning
- Media query breakpoints optimized for tablet (≤1024px) and mobile (≤768px)
- Performance-optimized animations and transitions
- Dual-Layer Block Architecture:
- Wrapper layer handles display behavior (visibility, sticky positioning, spacing, sizing)
- Inner element layer manages styling (borders, shadows, colors, content-specific styles)
- Clean separation of concerns for better maintainability and performance
Changed
- Enhanced Block Architecture: All blocks now implement a sophisticated dual-layer rendering system separating display behavior from visual styling
- Improved Responsive Controls: Display panel seamlessly integrates with existing responsive control system
- Enhanced Editor Experience:
- Visual inheritance indicators show which settings inherit from larger screen sizes
- Persistent panel states when switching between device views
- One-click inheritance control with clear visual feedback
- Advanced State Management: WordPress Interactivity API integration provides smooth frontend interactions with zero jQuery dependencies
- Performance Optimization:
- CSS-based responsive approach with minimal JavaScript runtime overhead
- Efficient CSS custom property generation for all breakpoints
- Smart style filtering prevents unnecessary CSS conflicts
Fixed
- Cross-Theme Compatibility: Enhanced compatibility across different WordPress themes with improved CSS specificity handling
- Editor Sync: Resolved edge cases where editor preview didn't match frontend rendering for complex sticky scenarios
- Mobile Optimization: Improved sticky behavior on mobile devices with proper touch handling and performance optimization
Technical Details
- WordPress Standards Compliance: All implementations follow WordPress coding standards and accessibility guidelines
- Accessibility Enhanced:
- Screen reader announcements for sticky state changes
- Keyboard navigation support maintained throughout
- ARIA attributes preserved for assistive technologies
- Developer Experience:
- Comprehensive TypeScript definitions for all display interfaces
- Modular architecture enabling easy future enhancements
- Extensive documentation with integration patterns and best practices
- Zero breaking changes - fully backward compatible with existing content
- Performance Optimized:
- Minimal DOM manipulation with CSS-first approach
- Efficient event handling using WordPress Interactivity API
- Smart caching for responsive calculations
- Optimized for both editor and frontend performance
This release represents a large architectural enhancement in Podcaster Plus Blocks, establishing a professional-grade display system that provides unprecedented control over block visibility and positioning while maintaining complete backward compatibility and optimal performance.
[0.23.1] - 2025-06-24
Added
- Enhanced Responsive Controls: Improved responsive box control styles in Spacing Panel and Border Panel for better user experience
- Advanced Shadow Panel Controls: New comprehensive shadow controls with improved UnitControl and RangeControl integration
- Inset Shadow Support: Added checkbox for inset shadow effect in Shadow Panel for advanced styling options
Changed
- Quality of Life Settings Improvements: Comprehensive enhancements across all block settings panels for better usability and customization
- Sticky Position Controls: Improvements made for future sticky positioning controls across multiple blocks:
- Play Button block
- Progress Bar block
- Skip Backward block
- Skip Forward block
- Volume Block Settings Enhancement: Significant improvements to volume control settings:
- Updated units array structure in HybridControlProps interface
- Improved handling of disabled state and onChange functions
- Enhanced color settings for responsive design
- Refined slider width, height, and thumb size controls with better unit handling
- Updated default values and step controls for improved precision
- Better label naming for slider dimensions
- Enhanced Border Panel: Major improvements to BorderPanel component:
- Replaced BoxControl with ResponsiveBoxControl for better responsive handling
- Added helper functions for border radius transformation
- Improved radius value handling and transformation
- Enhanced per-side border support with responsive capabilities
- Improved Shadow Panel: Comprehensive updates to ShadowPanel component:
- Replaced ColorPalette and ColorIndicator with PanelColorSettings
- Updated default shadow presets values for better defaults
- Enhanced offset, blur, and spread controls with improved UnitControl integration
- Modernized component styling and layout
- Enhanced Volume Block Styling:
- Added cursor pointer to volume slider for better user interaction
- Implemented responsive border styles with per-side support
- Enhanced custom height overrides for volume slider
- Improved border radius properties based on slider direction
- Better responsive styling and inheritance
- Code Quality Improvements: Enhanced code formatting, readability, and maintainability across multiple components
Fixed
- Border and Shadow CSS Variables: Optimized CSS variable handling while maintaining border-radius for proper slider inheritance
- Progress Bar Indentation: Corrected code indentation and formatting in progress bar edit component
- Volume Slider Responsiveness: Fixed responsive behavior and styling consistency in volume controls
This release represents a comprehensive quality of life update focusing on improving the user experience across all block settings interfaces while maintaining full backward compatibility and enhancing the overall editing workflow.
[0.23.0] - 2025-06-23
Added
- Universal Responsive Color System: Entirely new color management system enabling per-device (Desktop/Tablet/Mobile) color customization across all Podcaster Plus blocks:
- Standardized color configuration with 4-7 color settings per block depending on functionality
- WordPress theme color palette integration with preset color support
- Responsive color inheritance system where mobile inherits from tablet, tablet from desktop
- Alpha channel support where appropriate
- Visual inheritance indicators showing which color settings are inherited from larger screen sizes
- Comprehensive Block Migration to Responsive Controls: All Episode and Audio Player blocks now use the unified responsive settings system:
- Episode Blocks: Episode Title, Episode Description, and Episode Image blocks migrated from WordPress native supports
- Audio Player Blocks: Play Button, Playback Speed, Progress Bar, Skip Forward/Backward, and Volume blocks enhanced with responsive color controls
- Consistent responsive controls for spacing, sizing, border, shadow, and colors across all blocks
- Enhanced ColorPanel Component: Completely redesigned color interface:
- New
CompactColorRow
component providing clean, single-row color settings - Custom color indicators with proper visual feedback for set/unset states
- Streamlined edit and clear actions with conditional button display
- Improved accessibility with proper ARIA labels and keyboard navigation
- New
- Advanced Color Configuration System: Block-specific color configurations with comprehensive customization:
- Play Button: Background, Background Hover, Icon, Icon Hover (4 colors)
- Volume Control: Background, Background Hover, Icon, Icon Hover, Slider Track (Filled), Slider Track (Empty), Slider Handle (7 colors)
- Progress Bar: Background, Text, Progress, Remaining, Thumb, Thumb Hover, Visualization (7 colors)
- Skip Controls: Background, Background Hover, Icon, Icon Hover (4 colors each)
- Playback Speed: Background, Background Hover, Icon, Icon Hover (4 colors)
- Episode Blocks: Background, Text, Background Hover (2-3 colors each)
- Server-Side Rendering Enhancement: All blocks now use PHP rendering with responsive CSS custom properties:
- CSS custom property pattern:
--pp-{block-name}-color-{property}-{device}
- Responsive color classes with
has-responsive-colors
conditional rendering - Improved theme.json compatibility and custom property integration
- CSS custom property pattern:
- Migration System: Seamless backwards compatibility ensuring existing blocks continue to work:
- Automatic migration from WordPress native color supports to responsive color system
- Migration utilities handling complex color structures (nested styles, individual attributes, hover states)
- Zero data loss during upgrade with preservation of all existing color customizations
Changed
- Major Architecture Refactor: Complete overhaul of block settings system moving from WordPress native supports to unified responsive controls:
- Disabled WordPress native color, border, spacing, and shadow supports across all blocks
- Implemented standardized
responsiveSettings
attribute structure for all blocks - Enhanced CSS architecture using responsive CSS custom properties throughout
- Enhanced Block Editor Experience:
- Unified responsive device toggle (Desktop/Tablet/Mobile) across all blocks
- Consistent panel management with session storage persistence
- Improved color selection workflow with theme palette prioritization
- Enhanced visual feedback for responsive inheritance and color states
- CSS Architecture Modernization:
- Responsive CSS custom properties with device-specific overrides
- Media query breakpoints: Tablet (
@media (max-width: 1024px)
) and Mobile (@media (max-width: 768px)
) - Enhanced color inheritance with proper fallback chains
- Optimized style separation for button elements vs wrapper containers
- Performance Optimizations:
- Reduced bundle size through modular color configuration system
- Improved CSS generation efficiency with responsive custom properties
- Enhanced caching for color palette and theme integration
- Streamlined responsive controls rendering
Fixed
- Color Management Consistency: Resolved inconsistencies in color handling between different blocks and device sizes
- Theme Integration: Fixed issues with WordPress theme color palette integration and custom color handling
- Responsive Inheritance: Corrected problems where empty responsive color values weren't properly inheriting from parent breakpoints
- Migration Edge Cases: Enhanced migration handling for complex color configurations including nested styles and hover states
- Editor Preview Accuracy: Improved color preview consistency between editor and frontend rendering
Technical Details
- WordPress Standards Compliance: All color implementations follow WordPress coding standards and theme integration best practices
- Backward Compatibility: All color refactor enhancements maintain full backward compatibility with existing content
- Developer Experience: Comprehensive TypeScript definitions and consistent API patterns for future development
- Performance Optimized: CSS-based responsive approach with minimal JavaScript runtime overhead for color management
This release represents the largest refactor in Podcaster Plus Blocks history, establishing a unified, responsive, and highly customizable settings system that will serve as the foundation for all future block enhancements while maintaining complete backward compatibility.
[0.22.0] - 2025-06-19
Added
- Comprehensive Responsive Border System: Revolutionary new border control system enabling per-device (Desktop/Tablet/Mobile) customization across all audio control blocks:
- Individual border side controls (top, right, bottom, left) with linked/unlinked modes
- Border width, style, and color customization per breakpoint
- Border radius controls with support for individual corner settings
- WordPress theme color integration for border colors
- Responsive inheritance system where mobile inherits from tablet, tablet from desktop
- Visual inheritance indicators showing which settings are inherited from larger screen sizes
- Advanced Shadow Control System: Professional shadow customization with responsive capabilities:
- Complete shadow property control (color, offset X/Y, blur, spread)
- Inset shadow support for advanced styling effects
- WordPress theme color integration for shadow colors
- Responsive shadow settings across all breakpoints
- Live preview of shadow effects in the block editor
- New Responsive Control Components:
BorderPanel
: Comprehensive border controls with WordPress component integrationShadowPanel
: Advanced shadow controls with theme color support- Enhanced
ResponsiveToggle
integration for border and shadow settings - WordPress
BorderBoxControl
andBorderRadiusControl
integration
- Migration System: Seamless backwards compatibility ensuring existing blocks continue to work:
- Automatic migration from WordPress default border/shadow supports to responsive system
- Migration utilities in
src/utils/migration-helpers.ts
- Backwards compatibility checks prioritizing new responsive values over legacy ones
- Enhanced Type System: Comprehensive TypeScript definitions for all border and shadow properties:
BorderSideValue
,BorderRadiusValue
,ResponsiveBorderValues
interfacesShadowValue
,ResponsiveShadowValues
interfaces- Full type safety throughout the responsive control system
Changed
- Major Architecture Refactor: Migrated all audio control blocks from WordPress default block supports to custom responsive controls:
- Play Button, Playback Speed, Progress Bar, Skip Forward/Backward, and Volume blocks now use responsive border/shadow system
- Disabled WordPress default
__experimentalBorder
andshadow
supports across all blocks - Enhanced CSS architecture using CSS custom properties for responsive behavior
- Enhanced Block Editor Experience:
- Border and shadow panels integrated into existing responsive control workflow
- Consistent panel management with other responsive settings
- Improved visual feedback showing responsive inheritance
- Better integration with WordPress color system and theme presets
- CSS Architecture Enhancement:
- CSS custom properties pattern:
--pp-{block-name}-border-{property}-{side}-{device}
- Shadow properties:
--pp-{block-name}-shadow-{device}
- Responsive overrides at tablet (
@media (max-width: 1024px)
) and mobile (@media (max-width: 768px)
) breakpoints - Enhanced style separation with border/shadow styles extracted for button elements vs wrapper elements
- CSS custom properties pattern:
- PHP Backend Updates:
- New
podcaster_plus_generate_border_styles()
andpodcaster_plus_generate_shadow_styles()
functions - Enhanced responsive helpers with border and shadow CSS generation
- Improved handling of theme preset vs custom values
- Smart style filtering to apply border/shadow styles to appropriate elements
- New
Fixed
- Style Application Consistency: Resolved inconsistencies in border and shadow rendering between editor and frontend
- Responsive Inheritance: Fixed issues where empty responsive values weren't properly inheriting from parent breakpoints
- Component Separation: Corrected border/shadow style application to target button elements specifically rather than wrapper containers
- Migration Edge Cases: Enhanced migration handling for complex border and shadow configurations
Technical Details
- Performance Optimized: CSS-based responsive approach with minimal JavaScript runtime overhead
- WordPress Standards: Full integration with WordPress color system, theme presets, and component library
- Backwards Compatible: Existing block configurations continue to work without modification
- Developer Friendly: Comprehensive TypeScript support and clear API patterns for future enhancements
[0.21.1] - 2025-06-18
Added
- Volume Block Slider Direction Control: New
sliderDirection
attribute allowing users to set volume slider direction to "up", "down", "left", or "right" for improved customization and user experience
Changed
- Enhanced Volume Block Unit Handling: Improved attribute type definitions for better consistency and reliability:
- Icon Size: Changed from numeric to string type with explicit "px" unit (default: "24px")
- Slider Width: Changed from numeric to string type with explicit "px" unit (default: "100px")
- Slider Height: Changed from numeric to string type with explicit "px" unit (default: "4px")
- Thumb Size: Changed from numeric to string type with explicit "px" unit (default: "12px")
- Slider Border Radius: Changed from numeric to string type with explicit "px" unit (default: "0px")
- Volume Block Spacing Refinement: Renamed
sliderGap
attribute tosliderSpacing
with improved default spacing (changed from 8 to 0) for better visual consistency
[0.21.0] - 2025-06-18
Added
- Enhanced Volume Block Keyboard Accessibility: Implemented comprehensive keyboard navigation for volume control, enabling full functionality for keyboard-only users:
- Focus-based slider visibility: Volume slider automatically appears when button receives keyboard focus
- Arrow key navigation: Pressing Right Arrow or Up Arrow on the button moves focus to the volume slider
- Smart focus management: Slider remains visible while focus is within the volume control
- Screen reader enhancements: Added keyboard hints via
aria-describedby
for better user guidance - Dynamic tabindex handling: Slider becomes focusable only when accessed via keyboard
Changed
- Volume Block Structure Refactoring: Improved HTML structure and class organization for better styling consistency:
- Renamed container class from
podcaster-plus-volume-control
tovolume-control-container
for clarity - Streamlined CSS custom property ordering with responsive styles applied first
- Enhanced border radius handling for seamless visual transitions
- Improved button and slider container relationship for better layout control
- Renamed container class from
- Enhanced Responsive Integration: Updated Volume block to work seamlessly with the responsive control system
- Improved Focus States: Enhanced visual feedback for keyboard navigation across all interactive elements
Fixed
- Volume Block Accessibility: Resolved issue where keyboard users could toggle mute but not adjust volume levels
- Focus Management: Fixed focus loss when navigating between volume button and slider
- Style Consistency: Corrected SVG display issues in play button and playback controls for consistent rendering
[0.20.0] - 2025-06-18
Added
- Comprehensive Responsive Control System: Revolutionary new system enabling per-device (Desktop/Tablet/Mobile) customization of spacing, sizing, and layout properties across all audio control blocks
- Responsive Control Components Suite: New reusable components in
/src/components/responsive-controls/
:ResponsiveToggle
: Device selector that syncs with WordPress editor preview modeResponsiveBoxControl
: Handles responsive margin/padding with per-device settingsSpacingPanel
: Groups margin and padding controls with responsive supportSizingPanel
: Controls for width, height, min/max dimensions per deviceLayoutPanel
: Flexbox layout controls (direction, alignment, justify, gap)VisualButtonGroup
: Helper component for visual selection options
- Custom React Hooks:
useResponsiveControls
: Main hook managing device state, CSS generation, and providing pre-configured panelsusePanelManagement
: Manages panel open/close state with sessionStorage persistence
- PHP Responsive Helpers: Server-side support in
includes/responsive-helpers.php
:- Generates CSS custom properties for all responsive values
- Validates and sanitizes input values
- Supports spacing, sizing, and layout properties
- Handles camelCase to kebab-case conversion
- Enhanced Developer Experience:
- Full TypeScript support with proper interfaces and types
- Clean, modular architecture with separation of concerns
- Consistent naming conventions throughout
- Comprehensive utility functions in
src/utils/responsive-helpers.ts
andsrc/utils/style-helpers.ts
Changed
- Major Block Refactoring: All audio control blocks (Play Button, Progress Bar, Volume, Skip Forward/Backward, Playback Speed) now include:
- Responsive toggle in the inspector controls
- Conditional responsive panels (spacing, sizing, layout)
- Integration with the panel management system
- Proper style prop application using CSS custom properties
- CSS Architecture: Implemented cascading CSS custom properties system:
- Desktop values applied by default
- Tablet values override at
@media (max-width: 1024px)
- Mobile values override at
@media (max-width: 768px)
- Properties follow pattern:
--pp-[block-name]-[property]-[side]-[device]
- Editor Experience:
- Device selection now syncs across all blocks automatically
- Only one panel can be open at a time for cleaner interface
- Panel states persist across editor sessions
- Visual feedback shows which device is currently selected
- Episode Information Blocks: Updated Episode Title, Description, and Image blocks with
blockName
property for improved panel management integration
Fixed
- Panel State Management: Resolved issues with panels closing when switching between responsive views
- CSS Inheritance: Fixed proper value inheritance from desktop to tablet to mobile breakpoints
- Editor Preview: Ensured responsive settings display correctly in the block editor preview
- Style Application: Corrected CSS custom property generation and application on both frontend and editor
Technical Details
- Progressive Enhancement: Blocks work without responsive settings, which are additive features
- Backward Compatibility: All existing block configurations continue to work without modification
- Performance Optimized: CSS-based approach with minimal JavaScript runtime overhead
- WordPress Standards: Follows WordPress coding standards and best practices throughout
[0.19.2] - 2025-06-13
Changed
- Improved Code Standards Compliance: Standardized SVG icon output escaping across all block render files for better WordPress coding standards adherence:
- Moved
phpcs:ignore
comments to the end of echo statements for improved clarity and consistency - Enhanced code readability by following WordPress best practices for comment placement
- Updated playback-speed, skip-backward, skip-forward, and volume block render files with consistent formatting
- Moved
- Enhanced Code Maintainability: Improved overall code organization and documentation for better long-term maintenance
Fixed
- Code Formatting Consistency: Resolved inconsistent placement of security-related comments across different block render files
- WordPress Standards Alignment: Better adherence to WordPress PHP coding standards for comment placement and code structure
This maintenance release focuses on code quality improvements and WordPress coding standards compliance without any functional changes to plugin behavior.
[0.19.1] - 2025-06-13
Security
- Enhanced Output Escaping: Improved security across all block render files by implementing WordPress's recommended sanitization functions:
- Replaced direct
$wrapper_attributes
output withwp_kses_data()
for enhanced attribute sanitization - Updated
$inner_blocks_html
handling withwp_kses_post()
for safer content rendering - Applied consistent sanitization to
$style_attr
and other dynamic attributes across all blocks
- Replaced direct
- Simplified SVG Security Documentation: Streamlined security documentation for SVG icons with clearer, more concise comments explaining that plugin assets are trusted content
Changed
- Standardized Sanitization Approach: Updated all 7 block render files (Container, Play Button, Playback Speed, Progress Bar, Skip Backward, Skip Forward, Volume) to use consistent WordPress sanitization functions
- Improved Code Documentation: Enhanced inline security comments for better clarity and maintainability
- Enhanced Security Compliance: All dynamic content output now uses appropriate WordPress sanitization functions for improved security posture
Fixed
- Consistent Security Implementation: Resolved inconsistencies in output escaping across different block render files
- Enhanced Content Security: Improved protection against potential XSS vulnerabilities through standardized sanitization
This release focuses on enhancing security through consistent application of WordPress's recommended sanitization practices while maintaining all existing functionality and user experience.
[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
- Only logs debug information when
- 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
- Debug logging only when
- 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
- Database operations now use
- 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
- Root Cause: Theme support checks used truthy/falsy logic failing when
- 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
- Root Cause: Over-sanitization with
- 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
- Add-on Content Protection: Sanitized all add-on rendered content using
- 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()
, andesc_url()
- Secured all CSS properties, color values, dimensions, and HTML attributes
- Protected against XSS attacks through dynamic content injection
- Applied context-specific escaping to all dynamic content using
- 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
- Added Node.js dependency auditing with
- 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 checklistsdocs/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
- Removed incorrect
- 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 allowvendor/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 buildsplugin-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
- Only available when
- 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
- Input sanitization using
- 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
- Now requires
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 instructionstests/SECURITY_TEST_PLAN.md
with 190+ manual test cases for comprehensive validationtests/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.
- Core
- Dynamic Settings Tab Integration:
- Core settings class (
Podcaster_Plus_Settings
) updated to support dynamically registered tabs from add-ons viapodcaster_plus_settings_tabs
filter. - React admin interface (
Tabs
andAdminApp
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.
- Core settings class (
- 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 usingfunction_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 singleproduct_id
inrelease.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 theproduct_id
field optional for the plugin's internal multi-tier validation logic, aligning with SureCart SDK which primarily uses the pluginslug
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 receivefalse
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
orflex
. - 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.
- Responsive
- Display mode:
- Spacing Options:
- Responsive
padding
control via a dedicatedResponsiveBoxControl
component. - Responsive
margin
control via a dedicatedResponsiveBoxControl
component.
- Responsive
- 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).
- Responsive
- 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
, andupdateResponsiveValue
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
) inrender.php
for frontend rendering. - Updated
style.scss
andeditor.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 viarender.php
. This allows user-defined sizes to override theme defaults when set, without interfering with theme defaults when not set.
- Standardized the use of CSS Custom Properties for all responsive styles (
- 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 managementpackages: write
for package operationsactions: 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 fetchingreact-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 featureshowler.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 "