Skip to content

Releases: Lokke/azuracast-song-history

v0.0.19 - Critical Hotfix: Elementor Widget Syntax Errors

Choose a tag to compare

@Lokke Lokke released this 16 Sep 17:32

Critical Hotfix - Immediate Update Required

Fixed Critical PHP Errors

  • Duplicate Code Removal: Fixed duplicate render functions causing PHP fatal errors
  • Syntax Error Resolution: Cleaned up malformed PHP code in widget files
  • Import Statement Cleanup: Removed duplicate use statements preventing class loading
  • Safety Checks: Added dependency validation to prevent crashes when classes are missing

Specific Fixes

  • live-moderator.php: Removed duplicate render code causing syntax errors
  • current-song.php: Cleaned up duplicated widget output functions
  • Widget Registration: Added safety checks for missing AzuraCast_API class
  • File Access Protection: Added proper exit handlers for direct file access

Impact

This hotfix resolves the PHP fatal errors that were preventing Elementor from loading when the AzuraCast Song History plugin was active. The errors were causing:

  • Elementor editor to return 500 errors
  • WordPress admin to become inaccessible in some cases
  • Widget registration to fail silently

For Users Experiencing Issues

  1. Update immediately to v0.0.19
  2. Clear any caching plugins/server cache
  3. Refresh your Elementor editor
  4. Check that AzuraCast widgets appear in the widget panel

Emergency Update

If your site is currently broken:

  1. Download v0.0.19 from GitHub releases
  2. Upload via FTP to replace the plugin files
  3. Or update through WordPress admin if accessible

This resolves all syntax errors and restores full Elementor functionality with the advanced positioning and styling features from v0.0.18.

Sorry for the inconvenience - the advanced features are now working properly!

v0.0.18 - Advanced Elementor Widget Customization

Choose a tag to compare

@Lokke Lokke released this 16 Sep 17:24

Enhanced Design Control - Advanced Elementor Widget Customization

New Positioning & Alignment Features

Text Alignment Options

  • Left, Center, Right alignment for all widgets
  • Responsive controls that work on desktop, tablet, and mobile
  • Smart layout adaptation for different screen sizes

HTML Tag Selection

  • Title Tags: Choose from H1, H2, H3, H4, H5, H6, P, Span, or Div
  • Artist Tags: Full HTML element control for semantic structure
  • SEO Friendly: Proper heading hierarchy for better search optimization
  • Accessibility: Improved screen reader support

Advanced Cover Art Control

  • Size Sliders: Precise pixel control (30px - 300px)
  • Responsive Sizing: Different sizes for desktop/mobile
  • Conditional Display: Show/hide based on layout selection
  • Aspect Ratio: Maintains perfect square proportions

Widget-Specific Enhancements

Live Moderator Widget

  • Flexible HTML Output: Choose any HTML tag for the moderator display
  • Smart Alignment: Proper centering and positioning
  • Prefix/Suffix Control: Customize surrounding text
  • Semantic Structure: Better HTML for accessibility

Current Song Widget

  • Layout Positioning: Center, left, or right align entire widget
  • Conditional Controls: Cover size only shows when covers are enabled
  • Smart Text Flow: Typography adapts to chosen alignment
  • Enhanced Layouts: Improved vertical, horizontal, and text-only modes

Song History Widget

  • Item Alignment: Control how each song item is positioned
  • Typography Hierarchy: Separate HTML tags for titles and artists
  • Cover Scaling: Adjustable cover art size for list density
  • Responsive Behavior: Optimal display on all screen sizes

Technical Improvements

  • Conditional Logic: Controls appear/hide based on relevant settings
  • CSS Enhancement: Better alignment support across all layouts
  • Mobile Optimization: Improved responsive behavior
  • Performance: Efficient rendering with conditional elements

Design Philosophy

These updates transform the Elementor widgets from simple displays into professional design elements with the same level of control you'd expect from premium Elementor widgets.

Compatibility

  • WordPress: 5.0+ (tested up to 6.8)
  • Elementor: Free and Pro versions
  • PHP: 7.4+ required
  • Responsive: All features work across devices

Perfect for designers who need precise control over their AzuraCast displays!

v0.0.17 - Critical Hotfix for Elementor Integration

Choose a tag to compare

@Lokke Lokke released this 16 Sep 17:00

Critical Hotfix - Immediate Update Recommended

Fixed

  • PHP Fatal Error: Resolved Class 'Plugin' not found error in Elementor widgets
  • Website Crashes: Fixed fatal errors that prevented WordPress sites from loading
  • Namespace Issues: Corrected Elementor class imports and references

Changes

  • Added proper use statements for Elementor classes
  • Fixed widget registration method signature
  • Improved error handling in Elementor integration

Impact

