Skip to content

[RELEASE] v0.2.0

Compare
Choose a tag to compare
@Josh5 Josh5 released this 11 Mar 19:52
· 200 commits to master since this release

Changes:

  • Add support for multiple libraries
    • Add ability to create, read, update and delete multiple libraries
    • Update library scanner and file monitor to handle multiple libraries
    • Move the "enabled plugins" feature to be per-library
    • Add ability to configure plugins per-library or globally and add ability to reset library config to global defaults
    • Move plugin flow configuration to be per-library
    • Include a library ID when requesting data from plugins (requires bump in plugin compatibility version and all plugins to be updated)
    • Update all plugin executors to only execute plugins enabled on a library
    • Delete all pending tasks matching a library that is being deleted
    • Add ability to export and import library config
    • Add ability to clone a library
    • Add ability to lock a library to prevent it from being accidentally deleted
  • Add ability to login to Unmanic with GitHub
    • Unlocks all "supporter perks" if your GitHub account has committed anything to the Unmanic project in the past month
  • Add ability to login to Unmanic with Discord
    • Unlocks all "supporter perks" if your Discord account has received reputation points for being helpful in the past month
  • Update developer tools for multi-library support
  • Give post-processor plugins the ability to prevent Unmanic's default file movement completely
  • Remove NVIDIA GPU probe from system info
  • Improve Unmanic installation linking
    • Add library name when sending files
    • Do not send a task to remote installations that do not have a library name matching that of the task
    • Improve pre-loading of tasks on remote installations to help with smaller files and greater worker counts
    • Allow sending smaller files of less than 100MB in parallel
    • Enable network transfers to multiple remote installations at a time
  • Improvements to debug logging
  • Migrate the directory info .unmanic files from INI to JSON for better filename support
  • Add new plugin runner for managing web-hooks and API calls
  • Add new API endpoints
    • Create, read, update and delete a library
    • Export a library config
    • Import a library config
    • Terminate all workers with one request
    • Trigger a library scan
    • Create a new local pending task from a given path

Docker

  • Improve the Docker image inbuilt developer tools for multi-library support
  • Bump packages:
    • libgl1-mesa-dri 21.0.3-0ubuntu0.3~20.04.5 -> 21.2.6-0ubuntu0.1~20.04.2
    • mesa-va-drivers 21.0.3-0ubuntu0.3~20.04.5 -> 21.2.6-0ubuntu0.1~20.04.2
  • Add EXPOSE port 8888 in Dockerfile

Front-end

  • Add support for multiple libraries
    • Add required screen elements to manage multiple libraries
    • Move file monitor enable to be per-library
    • Hide the plugin settings for plugins that are not configurable
    • Add library selector when adding completed task back to pending task queue
    • Add ability to install plugins from the library config screen
  • Improvements to layout and text
  • Improve mobile browsing
  • Rewrite the plugin settings screen to be a list rather than a table
  • Ensure the file browser dialog is full-screen when viewed on a mobile
  • Add dark mode
  • Ensure the web-socket warning is dismissed when new data arrives
  • Update all translations
  • Add ability to terminate all workers from the dashboard
  • Add button to trigger a library scan from the dashboard

Bug fixes:

  • When specifying a custom config path via the unmanic command, the old config file was still being imported before this param was being applied.
  • The web-socket connection warning would not disappear if the web-socket started receiving data again.
  • When Unmanic detected an NVIDIA GPU, but the driver was not installed or the NVIDIA Docker runtime was not in use, it would throw an error.
  • One of the logs "No libraries are configured to run a library scan" log was being run no matter what conditions were met