|
2 | 2 |
|
3 | 3 | All notable changes to jAlert will be documented in this file. |
4 | 4 |
|
| 5 | +## [6.0.0] - 2025-07-03 |
| 6 | + |
| 7 | +### 🚀 Major Release - Complete Feature Overhaul |
| 8 | + |
| 9 | +jAlert 6.0.0 represents a massive expansion with a complete slideshow system, enhanced video support, and comprehensive media handling capabilities. This release introduces significant new features while maintaining backward compatibility where possible. |
| 10 | + |
| 11 | +### ✨ New Features |
| 12 | + |
| 13 | +- **🎠 Complete Slideshow System**: Revolutionary slideshow functionality with advanced features |
| 14 | + - **Image Navigation**: Next/previous arrows, dot navigation, and number counters |
| 15 | + - **Video Support**: HTML5 videos and YouTube/Vimeo iframes within slideshows |
| 16 | + - **Thumbnail Navigation**: Drag-scrollable thumbnails with top/bottom positioning |
| 17 | + - **Auto-advance**: Configurable intervals with pause-on-hover functionality |
| 18 | + - **Keyboard Navigation**: Arrow key support with proper event cleanup |
| 19 | + - **Responsive Sizing**: Contain and cover modes for optimal image display |
| 20 | + - **Advanced Callbacks**: `onSlideChange`, `onBeforeSlideChange`, `onSlideshowEnd`, `onSlideshowLoop`, `onContentLoad` |
| 21 | + - **Loop Control**: Configurable looping with end-of-slideshow detection |
| 22 | + - **Preloading**: Background image preloading for faster navigation |
| 23 | + - **Touch Support**: Swipe gestures and touch-friendly controls for mobile devices |
| 24 | + |
| 25 | +- **🎥 Enhanced Video Support**: Comprehensive HTML5 video and iframe handling |
| 26 | + - **HTML5 Video**: Full support for all video attributes (controls, autoplay, loop, mute, etc.) |
| 27 | + - **Responsive Containers**: Proper aspect ratio handling with fallback defaults |
| 28 | + - **Video Configuration**: Direct video object properties for complete video configuration |
| 29 | + - **Error Handling**: Robust loading and error states with graceful fallbacks |
| 30 | + - **Utility Functions**: `createHTML5Video()`, `createVideoContainer()`, `setupVideoEventHandlers()` |
| 31 | + - **YouTube/Vimeo**: Enhanced iframe support with responsive containers |
| 32 | + |
| 33 | +- **🖼️ Improved Media Handling**: Enhanced image and iframe support |
| 34 | + - **Auto-sizing**: Intelligent sizing for images, videos, and slideshows |
| 35 | + - **Responsive Design**: Better mobile and tablet support |
| 36 | + - **Error States**: Improved error handling and user feedback |
| 37 | + - **Loader Positioning**: Better loading indicators and positioning |
| 38 | + |
| 39 | +### 🔧 Technical Improvements |
| 40 | + |
| 41 | +- **Performance**: Optimized slideshow rendering and video loading |
| 42 | +- **Memory Management**: Comprehensive event cleanup and timer management |
| 43 | +- **Error Handling**: Robust validation and fallback mechanisms |
| 44 | +- **Accessibility**: Enhanced ARIA attributes and keyboard navigation |
| 45 | +- **Mobile Support**: Touch-friendly controls and responsive layouts |
| 46 | + |
| 47 | +### 🐛 Bug Fixes |
| 48 | + |
| 49 | +- **Button Alias**: Fixed missing `buttons` alias for `btns` option - now both `buttons` and `btns` work identically |
| 50 | + - Added proper alias handling so `buttons: [...]` gets converted to `btns: [...]` internally |
| 51 | + - Updated unit tests to verify alias functionality works correctly |
| 52 | +- **Responsive Video**: Fixed extreme aspect ratio issues (450% padding-bottom) |
| 53 | +- **Event Cleanup**: Proper cleanup of slideshow timers and event handlers |
| 54 | +- **Theme Validation**: Invalid themes now return 'default' instead of false |
| 55 | +- **Size Defaults**: Media modals now default to 'auto' size for better UX |
| 56 | +- **Memory Leaks**: Comprehensive cleanup of MutationObserver and event listeners |
| 57 | +- **Button Sizing**: Enlarged buttons on all screen sizes for better touch interaction (8px 14px padding on desktop, 8px 10px on mobile) |
| 58 | + |
| 59 | +### 📚 Documentation |
| 60 | + |
| 61 | +- **Comprehensive API Documentation**: Complete slideshow and video API reference |
| 62 | +- **Interactive Demos**: 16 comprehensive demo sections with 200+ examples |
| 63 | +- **Test Coverage**: 205 unit tests, 153 E2E tests, and visual regression tests |
| 64 | +- **Migration Guide**: Detailed upgrade instructions for existing users |
| 65 | + |
| 66 | +### 🔄 Breaking Changes |
| 67 | + |
| 68 | +- **Default Size Behavior**: Media modals (images, videos, slideshows) now default to `size: 'auto'` |
| 69 | +- **Theme Validation**: Invalid themes now return `'default'` instead of `false` |
| 70 | +- **Slideshow API**: New slideshow system with different options structure |
| 71 | +- **Video API**: Direct video object properties for HTML5 video configuration |
| 72 | +- **Default Padding Behavior**: All modals now default to `noPadContent: true` (no padding around content) |
| 73 | + |
| 74 | +### Added |
| 75 | +- Video modals and slideshows now support an optional `embedType` property (`'iframe'` for YouTube/Vimeo, `'html5'` for direct video files). If not set, jAlert will auto-detect based on the video URL. If you set the wrong type, it will use what you specify. |
| 76 | + |
| 77 | +### ✨ New Features |
| 78 | + |
| 79 | +- **New Orange and Dark Orange Themes**: Added `orange` (bright, readable on light backgrounds) and `dark_orange` (deep orange, white text) themes for alerts and buttons. The `warningAlert` shortcut now uses the orange theme by default. If you want the old yellow warning, use `theme: 'yellow'`. |
| 80 | + |
| 81 | +--- |
| 82 | + |
5 | 83 | ## [5.0.5] - 2025-06-27 |
6 | 84 |
|
7 | 85 | ### 🛡️ Bug Fixes & Stability Improvements |
|
0 commit comments