Skip to content

Releases: Unmanic/unmanic

[RELEASE] v0.4.0

25 Feb 00:29

Choose a tag to compare

  • [NOTE] v0.4.0 is a pretty large platform update focused on extensibility, integrations, and operational stability.
    This release introduces significant groundwork for plugin developers, including new metadata and workflow capabilities that make it easier to build richer community plugins and reduce duplicated processing between plugins. It also
    expands API coverage to simplify linked-installation/remote flows and improve third-party app integrations with Unmanic.

    Logging and metrics handling have also been substantially improved, with better behavior for high-volume environments and stronger integration paths into Unmanic Central for cross-installation visibility.

    If you have not tried Unmanic Central yet, this is a great time to start:

    Documentation has also been significantly improved in this cycle, both for operating Unmanic and for writing plugins, with a strong focus on helping community contributors build, test, and ship community features more effectively.

    Supportership has been expanded and streamlined.
    Unmanic now supports GitHub Sponsors (including one-off and ongoing sponsorships), Patreon, and Discord role-based support access (via the new in-house Discord bot for contributors/testers/community helpers).
    Lifetime supportership is now available once a total of $36 USD has been contributed over time (including a one-off GitHub Sponsor payment), so users can unlock supporter features without needing permanent subscriptions. Patreon tiers now include $3, $7, and a one-time-friendly $36 path.

    A new Project Funding system is also available for ongoing supporters, allowing supporters to convert sponsorship into credits and prioritize optional feature proposals:

Service

  • [NEW] Add bind-address configuration to limit listener exposure to specific interfaces (for example localhost-only setups). (contributed by AGSPhoenix)
  • [NEW] Add SSL/TLS server options (certificate/key paths) and provide Docker Compose SSL examples for HTTPS deployments. (contributed by chrischapman/chappie)
  • [NEW] Add the UnmanicFileMetadata helper and metadata API/models so file metadata persists across moves/renames and can be reused by plugins.
  • [NEW] Add task/file fingerprinting (including faster hashing and xxhash support) to improve file-change detection and plugin data reuse.
  • [NEW] Add pending/test endpoint to test candidate files before adding to pending tasks.
  • [NEW] Add setting to compress historic tasks instead of deleting them, reducing DB growth while preserving history.
  • [NEW] Add completed-task metric/data logging for Unmanic Central.
  • [IMPR] Improve linked-installation behavior, including local copy-path handling (fallback away from HTTP transfer when shared storage is available), public-address config, and supporter auto-linking/discovery flow. (local-copy
    improvements contributed by yajrendrag)
  • [IMPR] Improve log handling with larger UI tail windows, better buffering controls/retention behavior, and cache-path optimizations when no remote endpoint is configured.
  • [FIX] Fix proxy/header and linked-installation API issues that could break remote instance communication.
  • [FIX] Fix trial-session noise where non-supporter trial flows were still attempting supporter-only linked-installation fetches.
  • [FIX] Fix websocket/system-log behavior so system logs are not sent after websocket close. (thanks kmarius)
  • [FIX] Fix excessive temp JSON backup/log artifacts and related cleanup paths that could bloat disk usage.

Plugin executor

  • [NEW] Expand plugin developer CLI tooling (reload, uninstall by ID, scripted plugin creation, sample/test data install, test-file targeting, dependency install helpers).
  • [NEW] Add PluginChildProcess current-command reporting so active subprocess command detail is visible in UI/monitoring.
  • [NEW] Add missing task_id fields in runner schemas/emitted data for better traceability.
  • [IMPR] Improve plugin settings/config rendering robustness and plugin configuration UX.
  • [IMPR] Strengthen plugin/task data-sharing foundations for cross-plugin reuse (for example shared probe results and metadata-backed workflows).
  • [FIX] Fix worker regressions around plugin pass loops and command reporting.
  • [FIX] Fix paused-worker PID stat monitoring and worker in-progress naming/status edge cases.
  • [FIX] Fix library scan progress/reporting issues, including long-running test completion handling.

