PlexRipper Changelog
0.14.0 (2023-06-22)
- Translations: Added translations for the media selection dialog (8f0c808)
- Translations: Added translations for the Plex Account selector in the top right corner (3aca494)
- Web-UI: Ensured the media selection range cannot exceed the other value, prevents min > max and max < min (0776baf)
- Web-UI: Fixed empty help dialog appearing for options that have no text available (8aeb3ef)
- Web-UI: Fixed missing translations for the account selector in the top right corner (943f12f)
- Web-UI: Fixed the download commands not working when download confirmations have been disabled (8cbd736)
- Web-UI: Fixed the DownloadSpeedLimit not displaying the correct value when changing in the server dialog (e4a059f)
- Web-UI: Fixed the index shown in the MediaTable not being the same as the one coming from the back-end (2100fef)
- WebAPI: Fixed the media data not being properly sorted, this will now use Natural sort by using the title instead of the sortTitle (603d1fe)
- Web-UI: Fixed the media table sort requiring two clicks to begin sorting (e024617)
- Web-UI: Fixed the MediaTable sorting not correctly using the same sorting as the back-end (27613f1)
- WebAPI: Fixed the PlexServerConnections connection status not being retrieved when requesting the PlexServers (53b236e)
- Web-UI: Fixed the PlexStatus icon displayed next to the server names not being updated when it changes (29b4b49)
- Web-UI: Fixed the Poster / Table dropdown selector not working due to Pinia migration (c308986)
- Web-UI: Fixed the service layer initializing too early when for example Pinia is not ready yet, this is now dependent on a Nuxt hook (289de1d)
- Web-UI: Fixed the settings being updated on page load when nothing could have changed (7c44fd5)
- Web-UI: Added a selection button to the MediaTable to make it way easier to make media selections (0323cbf)
- Web-UI: Replaced the settings system with Pinia instead of an observable store, this should improve performance (a628731)
- Web-UI: Settings are now updated once every second when something changes, this debounce effect prevents DDOS'ing the back-end (a8116d3)
0.14.0-dev.1 (2023-06-22)
- Translations: Added translations for the media selection dialog (8f0c808)
- Translations: Added translations for the Plex Account selector in the top right corner (3aca494)
- Web-UI: Ensured the media selection range cannot exceed the other value, prevents min > max and max < min (0776baf)
- Web-UI: Fixed empty help dialog appearing for options that have no text available (8aeb3ef)
- Web-UI: Fixed missing translations for the account selector in the top right corner (943f12f)
- Web-UI: Fixed the download commands not working when download confirmations have been disabled (8cbd736)
- Web-UI: Fixed the DownloadSpeedLimit not displaying the correct value when changing in the server dialog (e4a059f)
- Web-UI: Fixed the index shown in the MediaTable not being the same as the one coming from the back-end (2100fef)
- WebAPI: Fixed the media data not being properly sorted, this will now use Natural sort by using the title instead of the sortTitle (603d1fe)
- Web-UI: Fixed the media table sort requiring two clicks to begin sorting (e024617)
- Web-UI: Fixed the MediaTable sorting not correctly using the same sorting as the back-end (27613f1)
- WebAPI: Fixed the PlexServerConnections connection status not being retrieved when requesting the PlexServers (53b236e)
- Web-UI: Fixed the PlexStatus icon displayed next to the server names not being updated when it changes (29b4b49)
- Web-UI: Fixed the Poster / Table dropdown selector not working due to Pinia migration (c308986)
- Web-UI: Fixed the service layer initializing too early when for example Pinia is not ready yet, this is now dependent on a Nuxt hook (289de1d)
- Web-UI: Fixed the settings being updated on page load when nothing could have changed (7c44fd5)
- Web-UI: Added a selection button to the MediaTable to make it way easier to make media selections (0323cbf)
- Web-UI: Replaced the settings system with Pinia instead of an observable store, this should improve performance (a628731)
- Web-UI: Settings are now updated once every second when something changes, this debounce effect prevents DDOS'ing the back-end (a8116d3)
0.13.0 (2023-06-13)
- WebAPI: Fixed Plex server HTTPS connections not working due to missing user-agent (8f9a48a)
- GithubActions: Fixed the caching of back-end nuget packages by specificing the package.lock.json path (d5e67b3)
- WebAPI: Fixed the CreatedAt and LastSeen values being incorrect when displaying the Server Dialog (4c0bd15)
- WebAPI: Fixed the download confirmation dialog displaying a checkbox which is not needed (8c894cb)
- WebAPI: Fixed the downloading failing when connecting with an HTTPS connection (2ed6c48)
- Web-UI: Fixed the empty Server Dialog -> Download Destinations page when no libraries are available by displaying an error text (c527d6b)
- WebAPI: Fixed the logging being formatted in a bloated redundant way, it should now be more compact (9bc1b8d)
- WebAPI: Fixed the UrlMaskingOperator being matched on everything (e5a5579)
- Web-UI: Fixed the width being too large of the download details dialog (3d87b7a)
- GithubActions: Specified the solution to build (0f62a44)
- GithubActions: Specified the solution to restore (43a188b)
- WebAPI: All sensitive data that is logged is now masked, which should make sharing the logs much safer. (de96ee3)
- Web-UI: Improved the layout of the server data displayed in the Server settings dialog (b456ed0)
- Docker: Added --no-restore to the build step and used --locked-mode to force the use of the NuGet package.lock.json (fb1a63f)
- GithubActions: Possible optimization to share the build step for the back-end testing jobs (6e38832)
- GithubActions: Revert attempt to split the build step for back-end testing (77e4ec8)
0.13.0-dev.1 (2023-06-13)
- WebAPI: Fixed Plex server HTTPS connections not working due to missing user-agent (8f9a48a)
- GithubActions: Fixed the caching of back-end nuget packages by specificing the package.lock.json path (d5e67b3)
- WebAPI: Fixed the CreatedAt and LastSeen values being incorrect when displaying the Server Dialog (4c0bd15)
- WebAPI: Fixed the download confirmation dialog displaying a checkbox which is not needed (8c894cb)
- WebAPI: Fixed the downloading failing when connecting with an HTTPS connection (2ed6c48)
- Web-UI: Fixed the empty Server Dialog -> Download Destinations page when no libraries are available by displaying an error text (c527d6b)
- WebAPI: Fixed the logging being formatted in a bloated redundant way, it should now be more compact (9bc1b8d)
- WebAPI: Fixed the UrlMaskingOperator being matched on everything (e5a5579)
- Web-UI: Fixed the width being too large of the download details dialog (3d87b7a)
- GithubActions: Specified the solution to build (0f62a44)
- GithubActions: Specified the solution to restore (43a188b)
- WebAPI: All sensitive data that is logged is now masked, which should make sharing the logs much safer. (de96ee3)
- Web-UI: Improved the layout of the server data displayed in the Server settings dialog (b456ed0)
- Docker: Added --no-restore to the build step and used --locked-mode to force the use of the NuGet package.lock.json (fb1a63f)
- GithubActions: Possible optimization to share the build step for the back-end testing jobs (6e38832)
- GithubActions: Revert attempt to split the build step for back-end testing (77e4ec8)
0.12.0 (2023-05-29)
- Database: Fixed a null exception when a library with no media is returned (970473e)
- Web-UI: Fixed the single column media posters jumping to the correct size when navigating libraries (9c6cad9)
- Web-UI: Fixed the verification dialog not appearing when 2FA is enabled (8150978)
- Web-UI: A home icon is displayed next to the server list when that server is owned by a Plex account (fe8ed71)
- Web-UI: The Plex servers on the left side are now ordered from owned to then sorted by name (dec9bb0)
0.12.0-dev.1 (2023-05-29)
- Database: Fixed a null exception when a library with no media is returned (970473e)
- Web-UI: Fixed the single column media posters jumping to the correct size when navigating libraries (9c6cad9)
- Web-UI: Fixed the verification dialog not appearing when 2FA is enabled (8150978)
- Web-UI: A home icon is displayed next to the server list when that server is owned by a Plex account (fe8ed71)
- Web-UI: The Plex servers on the left side are now ordered from owned to then sorted by name (dec9bb0)
0.11.1 (2023-05-28)
- Web-UI: Fixed the boot loop logo due to wrong url used when opening the web ui (768e08b)
0.11.0 (2023-05-27)
- Web-UI: Cleaned up and fixed the 2FA process of creating a PlexAccount (0332b8e)
- Web-UI: CSS .glass-background now changes color based on dark/light mode (29f0c1f)
- Web-UI: Display the default image when failing to request a thumbnail in the PosterView of media (5edad67)
- Web-UI: Ensured the plugins are only running on client when SSR: true (23939a6)
- Web-UI: Fixed alignment of the setup page tab contents (ef51256)
- Web-UI: Fixed the AccountDialog not closing after an account has been deleted (6411108)
- Web-UI: Fixed the Alphabet navigation for the Poster view of the media collection (13ca76c)
- Web-UI: Fixed the BaseButton not allowing the passing in of the default slot content (4164634)
- Web-UI: Fixed the confirmation dialog not showing wen pressing the Reset Database button under settings => advanced (1dcf2df)
- Web-UI: Fixed the connections not being displayed when checking the server connections (232686a)
- Web-UI: Fixed the DetailsOverview navigating and loading correctly (9b6c13c)
- Web-UI: Fixed the display of refreshing the library data (1a4a56c)
- Web-UI: Fixed the download table action buttons wraping due to not enough space (0f25689)
- Web-UI: Fixed the highlight causing big margins around the elements that it's applies to (af044a6)
- Web-UI: Fixed the hover and click not working on TVshow links to display the details page (34eadc1)
- Web-UI: Fixed the inconsistent heights in relation to the content of the Dialogs based on QCardDialog (95cc50b)
- Web-UI: Fixed the media details not displaying and the opening/closing of the DetailsOverview is now handled by eventbus. (70a1535)
- Web-UI: Fixed the MediaDetailsDialog css being applied to all dialog components (9d565a9)
- Web-UI: Fixed the navigating between TvShow and TvShowDetail that it maintains the scroll of the MediaOverview (afd8ebe)
- Web-UI: Fixed the PlexRipper logo margin in the AppBar at the top (ea117d7)
- Web-UI: Fixed the poster media view not handling huge 50.000+ media libraries (2603092)
- Web-UI: Fixed the prop persistent not being passed into q-dialog in the QCardDialog (0fac6b0)
- Web-UI: Fixed the repeated Library refresh request issue (2defbed)
- Web-UI: Fixed the selection of rows and passing through the download commands (50561d1)
- Web-UI: Fixed the wrong color value passed in GoToButton on the home page (7f74ea4)
- Web-UI: Hidden the Database section under settings as the "Reset Database" button is not working in the short term (cb39d06)
- Web-UI: Improved the vertical letter navigation on the media overview page to align and stretch properly while making it a bit bigger (7d59121)
- Web-UI: include input,select and textarea when determining the text-color (74d1da9)
- Web-UI: Mock data now respects the seed setting and will auto-increment when multiple elements are generated (c6ed02a)
- Web-UI: On completion of checking all server connections in the dialog, the treeview will now collapse (de3681c)
- Web-UI: Set a max-width for the confirmation dialog to not take up 100% screen width (d354bb6)
- WebAPI: The media quality formats are now added to the PlexMediaSlim object (3b15052)
- WebAPI: Added a "debugMode" settings property that will show/hide debugging functionality (5b90812)
- Web-UI: Added a highlight animation when navigating with the Alphabet navigation on the media page (cb7a27d)
- Web-UI: Added a highlight around the poster when navigating with the Alphabet navigation in the poster media view (a9b4def)
- WebAPI: Added a separate endpoint for getting the full TvShow media data (9e1d7f9)
- Web-UI: Added debug section under advanced settings which has a toggle to enable/disable debug mode (0b65743)
- Web-UI: Added factory to generate mock Plex media data (2035a4c)
- WebAPI: Added index to the PlexMediaSlimDTO (f32f093)
- WebAPI: Enabled XML-documentation display in the Nswag/Swagger UI (225c453)
- Web-UI: The debug menu items are now only displayed when debugMode is enabled (a8e4349)
- Web-UI: The Print component will now only be displayed when debugMode is enabled (23654c8)
- Web-UI: The table overview when viewing the media in a library now works with virtual scrolling, meaning it can view huge libraries with ease (b9beea4)
- Web-UI: Calculating which letters to display in the Alphabet Navigation is now 90% faster (45f116e)
- WebAPI: Removed the allMedia option from the api endpoint /PlexLibrary/{id} (736112a)
- WebAPI: The PlexMediaSlim now contains the thumbnail image url, this greatly speeds up the loading of the thumbnail (3637711)
- WebAPI: The TvShowDetail API endpoint now returns onl the data that is needs to significiantly increase performance when viewing Seasons (4f0966e)
Major migration of the front-end from Vue 2 / Nuxt 2 and Vuetify v2 to Vue 3 / Nuxt 3 and Quasar v2. Basically a complete rewrite of the front-end.
- Added sorting to the library media page with the ability to sort by title, date added, date updated, and size.
- Major front-end migration to Vue 3 / Nuxt 3 and Quasar v2
- Added a selection count to the library media page and media detail page.
- Viewing a huge library media collection should be much smoother due to paginated loading and virtual scrolling.
- Re-designed the PlexRipper setup wizard to flow better and be more intuitive.
- The estimated time shown when downloading a media item is now shown in a shorter notation, 06:45:09.
- Optimized the media viewing to be more performant and use less memory.
- Calculating the download preview, which is shown when a pop-up opens that asks if you're sure that you want to download the selected media, is now done in the background and not on the fly.
- Fixed the laggyness when scrolling on the media pages when selecting a plex library.
- Fixed the checkbox selection not working in the media pages when selecting a plex library.
- Fixed the seasons when viewing a tvShow not being sorted correctly.
- Fixed the logging spam "Something failed but no errors were available in the result"
- Fixed the DownloadDetail dialog not containing the DownloadUrl when a task can be downloaded.
- Fixed the Downloads count that is displayed in the menu to the left displaying an incorrect number, this number is now based on the amount of downloadable media entries
This is most, not all, of the many changes that have been made in this version.
- Cypress Front-end testing
- Each PlexServer now has multiple connections available which can be chosen individually, this should solve proxy and connection issues with servers.
- Each PlexServer can now have a preferred connection that can be set in the server settings.
- Changed the infrastructure for the download and fileMerge process to be hosted in the Quartz Background services.
- Big re-organization of the PlexAccount setup process.
- Upgraded to .NET 7.0 and Entity Framework 7.0, as well as many other dependencies.
- Fixed the two-factor authentication not working due to the Plex error not being passed on from the http client
- Fixed the front-end page data not refreshing when deleting an PlexAccount
- Fixed download process not working when the PlexServer is behind a proxy
- Fixed the timeout issue when communicating with a big PlexServer, it's currently 60 seconds before it times out.
- Fixed "cannot access the file" exceptions which were due to resources not being disposed correctly.
- Optimized the token retrieval process for Downloads, this should make downloads more resilient to token refreshes.
- Optimized the download progress to the front-end, this should make the download progress more accurate and less laggy.
- Optimized all the project to a vertical slice architecture, this should make the project more maintainable and easier to extend.
- Optimized the logging to be more consistent and easier to read.
- Added a setup question on the home page instead of forcefully redirecting to the setup page when the setup hasn't been yet skipped or completed
- Made the updating of settings in the front-end a true observable to make it chain-able and await-able to only do stuff after it has updated the settings
- Fixed the setup loop that happened for some users where they got redirected back to the setup screen after finishing or skipping by removing the redirect
- Fixed the downloadSegments setting not updating correctly when changed
This has been a major refactoring with many unit and integration tests added to ensure stability. This means you will have to empty the config folder before installing to ensure proper workings.
Note: This, by a long shot, doesn't encompasses all the changes and fixes that have been made in this version due to the large scope of the changes.
- Per server configurable download speed limit (See server settings > Server Configuration)
- Per server and library configurable folder destination where media downloaded will automatically be moved too.
- German UI language (Thanks to Padso4tw!)
- Jest and Cypress testing infrastructure
- Added a new server command in the server settings to inspect a server connection and attempt to fix it.
- Added a loading screen with a rotating logo
- Removed batch commands from the download page, these were not working and overcomplicated things too much.
- Migrated project to .NET 6, which brings many performance improvements
- Added a loading icon to the button when checking the server status in the server configuration
- The server command "Re-sync Library media" now displays a loading animation.
- Replaced every button with a more performant and consistent button construction
- Thumbnails displayed for movies and tvShows on the library pages in poster mode are now displayed from cache when navigating around PlexRipper.
- Rewrote the code for the entire download process to be more stable and allow for future features
- Rewrote the user settings modules (PlexRipperConfig.json) which is now easy to extend and more resilient.
- Many performance improvements!
- Fixed the setup of Plex accounts in PlexRipper which was failing due to a login format change on the side of Plex
- Fixed the slow downloads by increasing the download buffer, might make it configurable based on the hardware PlexRipper is run on. (Thanks to BakasuraRCE!)
- Fixed the opening of the server settings not defaulting back to its first tab
- Fixed the download progress not updating after a while due to SignalR disconnects
- Fixed the retrieval of the ServerStatus not working when a timeout happens.
- Fixed the notifications not always being shown and updated correctly when an error happens.
- Fixed the download confirmation window not hiding after clicking confirm #122
- Fixed the page background effect breaking when the browser does not support WebGL. It will now display a still image of the background.
- Added two-factor authentication compatibility, meaning PlexRipper now works with two-factor authentication protected Plex accounts.
- Added the awesome French translation from @starnakin, thank you so much!
- Added a progress window showing the individual servers being connected to when setting up an PlexAccount.
- Added a warning that deleting an plexAccount might take a long time due to the amount of data which has to be deleted.
- Added a thank you for the awesome contribution from Starnakin to the README.
- Added migration check for adding ClientId to already created Plex accounts, this avoids users having to re-setup their accounts in PlexRipper.
- When confirming an action in the confirmation dialog, a loading spinner will now show.
- When a translation is missing, it will now show the English variant.
- When no downloads have been selected in the download page, the "Clear Completed" is now disabled.
- Updated to the new PlexAPI SignIn process
- Improved the PlexApi HttpClient to return errors given by Plex.
- Fixed the "New device connected" spam that Plex server owners would get due to a randomly generated ClientId's being used per request by PlexRipper. This is now unique and consistent for every PlexAccount.
- Fixed the delete button missing from the Plex account update window.
- Fixed the confirmation window prevented from being closed.
- Fixed the menu titles now being translatable.
- Fixed the DateTime settings not being translatable.
- Fixed the browser client not updating its store after resetting the database.
- Fixed the error window having a very wide window due to unwrapped text.
- Fixed the TvShows libraries getting stuck in a infinite loading loop when viewed, TV show libraries can now be viewed again.
- Added an improved Notification sidebar
- Added all text as translations keys to the language file to ensure everything can get translated.
- Added Language switcher under Settings => UI, only supported English and the to be translated French.
- Notifications can now be cleared with a click of a button
- Fixed the lang folder link in the README
- Added the French language file and language support (Still needs translations).
- Added the language option to the config file
- Rewritten how settings are saved, they should now work much better
- Added feedback section to the ReadMe
- Ensured the config/settings file is now better protected against corruption and invalid values
- Fixed the Letter navigation in Poster view not scrolling the page.
- Fixed the setup page not shown automatically on a new install.
- Fixed the percentage in download speed having too many decimals, namely in the Downloads page.
- Fixed where empty help buttons would show up next to options.
- Fixed the checkboxes in settings not working.
- Fixed the misalignment of the checkboxes in the settings page.
- Fixed an issue where statically generating the WebUI in development would return the wrong api url.
- Fixed an error when trying to add a Movie or TvShow destination folder under Settings => Paths, should now work correctly
- Fixed the "no downloads" message not always showing correctly when there are no downloads in progress.
- Fixed the setup page not showing the correct background and throwing an error when that happens
- Fixed the skip button during the setup wizard not appearing