Releases: huynhsontung/Screenbox
v0.19.1
What's Changed
This update addresses a couple of critical issues and includes localization improvements.
Bug Fixes
- fix: prevent UI freeze when "Add all files in folder to queue" is enabled by @Copilot in #908
- fix: timeline freezes after horizontal scroll wheel seek by @United600 in #912
Localization
- l10n: New Crowdin updates by @github-actions[bot] in #899
- l10n: New Crowdin updates by @github-actions[bot] in #903
Other Improvements
- chore: set line endings for .resw and .md files by @huynhsontung in #905
- chore: remove UTF-8 with BOM, use UTF-8 encoding instead by @huynhsontung in #906
New Contributors
- @github-actions[bot] made their first contribution in #899
Full Changelog: v0.19.0...v0.19.1
v0.19.0
What's Changed
This release introduces new gesture controls for the player, multi-select functionality on the home page, several bug fixes, and architectural improvements.
New Features
- feat: add holding and swipe player gestures by @United600 in #757
- feat: add multi-select support to home page recent list by @United600 in #860
Bug Fixes
- fix: playlist items screen reader name by @United600 in #868
- fix: Revert "feat: add ItemsReorderAnimation to GridViews (#342)" by @huynhsontung in #890
- fix: premature FutureAccessList token cleanup by @huynhsontung in #891
Localization
- l10n: Crowdin updates by @huynhsontung in #867
Other Improvements
- refactor: selection logic into shared ViewModel by @United600 in #870
- chore: delete nuget package locks by @huynhsontung in #880
- refactor(core): clean architecture improvements — Coordinators, factories, and service decoupling by @huynhsontung in #885
- refactor(core): introduce MusicLibrary/VideosLibrary containers and restore live progress by @huynhsontung in #886
- ci: add Crowdin action for translation syncing by @huynhsontung in #892
Full Changelog: v0.18.3...v0.19.0
v0.18.3
What's Changed
This release focuses on globalization improvements, new playlist management features, and several bug fixes.
New Features
- feat: add m3u8 playlist import/export actions across playlist pages by @Copilot in #854
- l10n: Implement localized character grouping support by @zuozishi in #850
Bug Fixes
- feat: use escape key to exit fullscreen mode by @huynhsontung in #852
- fix: use escape key to exit compact overlay mode by @United600 in #857
- fix: resolve single-instance activation race condition on quick reopen by @Copilot in #858
- fix: flyout positioning for RTL languages by @United600 in #863
Localization
- l10n: Crowdin updates by @huynhsontung in #845
- l10n: Crowdin updates by @huynhsontung in #865
User Experience
- style: refactor empty state controls by @United600 in #838
Other Improvements
- refactor: lively wallpaper feature into a standalone project by @United600 in #826
- ci: update actions versions by @huynhsontung in #846
New Contributors
Full Changelog: v0.18.2...v0.18.3
v0.18.2
What's Changed
This release fixes network location opening issues, polishes the user experience, and includes routine maintenance improvements.
Bug Fixes
- fix: network location opening issues by @huynhsontung in #839
User Experience
- feat: add ItemsReorderAnimation to GridViews by @United600 in #342
- style: update player page to show window deactivation status by @United600 in #813
Localization
- l10n: Crowdin updates by @huynhsontung in #824
Other Improvements
- chore: minor documentation updates for helper classes by @United600 in #832
- chore: fix naming rule and enforce LF line endings for font source files by @United600 in #836
- ci: remove build concurrency requirement by @huynhsontung in #840
- chore: bump NuGet package versions by @huynhsontung in #841
- ci: use microsoft/setup-msbuild@v3 by @huynhsontung in #842
Full Changelog: v0.18.1...v0.18.2
v0.18.1
What's Changed
This release primarily addresses regressions and polishes user experience.
Bug fixes
- fix: album and artist search uses the internal key lead to unexpected matches by @United600 in #816
- fix: add to playlist button chevron position by @United600 in #817
- fix: track picker throws index out of range when updating the selected index by @huynhsontung in #823
Localization
- l10n: Crowdin updates by @huynhsontung in #815
User Experience
- style: add content frame reposition animation by @United600 in #819
Other Improvements
- refactor: move dialogs into a separate folder and minor project cleanup by @United600 in #808
- chore: add support for OGM file format by @United600 in #820
Full Changelog: v0.18.0...v0.18.1
v0.18.0
What's Changed
This release is all about playlists and polish. We've introduced powerful new playlist management features, improved privacy controls, and refined the user experience with smoother animations, and under-the-hood optimizations. Plus, we've squashed bugs and streamlined the codebase for future updates.
Warning
This release includes a known regression in the search functionality that may cause crashes in certain scenarios. We're actively working on a fix and appreciate your patience.
New Features
- feat: playlist management support by @huynhsontung in #514
- feat: add settings privacy section by @United600 in #700
- feat: add Open With context menu for media files by @Copilot in #754
- feat: hide redundant caption for videos when it only adds file extension by @Copilot in #782
- feat: add success notifications for playlist create, rename, and delete by @Copilot in #798
- feat: add current play queue to a new or existing playlist by @huynhsontung in #803
- feat: handle Open with command on cached library item by @huynhsontung in #810
Bug Fixes
- fix: Delay playlist parsing until LibVLC is initialized by @Copilot in #745
- fix: subtitle auto-loading regression from PR #676 by @Copilot in #746
- fix: combobox popup position by @United600 in #752
- fix: RTL repeat glyph directionality by @United600 in #769
- fix: forward frame stepping position sync by @United600 in #795
- fix: media returned without media info when restoring from cache by @huynhsontung in #805
Localization
- l10n: Crowdin updates by @huynhsontung in #726
- l10n: Crowdin updates by @huynhsontung in #811
- fix(l10n): minor grammar fix for some privacy-related strings by @huynhsontung in #812
User Experience
- style: add titlebar control by @United600 in #784
- style: adjust player page animation offsets and transitions by @United600 in #796
- style: minor playlist dialogs tweaks by @United600 in #800
- style: improve playlist button design in the play queue selection bar by @United600 in #804
- style: fix playlist page header text overlap by @United600 in #809
Other Improvements
- chore: migrates Newtonsoft.Json to System.Text.Json by @United600 in #669
- chore: minor clean up to NavigationView by @United600 in #723
- chore: update keyboard accelerator helper constants documentation by @United600 in #737
- chore: add lottie generation script by @United600 in #776
- chore: add powershell script to generate custom icons fonts by @United600 in #779
- chore: bump C# language version and copyright year by @United600 in #785
- chore: replace command bar extension with control by @United600 in #797
- refactor: player controls playback and subtitle keyboard accelerator events by @United600 in #724
- refactor: move all behaviors to a new Behaviors namespace and folder by @United600 in #731
- refactor: player page keyboard accelerator events by @United600 in #733
- refactor: LibVlcService into stateless IPlayerService with PlayerContext by @Copilot in #755
- refactor: decouple casting from VLC via stateless CastService and CastContext by @Copilot in #760
- refactor: make LibraryService stateless via LibraryContext and LibraryController by @Copilot in #761
- refactor: ResourceNameToResourceString converter by @United600 in #762
- refactor: add playback rate message by @United600 in #775
- refactor: NavigationViewEx property change logic and simplify control by @United600 in #780
- refactor: ThicknessFilterKinds location and improves converter XML documentation by @United600 in #781
- refactor: replace view-layer error forwarding with typed failure messages from ViewModels by @Copilot in #794
- refactor: language model and remove layout direction converter by @United600 in #801
- refactor: control visibility logic for open popups by @United600 in #802
- ci: Add automated Winget package submission workflow by @Copilot in #747
- ci: Change release type from 'published' to 'released' by @drshtmstry in #750
- ci(copilot): Update Copilot setup to use Windows host by @huynhsontung in #789
New Contributors
- @drshtmstry made their first contribution in #750
Full Changelog: v0.17.0...v0.18.0
v0.17.0
What's Changed
- chore: update wack runner by @huynhsontung in #650
- chore: rename thickness converter filter property by @United600 in #627
- chore: Change default auto-resize setting from Always to Never by @Copilot in #652
- chore: update editorconfig with new naming rules by @United600 in #653
- chore: rename and move ProgressBar style by @United600 in #648
- fix: InfoBar shadow artifact by @United600 in #655
- chore: refactor window activated event by @United600 in #642
- style: add ListView style and improve the extension by @United600 in #624
- chore: update nuget packages and platform versions by @huynhsontung in #675
- style: convert CriticalErrorGrid to a UserControl by @United600 in #645
- chore: refactor volume control glyph and pointer wheel event by @United600 in #646
- chore: refactor selection handling in PlaylistView by @United600 in #644
- fix: date formatting used when saving snapshot files by @United600 in #668
- chore: add attribution to ResourceNameToResourceStringConverter by @United600 in #674
- chore: refactor LanguageLayoutDirection converter by @United600 in #679
- docs: Add streamlined project documentation and contributing guide by @Copilot in #659
- chore: centralize project settings in Directory.Build.props by @United600 in #683
- fix: thickness converter possible null reference return by @United600 in #678
- refactor: break up and refactor play queue components for clearer separation by @huynhsontung in #676
- chore: consolidate NavigationView keyboard and gamepad handling by @United600 in #665
- chore: refactor and add localization to Accelerator Service by @United600 in #680
- feat: customize delay before the controls automatically hide by @United600 in #670
- fix: app theme combobox popup position by @United600 in #693
- feat: allow drop items into the middle of the play queue by @huynhsontung in #695
- feat: improve screen reader support by @United600 in #684
- fix: play button flicker when skipping items in play queue by @huynhsontung in #696
- chore: improve controls setting text clarity and consistency by @United600 in #699
- refactor: simplify playlist queueing from view models by @huynhsontung in #701
- fix: various compiler warnings by @huynhsontung in #702
- fix: rapid current item changing that break UI transitions by @huynhsontung in #697
- fix: crash by VLC CLI help text not splitting properly on SettingsPage by @huynhsontung in #709
- fix: UI not interactable when launching from explorer by @huynhsontung in #715
- feat: add FolderViewPage items screen reader support by @United600 in #710
- fix: protobuf read throws StackOverflow by @huynhsontung in #714
- fix: player controls not appearing when the access key (Alt) is pressed by @United600 in #708
- refactor: main page view model gamepad key handling logic by @United600 in #707
- refactor: play queue selection logic and checkbox tooltip by @United600 in #712
- chore: refactor and improve search suggestions by @United600 in #703
- chore: refactor timing offset properties by @United600 in #649
- feat: add Copilot instructions for C# and XAML development by @huynhsontung in #716
- fix: player occasionally use the wrong content state when playing media by @huynhsontung in #720
- l10n: Crowdin updates by @huynhsontung in #628
- Add "Add to queue" option to media context menus by @Copilot in #721
- refactor: adjust the scope of Playlist object in MediaListViewModel by @huynhsontung in #725
- l10n: Crowdin updates by @huynhsontung in #722
New Contributors
- @Copilot made their first contribution in #652
Full Changelog: v0.16.0...v0.17.0
v0.16.0
What's Changed
- fix: app hang when restoring media playback position by @huynhsontung in #609
- feat: implement video scaling options by @huynhsontung in #610
- feat: add video track selection by @United600 in #605
- style: add super sampling and SMTC setting icons by @United600 in #595
- chore: refactor and improve globalization handling by @United600 in #614
- chore: minor coding conventions editorconfig update by @United600 in #615
- feat: add option to hide chapter name by @huynhsontung in #593
- chore: minor improvements to the ThicknessFilterConverter by @United600 in #616
- chore: fix warning and minor improvements by @United600 in #617
- chore: refactor PlaylistView selection handling by @United600 in #619
- feat: add option to change the app's display language by @huynhsontung in #623
- l10n: Crowdin updates by @huynhsontung in #598
- l10n: Crowdin updates by @huynhsontung in #625
Full Changelog: v0.15.1...v0.16.0
v0.15.1
What's Changed
- fix: Sentry error reporting for unhandled exceptions by @huynhsontung in #587
- chore: refactor and add comments to thickness converter by @United600 in #584
- feat: migrate to ReswPlus Source Generator by @huynhsontung in #588
- style: update system caption button colors by @United600 in #562
- style: add new icons for a few settings by @United600 in #581
- fix: handle total chapters duration different from media duration by @huynhsontung in #592
- l10n: Crowdin updates by @huynhsontung in #578
Full Changelog: v0.15.0...v0.15.1
v0.15.0
What's Changed
- docs: update hero images by @United600 in #543
- style: improve command bar style and resources by @United600 in #533
- chore: minor settings page improvements by @United600 in #537
- fix: command bar extension class access by @United600 in #547
- feat: enrich Sentry error reporting by @huynhsontung in #553
- style: minor UI fixes and optimizations by @United600 in #546
- feat: add customizable application theme by @SKure27 in #542
- refactor: unify video and music cache by @huynhsontung in #545
- fix: unexpected lively player load due to Storyboard animation by @huynhsontung in #558
- chore: update and format editor config file by @United600 in #560
- style: add theme mode setting glyph by @United600 in #559
- style: improve split button design and interaction by @United600 in #550
- feat: improve app theme change by @huynhsontung in #561
- chore: minor editorconfig update by @United600 in #563
- feat: improve and add new shortcuts by @United600 in #556
- chore: minor improvement to thickness converter by @United600 in #568
- style: critical error panel redesign by @United600 in #544
- feat: add option to always resume from the last position by @huynhsontung in #530
- style: minor UI improvements by @United600 in #575
- feat: drag and drop anywhere to play by @huynhsontung in #576
- l10n: Crowdin updates by @huynhsontung in #536
New Contributors
Full Changelog: v0.14.5...v0.15.0