Docker

  • [NEW] Rebase container base image to ubuntu:24.04, removing LSIO base-image dependency.
  • [NEW] Add support for running as non-root user configurations (optional), with broader startup/permission hardening.
  • [NEW] Add Vulkan packages/tools and ffprobe helper utilities for plugin and developer workflows.
  • [IMPR] Update packaged runtime dependencies, including Node.js v22 and Jellyfin FFmpeg v7.
  • [IMPR] Add sqlite maintenance on startup to mitigate long-term DB bloat.
  • [FIX] Harden entrypoint/init scripts so permission/config/plugin-init errors do not prevent startup.
  • [FIX] Fix startup regressions around /app//config creation, wrapper-script usage, missing group IDs, HOME handling, executable bits, and Docker run script reliability.
  • [FIX] Improve NVIDIA patching behavior so patch-fetch/network issues no longer hard-fail container startup.

Front-end

  • [NEW] Add linked-installation switching in UI (view/manage multiple linked instances from one installation).
  • [NEW] Add support/funding proposal integration in Help/Support UI.
  • [NEW] Add trial/supportership welcome dialog and improved supporter flow messaging.
  • [NEW] Add library list search/filtering.
  • [NEW] Add curated third-party plugin repository discovery from plugin installer UI.
  • [IMPR] Overhaul plugin installer UX/layout (including mobile behavior) and modernize frontend packages/refactors.
  • [IMPR] Improve pending/completed bulk actions and large-list handling performance.
  • [IMPR] Increase worker log lines shown in worker details and move app logs into a dedicated Help/Support drawer.
  • [FIX] Include multiple login/session and UI consistency fixes across the frontend syncs.
  • [FIX] Correct Swagger base URL rendering to match the active host/port context.

[RELEASE] v0.3.0

10 Jul 05:45

Choose a tag to compare

  • [NOTE] When upgrading to 0.3.0+, supporters will need to log in again. Thank you for your continued support.
    With this release comes support for remote logging and the Unmanic Central service. Unmanic Central is a self-hosted management and monitoring platform that lets you collect, store, and visualise logs and metrics from all your Unmanic installations in one place.

    Key components:

    • Unmanic Central Datastore
      A resilient, self-hosted store for Unmanic logs, metrics and data.
    • Unmanic Central Frontend
      A new web interface where you can build custom dashboards, configure real-time views, and drill down into every event and metric across your fleet.

    What you can do with Unmanic Central:

    • Centralise log collection
      Route logs (with automatic retry and buffering) from each Unmanic instance into one unified store.
    • Monitor performance
      Track library scan duration, service CPU/memory usage, plugin progress, file-processing changes (size, duration), and moreβ€”all correlated by installation.
    • Visualise and alert
      Create and share dashboards in the Central frontend to focus on metrics and events that matter, and integrate with Grafana for advanced querying and visualisation.
    • Extend with Grafana
      Optionally connect Grafana directly to your Central Datastore to build custom dashboards, set alerts, and leverage the full power of your data.

    Availability:
    Unmanic Central is a supporter-only feature.

Service

  • [NEW] Add initial log‐forwarding feature with on-disk buffering and remote endpoint support
    • Create remote‐log buffer with retention of 2 weeks to survive endpoint outages
    • Include installation name as a label in all remote logs
  • [NEW] Introduce METRIC logs for library scan duration
  • [NEW] Emit overall service resource-usage metrics (CPU, memory) as METRIC logs
  • [NEW] Emit per-worker progress metrics (CPU%, memory%, elapsed time, progress%) as METRIC logs
  • [NEW] Support a new β€œDATA” log type and send structured data to Unmanic Central
  • [NEW] Add DATA logs for library scan metrics
  • [FIX] Resolve supporter session & login issues introduced by recent API changes
  • [FIX] Ensure logs generated before remote-logging is enabled are still captured and forwarded

Plugin executor

  • [NEW] Add β€œevent runners” to emit lifecycle events at key task execution points
  • [NEW] Introduce a shared, task-scoped data store for plugins via TaskDataStore
  • [NEW] Enable spawning plugin work in isolated subprocesses with the new PluginChildProcess helper (live logs & progress)
  • [IMPR] Enhance child-process cleanup with a global PID registry and guaranteed termination (including paused processes)
  • [FIX] Ensure all plugin-spawned subprocesses are reliably terminated on service shutdown