This hotfix resolves critical errors introduced in v0.0.16 that caused websites to crash when Elementor was active. Immediate update is strongly recommended for anyone using v0.0.16.

Compatibility

  • WordPress: 5.0+ (tested up to 6.8)
  • Elementor: Free and Pro versions
  • PHP: 7.4+ required

For Users Experiencing Issues

  1. Update to v0.0.17 immediately
  2. Clear any caching plugins
  3. Check that your site loads properly
  4. Elementor widgets should now appear under 'AzuraCast' category

Thank you for your patience with this critical fix!

v0.0.16 - Elementor Widgets Integration

Choose a tag to compare

@Lokke Lokke released this 16 Sep 16:55

Major Feature Update: Elementor Widgets Integration

New Elementor Widgets

Transform your AzuraCast displays with powerful Elementor page builder integration! Three new widgets provide complete design flexibility:

Live Moderator Widget

  • Shows current live moderator name when station is broadcasting
  • Customizable prefix/suffix text (e.g., 'Live: ModeratorName')
  • Configurable offline behavior (hide or show custom message)
  • Full typography and styling controls (colors, backgrounds, borders)
  • Responsive design with hover effects

Current Song Widget

  • Displays currently playing song with album artwork
  • Multiple Layout Options:
    • Horizontal: Cover art left, song info right
    • Vertical: Cover art top, song info below
    • Cover Only: Just the album artwork
    • Text Only: Song info without cover art
  • Toggle cover art display on/off
  • Typography controls for title and artist text
  • Responsive design that adapts to container width

Song History Widget

  • Shows recent song history (configurable song count)
  • Three Layout Styles:
    • List: Standard vertical list view
    • Compact: Smaller spacing and cover art
    • Cards: Grid layout with individual song cards
  • Show/hide cover art and play times
  • Intelligent time formatting ('5 mins ago', '2 hours ago')
  • Typography controls for all text elements

Technical Improvements

  • Custom Widget Category: All widgets organized under 'AzuraCast' in Elementor
  • Comprehensive Styling: Full CSS framework with dark mode support
  • Responsive Design: Mobile-friendly layouts for all screen sizes
  • Error Handling: Graceful fallbacks when API is unavailable
  • Performance: Integrates with existing caching system
  • Accessibility: Proper alt text and semantic HTML structure

Compatibility

  • WordPress: 5.0+ (tested up to 6.8)
  • Elementor: Free and Pro versions supported
  • PHP: 7.4+ required
  • Responsive: Works on all devices and screen sizes

Migration Notes

  • Existing shortcodes continue to work unchanged
  • Elementor widgets load automatically when Elementor plugin is active
  • No database changes required - seamless upgrade

This release transforms the plugin from simple shortcodes to a full design system, giving users complete creative control over their AzuraCast displays!

v0.0.15 - Major Bug Fixes and Live Moderator Feature

Choose a tag to compare

@Lokke Lokke released this 16 Sep 16:35

Major Update: Bug Fixes and New Live Moderator Shortcode

Critical Bug Fixes

  • Fixed song display issue: Songs are now correctly extracted from API response structure
  • Enhanced text parsing: Improved support for complex AzuraCast formats
  • Better compatibility with different AzuraCast server configurations

New Feature: Live Moderator Shortcode

  • New shortcode: [azuracast_live_moderator]
  • Shows only the moderator name when someone is live
  • Automatically hidden when no moderator is broadcasting
  • Supports class and style parameters for custom styling

Technical Improvements

  • Enhanced API response structure with live station information
  • Improved JSON compatibility for different AzuraCast installations
  • Updated documentation with usage examples

Usage Examples

Basic: [azuracast_live_moderator]
Custom: [azuracast_live_moderator class='live-mod' style='color: red;']

This release significantly improves compatibility and adds requested live moderator functionality.

v0.0.11 - Robust Activation Fix

Choose a tag to compare

@Lokke Lokke released this 16 Sep 16:02

** Robust Activation Fix**

This release adds comprehensive safety checks to prevent activation failures.

Fixed

  • File Existence Checks - Added file_exists() checks before loading classes
  • Class Existence Checks - Added class_exists() verification before instantiation
  • Fault Tolerance - Activation process continues even if API class is missing
  • Safety Measures - Multiple fallback mechanisms to prevent fatal errors

Technical Details

Activation Safety

\\php
if (file_exists()) {
require_once ;
if (class_exists('AzuraCast_Song_History_API')) {
\ = new AzuraCast_Song_History_API();
->clear_cache();
}
}
\\

Why This Helps

  • Prevents fatal errors during plugin activation
  • Handles incomplete file uploads gracefully
  • Works even if class files are temporarily missing
  • Ensures plugin can activate in any state

Installation Instructions

Manual Installation (Recommended):

  1. Download the ZIP file from this release
  2. Go to WordPress Admin Plugins Add New Upload Plugin
  3. Upload the ZIP file and activate

