|
1 | 1 | EasyTV Changelog |
2 | 2 | ================ |
3 | 3 |
|
| 4 | +v1.5.0 (2026-03-18) |
| 5 | +-------------------------- |
| 6 | +New Features: |
| 7 | + - Four browse view styles: Card List (default, data-dense rows with poster and |
| 8 | + stats), Posters (visual poster grid), Big Screen (large artwork for 10-foot |
| 9 | + viewing), and Split View (two-column layout with show list and detail panel). |
| 10 | + - Theme selection: Choose from Golden Hour (default), Ultraviolet, Ember, or |
| 11 | + Nightfall accent color themes. Configurable in Settings > Appearance. |
| 12 | + - Custom icon selection: Set a custom addon icon for EasyTV or any clone via |
| 13 | + Settings > Appearance. Reset to default also available. |
| 14 | + - Redesigned dialogs: Main dialog, next-up prompt, playlist finished dialog, |
| 15 | + and confirmation dialogs all use the new themed styling. |
| 16 | + - Show selector redesign: Dedicated centered window with inline search, Enable |
| 17 | + All/Ignore All bulk actions, and poster preview for the focused show. |
| 18 | + - In-place browse list updates: The browse list refreshes after playback |
| 19 | + completes without requiring a full window reload. |
| 20 | + - Abandoned playback detection: The service detects when playback was stopped |
| 21 | + early and handles episode tracking appropriately. |
| 22 | + - Genre and duration info in browse views: All four view styles display the |
| 23 | + show's genre and average episode duration with compact S01E01 notation. |
| 24 | + - Duration sort and random sort options in browse mode. |
| 25 | + - 3-state premiere filter: Series and season premieres settings now offer |
| 26 | + Skip (exclude), Mix in (default), or Only (show exclusively premieres). |
| 27 | + |
| 28 | +Bug Fixes: |
| 29 | + - Fixed: Python 3.10+ type hints (X | Y syntax) breaking compatibility with |
| 30 | + Kodi Windows builds running Python 3.8. |
| 31 | + - Fixed: File handle leaks in log file initialization and clone updater when |
| 32 | + exceptions occur during file operations. |
| 33 | + - Fixed: Median duration calculation incorrect for shows with an even number |
| 34 | + of episodes (off-by-one in middle element selection). |
| 35 | + - Fixed: Episode and season numbers displayed as floats (e.g., "2.0") instead |
| 36 | + of integers in some browse view layouts. |
| 37 | + - Fixed: Potential infinite loop in browse mode when the dialog window fails |
| 38 | + to open within the expected timeout. |
| 39 | + - Fixed: Clone dialogs showing hardcoded "EasyTV" instead of the clone's |
| 40 | + own addon name. |
| 41 | + |
| 42 | +Improvements: |
| 43 | + - Added top-level exception handlers to all script entry points, preventing |
| 44 | + silent crashes from unhandled exceptions. |
| 45 | + - Calendar-aware "last watched" display (shows "today", "yesterday" instead |
| 46 | + of "0 days", "1 day"). |
| 47 | + |
| 48 | +Internal: |
| 49 | + - Entry points (service.py, default.py) are now thin stubs delegating to |
| 50 | + cached library modules for improved startup performance. |
| 51 | + - Added unit test suite with 208 tests covering pure logic functions. |
| 52 | + - Consolidated window property names and setting IDs into constants module. |
| 53 | + - Replaced deprecated setInfo() calls with InfoTagVideo API. |
| 54 | + - Removed dead code, added database column validation for shared sync storage. |
| 55 | + |
4 | 56 | v1.4.0 (2026-03-02) |
5 | 57 | -------------------------- |
6 | 58 | New Features: |
|
0 commit comments