Docker

  • [FIX] Correct the Docker development-environment run script

Front-end

  • [IMPR] Force immediate registration-status refresh after obtaining a new app token
  • [FIX] Restore supporter-login flow following recent API changes
  • [FIX] Allow sign-out when the remote API is unreachable

[RELEASE] v0.2.9

28 Jun 12:53

Choose a tag to compare

Service

  • [FIX] Fix build failing due to pip changes
  • [IMPR] Updated python dependencies
  • [IMPR] Improvements to Unmanic logging
  • [IMPR] Migrate some required requests to new v2 API
  • [IMPR] Improvements to API's ability to handle concurrent requests

[RELEASE] v0.2.8

29 Aug 00:16

Choose a tag to compare

Service

  • [IMPR] Improve how the command string is generated for the worker to execute.

Plugin executor

  • [NEW] Add ability for a plugin to set file output to 'None'.
  • [FIX] Unmanic was trying to create an output path even when file out path was 'None'.

Docker

  • [FIX] Disable pinning of these runtime packages in Docker image so that they can be auto-updated on a scheduled builds:
    • libexpat1, libglib2.0-0, libgomp1, libharfbuzz0b, libmediainfo0v5, libv4l-0, libx11-6, libxcb1, libxext6, libxml2

Front-end

  • [FIX] Mobile view of the configuration drawers was not saving the settings

[RELEASE] v0.2.7

04 May 03:57

Choose a tag to compare

Service

  • [FIX] Disable supporter restrictions and hide login .
  • [IMPR] Thrown an exception when the remote support API is not available.
  • [IMPR] Display better logging for responses from the support API.

Docker

  • [NEW] Add ability to select a 'test' support API
  • [IMPR] Update package: libexpat1=2.4.7-1ubuntu0.3

v0.2.6

12 Mar 19:45

Choose a tag to compare

  • [NOTE] When upgrading from 0.2.4 to 0.2.5+, supporters will need to log in again. Due to the change in the auth api and changes with integrating with Patreon, all supporters will need to log into their respective platforms again. Sorry for the inconvenience.

Service

  • [FIX] Always force logout to avoid showing the user an error message.
  • [FIX] Only save remote request session cookies if they exist. This prevents overwriting some valid session cookies when a new session is created.

Docker

  • [FIX] Bump required Docker build dependencies.

[RELEASE] v0.2.5

01 Mar 22:01

Choose a tag to compare

  • [NOTE] Supporters will need to log in again. Due to the change in the auth api and changes with integrating with Patreon, all supporters will need to log into their respective platforms again. Sorry for the inconvenience.

Service

  • [NEW] Add support for Python 3.12
  • [NEW] Add a new logout v2 API endpoint
  • [IMPR] Switch to new plugin and supporter auth APIs. This will provide much faster fetching of remote data.
  • [IMPR] Add some better debug logging to any remote API calls
  • [IMPR] Update the Python wheel build process to support the latest setuptools

Plugin executor

  • [IMPR] Improvements to development of plugins locally
    • Prevent a user from installing a plugin update over top of a plugin they are developing on that contains a .git directory

Docker

  • [IMPR] Rebase image to Ubuntu Jammy
  • [IMPR] Remove freeze on VA driver packages
  • [IMPR] Remove freeze on intel media driver packages
  • [IMPR] Update Jellyfin FFmpeg to v6
  • [IMPR] Update NodeJS to v20
  • [NOTE] Remove support for armv7

Front-end

  • [IMPR] Update all dependencies
  • [IMPR] Unify processing and ETC time format
  • [IMPR] Switch to using the new v2 API endpoint
  • [IMPR] Improve how navigation drawers function
  • [IMPR] Add Help & Support links to all navigation drawers
  • [FIX] Remove the I18n warning logs spamming into a browser console log
  • [FIX] Fix bug where clicking on the Discord or GitHub login would sometimes activate the function for logging in for Patreon.

[RELEASE] v0.2.4