This version should activate successfully even if previous versions failed!

v0.0.10 - Critical Activation Fix

Choose a tag to compare

@Lokke Lokke released this 16 Sep 15:59

Critical Plugin Activation Fix

This release fixes the fatal error that prevented the plugin from activating after auto-updates.

Fixed

  • Fatal Error on Activation - Resolved Class AzuraCast_Song_History_API not found error
  • Auto-Update Issues - Fixed plugin directory naming during GitHub auto-updates
  • Class Loading - Added proper class loading before using API in activation hook
  • Directory Structure - Improved handling of GitHub ZIP file folder structure

Technical Details

Root Cause

  • Plugin activation hook tried to use AzuraCast_Song_History_API class before includes() was called
  • Auto-updater created incorrectly named plugin directories from GitHub ZIP files

Solution

  • Added explicit class loading in activate() method before using API
  • Improved auto-updater to properly handle GitHub ZIP structure
  • Fixed plugin directory naming to maintain consistent plugin slug

Upgrade Priority

** CRITICAL** - This fixes the activation failure from previous versions.

Installation

If you cannot activate the plugin, manually download and install this version to resolve the activation issue.

v0.0.9 - Enhanced Song Parsing

Choose a tag to compare

@Lokke Lokke released this 16 Sep 15:54

Enhanced Song Data Parsing

This release improves song data extraction to handle edge cases where title/artist fields are empty.

Fixed

  • Song Data Parsing - Enhanced to use text field as fallback when title/artist are empty
  • Text Format Parsing - Now parses 'Artist - Title' format from text field
  • Cache Issues - Auto-clear cache on version updates to prevent stale data
  • Data Consistency - Better handling of various AzuraCast song data formats

Technical Details

Improved Parsing Logic

  1. First tries individual title/artist fields
  2. If empty, parses from text field using 'Artist - Title' format
  3. Falls back to text as title if no separator found
  4. Ensures maximum song data extraction

Auto-Cache Clearing

  • Cache automatically cleared when plugin updates
  • Prevents display of stale normalized data
  • Ensures fresh data after improvements

This should resolve remaining 'Unknown Title/Artist' issues by better handling various song data formats from AzuraCast.

v0.0.8 - Song Data Fix and Auto-Updater

Choose a tag to compare

@Lokke Lokke released this 16 Sep 15:50

Song Data Parsing Fix and Auto-Update System

This release fixes the song display issue and introduces automatic updates via GitHub.

Fixed

  • Song Data Parsing - Fixed Unknown Title/Artist by properly parsing nested API response
  • API Response Structure - Now correctly extracts song.title and song.artist from AzuraCast API
  • Cached Data Handling - Legacy cached data is automatically normalized to new format

New Features

  • GitHub Auto-Updater - Plugin now automatically checks for updates from GitHub releases
  • One-Click Updates - Update directly from WordPress admin dashboard
  • Update Notifications - Admin notices when new versions are available
  • Seamless Integration - Updates appear in standard WordPress plugin update system

Technical Details

Song Data Structure

The plugin now properly handles AzuraCast nested song data:

  • song_history[].song.title (was: song_history[].title)
  • song_history[].song.artist (was: song_history[].artist)
  • song_history[].song.album (was: song_history[].album)

Auto-Update System

  • Checks GitHub API for latest releases
  • Downloads and installs updates automatically
  • Maintains plugin activation state during updates
  • Handles GitHub ZIP file structure correctly

Upgrade Instructions

After this update, your plugin will automatically check for future updates and offer them in your WordPress admin dashboard. No more manual downloads needed!

Songs should now display correctly with proper titles and artists instead of Unknown Title/Artist.

v0.0.7 - Debug Info & URL Configuration Fix

Choose a tag to compare

@Lokke Lokke released this 16 Sep 15:19

** Debug Information & Configuration Improvements**

This release fixes the incorrect version display in debug information and improves URL configuration flexibility.

Fixed

  • Plugin Version Display - Now shows correct version (0.0.7) instead of hardcoded 1.0.0
  • Version Constant - Updated internal version constant from 0.0.1 to match actual version
  • URL Configuration - Clarified that URLs work with or without protocol prefix
  • Debug Output - Version in debug information now reflects actual plugin version

Improvements

  • Better Instructions - URL configuration now shows example with https://
  • Flexible Input - Server URLs accept both formats: \ unkturm.radio-endstation.de\ or \https://funkturm.radio-endstation.de\
  • Accurate Support Info - Debug information shows correct version for support requests

Technical Details

The plugin automatically handles URL normalization - it strips any existing protocol and tries HTTPS first, falling back to HTTP if needed. This means you can enter URLs in either format and they'll work correctly.

For Support

Debug information now shows the correct plugin version, making support requests more accurate.