Skip to content

v3.0.0

Latest
Compare
Choose a tag to compare
@m4heshd m4heshd released this 25 Apr 06:39
· 7 commits to master since this release
2b01065

UFC Ripper v3.0.0

Downloads


What's new?

The backend of UFC Ripper has been completely rewritten in Rust. While it may not have been necessary, as the developer of this project, I was really curious about the outcome. I mainly wanted to improve its performance, reduce its resource usage, make it easier to maintain, and do much smaller releases. And let's be honest, it's just plain cool! 😎

The previous version, which ran on Node.js, didn't have any tests (because I loathe writing them) and that led to a lot of pain in maintaining this application. Now, this version practically doesn't even need tests because, well, pretty much all of the errors that could occur are caught at compile-time. I no longer have to sweat profusely whenever I do any dependency or functionality updates. 🤷🏻‍♂️

Here's a comparison of resource weights of the two versions as a bonus:

Version CPU usage Memory usage Executable size Docker image size
Node.js 12% - 21% 47 MB 48.9 MB 66.45 MB
Rust 0.2% 2.8 MB 5.9 MB 33.22 MB

* CPU usage metrics are relative to the hardware it's running on, and it was tested while handling multiple downloads. Resource usage of third-party tools like yt-dlp and ffmpeg are omitted.

Feature changes from the previous version:

  • Config file's schema is now strictly validated. Any invalid config values would make the application throw an error
  • Search API requests are now proxied if a proxy is enabled
  • The "Region" setting in the login is now effective without needing to save the configuration first
  • Improved the clarity of error reporting significantly to reduce the ambiguity of error messages shown in the popups
  • Internally, the yt-dlp events are now processed at a much slower pace which reduces CPU utilization significantly
  • The Desktop version of the application will now keep the terminal window open on an error event, so the user can read any output
  • On Windows, the application name will be properly displayed instead of the description, throughout OS process listings (ex: on Task Manager)
  • Changed the default video quality to bestvideo
  • A Windows installer is now available in each release

Warning

THIS RELEASE CONTAINS BREAKING CHANGES TO THE CONFIGURATION. PLEASE MAKE SURE TO UPDATE YOUR CONFIGURATION (config.json) TO THE LATEST VERSION INCLUDED IN THIS RELEASE

Full Changelog: v2.2.0...v3.0.0