Skip to content

Latest commit

 

History

History
396 lines (287 loc) · 35.6 KB

CHANGELOG.md

File metadata and controls

396 lines (287 loc) · 35.6 KB

PlexRipper Changelog

0.14.0 (2023-06-22)

Bug Fixes

  • 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)

Features

  • Web-UI: Added a selection button to the MediaTable to make it way easier to make media selections (0323cbf)

Performance Improvements

  • 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)

Bug Fixes

  • 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)

Features

  • Web-UI: Added a selection button to the MediaTable to make it way easier to make media selections (0323cbf)

Performance Improvements

  • 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)

Bug Fixes

  • 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)

Features

  • 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)

Performance Improvements

  • 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)

Reverts

  • GithubActions: Revert attempt to split the build step for back-end testing (77e4ec8)

0.13.0-dev.1 (2023-06-13)

Bug Fixes

  • 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)

Features

  • 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)

Performance Improvements

  • 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)

Reverts

  • GithubActions: Revert attempt to split the build step for back-end testing (77e4ec8)

0.12.0 (2023-05-29)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • Web-UI: Fixed the boot loop logo due to wrong url used when opening the web ui (768e08b)

0.11.0 (2023-05-27)

Bug Fixes

  • 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)

Features

  • 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)

Performance Improvements

  • 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)

[0.11.0]

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

  • Added sorting to the library media page with the ability to sort by title, date added, date updated, and size.

Changed

  • 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.

Optimizations

  • 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

  • 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

[0.10.0-RC1]

This is most, not all, of the many changes that have been made in this version.

Added

  • Cypress Front-end testing

Changed

  • 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

  • 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.

Optimizations

  • 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.

[0.9.1]

Added

  • 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

Changed

  • 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

  • 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

[0.9.0]

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.

Added

  • 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

Changed

  • 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

  • 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.

[0.8.7]

Added

  • 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.

Changed

  • 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

  • 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.

[0.8.6]

Added

  • 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.

Changed

  • 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

  • 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