23 Apr 04:52

Choose a tag to compare

Service

  • [NEW] Add ability to install plugins from zip file.
  • [NEW] Add a new "notifications" feature to collect important details for users to review when the view the front-end.
  • [IMPR] Drop support for Python v3.6.
  • [IMPR] Add support for Python v3.9, v3.10 and v3.11.
  • [IMPR] Slow down main thread executions to improve CPU usage on lower end hardware.
  • [IMPR] Small improvements to the logs displayed for worker plugin executions. This will be helpful for plugins that do all the work themselves rather than passing a command to execute back to Unmanic.
  • [IMPR] Improve plugin manager command-line tool (see commits for more details).
  • [FIX] Fixed bug where logs were not being returned correctly from linked installations.

Plugin executor

  • [NEW] Add support for "description" fields in plugin settings (see front-end changes below).
  • [NEW] Add support for "tooltip" fields in plugin settings (see front-end changes below).

Docker

  • [IMPR] Update package: intel-igc-cm=1.0.160+i755~u20.04
  • [IMPR] Update package: intel-level-zero-gpu=1.3.23726.1+i419~u20.04
  • [IMPR] Update package: intel-media-va-driver-non-free=22.5.0+i419~u20.04
  • [IMPR] Update package: intel-opencl-icd=22.28.23726.1+i419~u20.04
  • [IMPR] Update package: level-zero=1.8.1+i755~u20.04
  • [IMPR] Update package: libgl1-mesa-dri=22.2.0.20220625.1+3091
  • [IMPR] Update package: libigc1=1.0.11485+i419~u20.04
  • [IMPR] Update package: libigdfcl1=1.0.11485+i419~u20.04
  • [IMPR] Update package: libmfx1=22.5.0+i419~u20.04
  • [IMPR] Update package: libva-drm2=2.15.0.2-36
  • [IMPR] Update package: libva-wayland2=2.15.0.2-36
  • [IMPR] Update package: libva-x11-2=2.15.0.2-36
  • [IMPR] Update package: libva2=2.15.0.2-36
  • [IMPR] Update package: vainfo=2.15.0.2-1

Front-end

  • [NEW] Add a new "notifications" area for receiving push notifications from the backend.
  • [NEW] Add support for displaying a "description" below most plugin config input fields.
  • [NEW] Add support for displaying a "tooltip" when you hover over a plugin config option.
  • [FIX] Fixed an issue that would prevent a library from being saved if you just hid the dialogue.

[RELEASE] v0.2.3

04 Jun 23:29

Choose a tag to compare

  • [NOTE] For the next few months I will be dropping the minimum Patreon sponsorship level for unlocking Unmanic to $1. As the project is growing it is my hope to further spread the costs of maintaining the infrastructure across the users. Remember that Unmanic is a community driven project and you can also unlock supporter features by simply contributing to the Unmanic GitHub (including documentation) or by participating in supporting via Discord. Thank you to everyone who has been contributing to this project. Without you, Unmanic would not be what it is today.

Service

  • [NEW] Added ability to configure a library as a remote-only library for receiving remote tasks.
  • [NEW] Added the ability for a link to push any missing library configs, including installed plugins, plugin flow and plugin settings, to remote installations.
  • [NEW] Updated linking to send only the relative path to a file if the remote library is configured to point to the same directory as the main installation's library. Use this feature to pull new tasks from a SMB or NFS share rather than having Unmanic transfer the file from the main installation to the remote one.
  • [IMPR] Reduced the number of times plugin repos are refreshed to check for updates.
  • [IMPR] Included the library config in API calls for requesting all libraries.
  • [IMPR] Added better logging for any issues found during linking communications.
  • [IMPR] Remove checksum validation from post-processing. Checksum generation was slowing down the processes unnecessarily.
  • [IMPR] Make checksum validation optional on link task file transfers.
  • [IMPR] Sort libraries alphabetically. Libraries are now scanned top-down in alphabetical order. Use the library name to configure the priority order in which a library is scanned.
  • [IMPR] Made the number of pre-loaded tasks user configurable rather than calculating it based on the number of available remote workers.
  • [IMPR] Improvements to building, starting and stopping Unmanic on Windows.
  • [FIX] Removed the --unmanic_path cli option for setting the config directory. Use the HOME_DIR environment variable instead.
  • [FIX] Fixed bug where tags would not be saved on new worker group creation.
  • [FIX] Fixed bug where a link may not be configurable in the first 10 seconds after first creating it.
  • [FIX] Fixed issue where plugin settings were not being set during the import or clone of a library.
  • [FIX] Fixed bug where clicking submit on the link settings screen would always enable task pre-loading on each of the links.
  • [FIX] Fixed a bug where if the remote pending task list is empty, the main installation would not detect that the task has been deleted.

Plugin executor

  • [NEW] Added a the final cache path as a variable handed to post-processor plugins.

Docker

  • [NEW] Included NodeJS in build.
  • [NEW] Included exiftool in build.
  • [NEW] Added libmediainfo0v5.
  • [IMPR] Updated Intel dependencies.
  • [IMPR] Updated Jellyfin FFmpeg to v4.4.1-4.

Front-end

  • [IMPR] Display the library config overview on the library settings screen.
  • [IMPR] Display the link config overview on the link settings screen.

[RELEASE] v0.2.2

01 May 07:52

Choose a tag to compare

Service

  • [NEW] Introduce worker groups to specify unique schedules and tags for groups of workers.
  • [NEW] Introduce new "tagging" feature. Apply tags to libraries and worker to further customise that partnership. Eg. Tag a library with "priority" and keep a matching tagged worker spare for priority tasks.
  • [NEW] Add the ability to link with an installation that is behind a proxy (traefik, swag/nginx, etc.) configured with basic authentication.
  • [NEW] Add ability to set the maximum number of days that the completed tasks should be kept. If enabled, Unmanic will remove successfully completed tasks after the configured number of days.
  • [IMPR] Session reloads with the Unmanic site API are now reduced and persisted between application restarts. Unmanic can operate in a supporter tier without an internet connection for up to seven days.
  • [IMPR] All sub-processes executed by workers will now be executed at a lower priority than the main application. This should help improve application responsiveness during times of high CPU load.
  • [IMPR] When configured to send tasks to remote installations, Unmanic will now send one transfer at a time, but be available to receive up to two transfers back from that remote installation. This should help to saturate network bandwidth for people with faster networks.
  • [IMPR] Remote linking will now poll for updates from a remote installation every 10 seconds (previously 30). This will reduce the delays between a task finishing and the source installation seeing it as available to download.
  • [IMPR] Reduce the number of file copies during a task lifcycle by first attempting an atomic movement for the final file movement of the post-processor from the cache directory. If the cache directory and destination directory are on different mounts, Unmanic will fall back to a file copy.
  • [IMPR] Carry out post-processor file movements with a '.unmanic.part' suffix added to the end of the file as it is moved.
  • [IMPR] Improvements to application logging.
  • [IMPR] Improvements to the how application settings are saved to file.
  • [FIX] Fix a minor issue with the way that the main service exits when a termination request is given.
  • [FIX] Fix for bug in post-processor where, under certain circumstances, if a file movement failed it could cause the post-processor thread to crash.
  • [FIX] Fix a bug where removing a library while a task is about to be processed by a worker could crash the main worker foreman thread.

Plugin executor

  • [FIX] Fix error causing plugin settings to fail during write if no global settings file exists

Front-end

  • [NEW] Display release notes on dashboard the first time the UI is opened after a release update.
  • [NEW] Add form elements presenting worker group settings.
  • [NEW] Add form elements for configuring library and worker tags.
  • [NEW] Add form elements for configuring basic auth credentials in remote installation linking.
  • [NEW] Add form elements for configuring completed tasks management.
  • [NEW] Add ability to filter the completed tasks list by success status.
  • [NEW] Add ability to filter the completed tasks list by the date that the task was completed.
  • [IMPR] Display more information on the list of configured libraries in settings so we can see at a glance how each library is configured.
  • [IMPR] Update all front-end dependencies for improvements, bug-fixes and security patches.