Versions
23.09
New
FF-1099: Advanced dashboard Default Dashboard
is now free for everyoneFF-1087: Added ability to edit a Script
from theTasks
pageFF-1095: Dismissing a version update is now persistent FF-1096: Added NVIDIA hardware encoding for AV1 FF-1097: Added AMD/AMF hardware encoding for AV1 FF-1101: Added Speed
andOPUS
toConvert Video
template and also fixed issue withHEVC
not bindingFF-1105: New Script 'Delete Rogue UNPACK Directories' FF-1106: New Script 'Add MKV Extension'
Fixed
FF-1092: Fixed placement of Processing Nodes
widget on mobile on default dashboardFF-1094: TV Show Lookup wasn't always using the correct TV Show name FF-1091: Now installing opencl on Docker Container FF-1093: Docker container now is based on ubuntu:lunar
FF-1100: Fixed issue with Advanced
tab not appearing on Docker processing nodesFF-1102: Fixed issue binding flow template fields to new flow FF-1112: Fixed Docker TZ being ignored after base image change FF-1114: Updated Docker image to add more components to hopefully fix FFmpeg QSV issues. And added Btbn FFmpeg5 as backup FF-1115: Fixed Default Dashboard not appearing for non-licensed users FF-1117: Docker image now uses Jellyfins FFmpeg5 and FFmpeg6 for better Intel QSV support
Version 23.08
New
FF-1045: Added Flow Properties and the ability to create/share/use Community FlowsFF-1005: Can now force files to be processed which will completely disregard Nodes processing schedules FF-1043: Console window on Windows is now hidden in milliseconds instead of a few seconds when starting the Server FF-1044: Improved Windows Installer FF-1049: Improved intellisense for scripts/functions FF-1052: Added VP9 support to FFmpeg Builder: Video EncodeFF-1054: Added ability to set flow element fields directly in flow templates using strong names FF-1062: Major improvements to the new Flow creation process. A new window will be shown with all the available flow templates in the repository that your current plugin configuration can support. FF-1062: New Local
tag for local flows, that appear in theNew Flow Wizard
FF-1061: Created If String
,If Boolean
,Output Path
flow elements which can be used in templates to make templating easierFF-1059: Executor now uses variables forWorking Directory
andFile Name
FF-1071: ARM64 Docker image now available FF-1048: Added Variables to Processing Node FF-1067: Added sorting library files alphabetically FF-1028: Added Speed
option to FFmpeg Builder: Video EncodeFF-1064: Added API call to clear statistics FF-1068: Added Same as source
to bitrate when adding or converting audio tracks in FFmpeg BuilderFF-1076: Added ISO-639-2B and ISO-639-3 to Languages.js shared script FF-1080: Reverted FFmpeg to Btbn 6 and Jellyfin 5 in Docker container FF-1078: Added new TV Show LookupFF-1084: Updated FFmpeg Builder: Set Language to use variables for languageFF-1075: Added Disable Hardware flow elements and update FFmpeg Builder: Video Encode to allow for a specific encoder to be usedFF-1085: Added option to FFmpeg Builder: Remux to MP4 to useHVC1
for better Apple playback supportFF-1086: Added an option Downloads Directory
to Libraries under advanced. When enabled, any file that is found that has previously been successfully processed will be reprocessedFF-1088: Created a new script Delete Empty Folders
that will delete empty folders for watched folders.FF-1083: Added Status
to Nodes Page and created newProcessing Nodes
widgetFF-1089: Added Help to plugin Settings
andAbout
FF-1003: Added Max Runners
to Libraries to limit how many runners can process files from specific libraries at any one timeFF-1090: Restyled the scrollbar
Fixed
FF-1047: Fixed FFmpeg Builder: Audio Add Track help linkFF-1055: Library templates not loading after original 23.08.1 release (required a re-release) FF-1053: {} are only replaced/removed if valid variable name or exists in variables collection. FIxes an issue with {} in a folder name, eg ShowName (2020) {tmdb-123456}
FF-1058: Fixed variable formatters that were broken in 23.08.1 FF-1060: Logging XHR request route changed to avoid being blocked by uBlock origin FF-1066: Discord/Apprise/Gotify/Email now catch any errors, log them as warnings and call output 2 instead of failing the flow FF-1069: Fixed issue with extracting dvd_subtitles FF-1072: Added tabs to Flow Properties
to better fit smaller screensFF-1073: Increased click zone of checkbox in datalist to make it easier to select multiple items without unselecting previously selected FF-1074: Better error message in file log if Video Nodes is missing FF-1079: Fixed issue with AV1 using wrong speed setting FF-1082: Fixed issue with MKV trying to encode image subtitles using wrong codec hdmv_pgs_subtitle
Version 23.07
New
FF-1001: New flow element UnpackFF-1011: Made it clearer when the system is paused FF-1013: Added option to set strictness in FFmpeg Builder Executor FF-1020: Added Sample Rate to FFmpeg Builder: Add Audio TrackFF-1022: Added fps parameter for Intel QSV h265 encoding to fix seeking issues FF-1024: Added new flow element FFmpeg Builder: Remove Attachments that will remove embedded attachmentsFF-1025: Added options to disable web console notifications FF-1027: AV1 in FFmpeg Builder: Video Encode now uses the preset "4" instead of "8"FF-1030: Improved message for NVIDIA SMI widget when no encoders are in use FF-1016: OPUS now sets channels automatically to avoid a channel layout bug FF-1034: New File notifications now ;off by default FF-1035: Toasts now appear at the bottom right FF-1036: Added "High Efficiency" setting for AAC audio conversion FF-1038: Updated FFmpeg 6 in Windows Installer FF-1029: Mobile view improvements to the default Dashboard FF-1040: Image Resizer added resize modes "Min" and "Max"FF-1041: Added option to start Server and Node minimised if using Desktop GUI FF-1042: Subtitle Extractor now an option to only export text based subtitles and image based subtitles are now saved to sub
Fixed
FF-1007: Fixed websocket connection causing among other things the premium dashboard processing widget to appear empty. FF-1008: FFmpeg Builder: Track Reorder now orders but actual channels on track not the original channelsFF-1012: Move file and Copy File now will use the filename configured if moving/copying the folder and not the original filename FF-1014: Updated forum link FF-1015: Fixed issue with mapping files on Windows machine converting path to C:\ FF-1022: Added fps parameter for Intel QSV h265 encoding to fix seeking issues FF-1026: Fixed issue with Unpack not preserving internal folder structure for non-zip filesFF-1031: Fixed issue with plugins downloading and being saved with plugin name instead of package name causing plugins not to load FF-1033: Fixed issue duplicating a script FF-1037: Fixed a error that was thrown if a processing node was offline while getting the next file FF-1039: Fixed issue with dictionary of files not being thread safe
Version 23.06
New
- Docker: /usr/local/bin/ffmpeg5 now included so users can switch from daily builds of FFmpeg to a fixed build
- Docker: FFmpeg build updated (fixes issue with seeking in previous version)
- FF-472: Removed Processing Node settings from Windows UI. All these settings now need to be set in web console.
- FF-474: index.html now includes version for all Blazor requests - this fixes an upgrade issue when dotnet version changes
- FF-421: FFmpeg Builder now checks if the container has changed (e.g. MP4 to MKV) and will convert if supported any subtitles not supported in the new container. If the container does not support the subtitle format, it will be removed (and logged)
- FF-427: Added tool-tips to file names in the Files page
- FF-477: Plugins are now copied with the configuration if the plugin is used by a Flow
- FF-378: Attachments are now copied over when converting files
- FF-483: Ability to download files from the web console
- FF-411: Extended subtitle extractor to extract only forced subtitles
- FF-346: Added option to Move File, Copy File, Replace Original to preserve dates (if possible on the file system)
- FF-381: Added new flow element Subtitle Clear Default
- FF-482: Plugin version and FFmpeg version now written to file log
- FF-385: Added option to keep failed flow temporary files
- FF-485: New flow element FFmpeg Builder: Pre-Execute
- FF-217: Files "Processing" tab now shows progress of files being processed
- FF-440: Nodes edit can no copy "Mappings" from another node to the node being edited
- FF-300: MySQL now backs up data on upgrades
- FF-151: Web console now automatically detects when the server is offline and shows a disconnected blocker, that blocker will disappear when the server is back online.
- FF-487: Web console now uses Websockets (Signalr) for some communication between the backend and frontend. No longer has to poll for some information. This will be expanded on in future updates.
- FF-490: Updated help links to new docs site
Fixed
- FF-473: Could not find a part of the path '/app/Data/Scripts/Flow'
- FF-472: Fixed issue with Processing Node settings not saving correctly.
- FF-476: Fixed scripts missing
- FF-479: Fixed a caching issue where an item could be saved and the cached data refreshed before the save was complete causing the saved item to have the old data or for new items not to appear.
- FF-478: Plugins were failing to update/download and plugin browser was not hiding installed plugins
- FF-484: Fixed Linux auto updates, also systemd service now are installed as a user service
- FF-383: Fixed owner/permissions only set on temporary files
- FF-486: Creation/Last Write dates causing Dictionary error when using a Goto Flow element
- FF-416: Fixed issue when renaming a library did not update the storage saved widget and would the old name for old files and new name for new files
- FF-488: MySQL no longer using stored procedures
Version 23.05
New
- New number system, YY.MM.week.build.
- Updated FFmpeg to daily builds
- FF-470: Upgraded to .net 7
- FF-466: Added Priority for processing nodes
- FF-420: New "Fail Flow" node
- FF-444: Can now change dashboards on mobile
- FF-456: Added port into configuration file
- FF-449: Image Nodes now uses ImageMagick and supports convert HEIC files
- FF-447: Added webhook support
Fixed
- FF-446: Fixed issue saving detention time
- FF-426: New processing nodes default to "Only" processing instead of "All" libraries
- FF-443: Increased max width of webapp
- FF-450: Fixed issues missing scanning some files
- FF-467: Fixed issue binding boolean values in scripts
- FF-457: Removed new version available message on mobiles
- FF-453: Fixed version mismatch on internal processing node
Version 1.1.0
31st March 2023
New
- FF-432: Library File Service (and other services) now use in memory cache. This drastically reduces the calls to the database and speeds up the UI. It does however increase the memory usage of the server.
- FF-436: ProcessingLibraries enum now uses 0 for All and 1 for only. Previously these were the other way around, so new processing nodes sometimes defaulted to not processing all libraries.
Fixed
- FF-425: Files being reprocessed
- FF-419: Next file order ignored
- FF-431: Launching browser from GUI on Mac OS
- FF-391: Hides date from failed processing list if date is 0000-01-01
Version 1.0.10
4th March 2023
Fixed
- FF-419: Library processing order being ignored
- FF-425: Issue with files being moved into Unprocessed after processing
- FF-422: Database upgrade issue to 1.0.9
Version 1.0.9
18th February 2023
New
- FF-414: Mark as Processed, allows marking files as processed to avoid processing these files
- FF-376: Added an option to delete files from disk, only available to context menu
- FF-412: Added version and system info to auto updater checker.
- FF-413: Added new "PluginMethod" function to scripts/function, which allows executing exposed functions from a plugin in a script/function
- FF-387: Added ability to disable plugins, this prevents the plugins from being replicated with the configuration. For example, you can disable the Comic Nodes to avoid them being copied to the flow runner now
- FF-402: Added ability to force processing a file even if its out of schedule
- FF-408: Added ability to run a task now
- FF-358: Added ability to view task run history, including the log of the run and the result
- FF-396: Added ability to process by oldest first
- FF-377: Added "automatic" as option for bitrate to audio nodes
- FF-397: Added an option to detect moved files in a library and automatically update the references in the database to the moved file
- FF-394: Added "Remux to WEBM" node
Fixed
- FF-405: Fixed issue with context menu not updating
- FF-392: Reduced excess database calls when processing files, which would cause the GUI to become slow
- FF-409: Fixed issue with MacOS trying to set permissions on files using Linux commands
- FF-389: Fixed issue with Detection file size limits
- FF-410: Fixed issue opening FileFlows if user does not have a internet connection
Version 1.0.8
23rd November 2022
Fixed
- FF-370: Fixed issue with adding duplicate entry to WatchedLibrary dictionary which caused startup issues in 1.0.7
- FF-236: Docker entrypoint file now looks for PUID and PGID environmental variables and if found, will run the FileFlows process as that user
- FF-372: Fixed issue creating Failure Flows
Version 1.0.7
20th November 2022
New
- FF-364: Unzip node added to basic plugins
- FF-360: Added library "Detection" options to restrict detected files by size and age
- FF-363: Library scan interval, can now restrict a full scan to a specific interval or disable completely
- FF-367: Scripts now will replace variables in the inputs when executing, eg can now use {file.Orig.Name} inside a script text input when using in a flow
Fixed
- FF-359: Fixed "Module Not Found" in scripts
- Removed obsolete nodes and plugins
Version 1.0.6
5th November 2022
New
- FF-348: Added ability to turn off node configuration encryption, see Nodes for more information
- FF-353: Firefox improvements
- FF-351: Storage Saved dashboard widget now shows number of items processed
- FF-356: New nvidia-smi widget
- FF-354: Variables can now have formatters applied to them, see Variables for more information
- FF-342: When exporting multiple flows they are now zipped together instead of multiple downloads
Fixed
- FF-340: Fixed duplicate output connections in templates
- FF-316: More mobile improvements
- FF-347: When editing a flow if any flow parts are out of bounds they will be shifted inbounds
- FF-355: Fixed issue with fingerprinting not working as expected
Version 1.0.5
2nd October 2022
New
- FF-341: Version and platform now outputted to File log
Fixed
- FF-343: Name in LibraryFile database table now unique to avoid duplicate file entries
- FF-316: More mobile improvements
- FF-344: Fixed issue with ChangeValue firing when the form first loaded causing Video Encode quality setting to be incorrect in GUI
- FF-345: Fixed issue where output file could have a mix between / and \ in file name
Version 1.0.4
30th September 2022
New
- FF-328: Added option to delete subtitle file after merging
- FF-327: Track Remover: Fixed issue if "Remove All" was set, "Matches" validation would prevent the editor from saving
- FF-322: Added file.Orig.RelativeName variable
- FF-325: Node configuration is now encrypted on disk
- FF-324: Tooltips are now shown for script outputs
- FF-333: New node Variable Match
- Updated FFmpeg and added AV-1 support (CPU Only)
Fixed
- FF-339: Track reorder was not clearing the default flag for the previous default
- FF-329: ctrl-s was not working in the function/script editor
- FF-331: Settings page validation was ignored
- FF-330: Subtitles merged did not have the correct language set
Sibling Docker Containers
Docker now supports launching sibling containers so third-party dockers can be used in a Flow.
Version 1.0.3
New
- FF-281: Node configuration is now cached on the processing node, and only updated if changed. This greatly improves the start-up processing time of each file
- FF-308: SQLite connections limited to one at a time
- FF-310: Filter now works across multiple pages in the Files page
- FF-294: Added ability to name the newly added audio track
- FF-316: Mobile improvements (ongoing)
Fixed
- FF-312: Removed H.264 10 Bit option
- FF-238: Fixed bug dividing by zero
- FF-309: Files not ordered by when finished
- FF-311: Fixed initial file size recorded incorrectly
Version 1.0.2
New
- FF-296: Files database layer completely rewritten
- SQLite and MySQL now share the same code with modifications to the SQL commands for each database
- SQLite now supports most features from MySQL regarding files, including all dashboard widgets
- SQLite no longer caches files in memory and reads/writes directly to the database (other objects are still cached)
- FF-303: When paused the Processing widget now shows a paused message and icon
- FF-293: Storage Saved widget now shows space without needing to hover
Fixed
- FF-290: Script Repository now orders the scripts alphabetically
- FF-304: Fixed issue with message overflowing the message box
- FF-306: Fixed issue using ctrl/shift and clicking on a checkbox in the datalist
Version 1.0.1
New
- FF-73: Added Context menus
- FF-277: Columns are now resizable
- FF-286: Added PGS and "Other / Unknown" to Subtitle Format Remover
- FF-279: Moved the pager inside the Table control to avoid a display issue
- FF-280: Added VideoToolbox to hardware encoders/decoders
Fixed
- FF-282: Flow Runner No longer deletes the old working file if that file is NOT in the temporary directory
- FF-285: Fixed issue with files page calling the fetch data twice when entering that page
- FF-283: Fixed issue with MySQL for Windows not working
- FF-287: Fixed issue with "Flow" not being defined in Function editor causing some template functions to fail
Version 1.0.0
New
- New FileFlows Repository for
- Scripts
- Templates
- Function Templates
- Templates for Images, Comics, and more added
- New Plugin: Comics
- New Node: Auto Crop Image
- New Node: Audio To Video
- Renamed Tools to Variables
- Renamed FFMpeg to ffmpeg in variables
- Added "Input" and "Output" tabs to the file viewer which contains metadata for the Input file and the final output file
- UI: Reduced font size from 16px to 14px and change font. This allows for more data on the screen
- UI: Renamed "Delete" to "Remove" on the Files page and made it clear in the remove confirmation popup that this action only removes the files from the FileFlows Database and not the system
- Scripts Page
- Now uses a skybox to separate types of scripts: Flow, System, Shared
- Script editor now lets you import Shared scripts using a dialog
- PatternMatch node now saves the matched value to the variable "PatternMatch"
- FF-103: Can now export multiple flows at once
- FF-249: Now shows a countdown timer when the system is paused
- FF-224: Now detects ARM-based CPUs and will use Microsoft.Data.SQLite instead of System.Data.SQLite on those systems.
- FF-256: Music nodes have become obsolete and replaced with Audio Nodes
- FF-263: Escape now closes editors/dialogs
- FF-257: Editors are now resizable
- FF-266: Added support for markdown in help hints
- FF-268: Added -movflags +faststart to FFmpeg Builder Executor when producing an MP4 video
- FF-274: Updated to FFmpeg 5.1 in Docker and Windows. Also now includes ffprobe (not used yet)
- FF-275: Added "Downloading Plugins" text to blocker when downloading plugins
Premium Features
- Tasks
- These allow you to run a script when events are triggered. These can be a system event or on a time schedule.
- New Widgets: Comic Pages, Comic Format, Image Format
Fixed
- {file.Name} / {file.Orig.FileName} variable now it the complete short filename, eg "MyFile.mkv" instead of just "MyFile"
- Added {file.NameNoExtension} / {file.Orig.FileNameNoExtension} for "MyFile"
- FF-235: Track Remover was shown as Audio Track Remover in the Executed Nodes list
- FF-245: Fixed issue with script video scaler not working
Version 0.9.3
New
- Added File count bubbles to the navigation menu to show
- Unprocessed files
- Processing Files
- Failed files
Fixed
- SQLite: Slow Server queries introduced in 0.9.2
Version 0.9.2
New
- Premium: Revision History
- Available for Flows, Libraries, and Dashboards (will extend in a later version)
- This will save every change to these as a past revision allowing you to revert to a specific version or in case of deletion, to restore the deleted item
- MySQL
- Drastically reduced database calls and improved performance
- Logging is now batched. 20 log lines will be written at a time. This does mean logs will be delayed in the "Logs" view until 20 messages have been received. This adds a few seconds to the live view of the logs between updates
- Cache Store: Caching some objects now for up to 1 minute. E.g. processing nodes and executing files. This means for every update from a worker those things do not need to be re-read from the database
- Smarter updating of in-progress files. Only if a change is dedicated will a file be updated in the database. Previously every update from the processing node triggered an update in the DB.
- E.g. a percentage increase that didn't change the File object itself would be updated in the database
- In progress files directly update the database JSON data without needing to read the previous file object and cut the database queries in half.
- Log Page: Scrolls to bottom when going to this page now
- FFmpeg Builder: Subtitle Track Merge now will merge files with the language code in the filename
- Will parse a language code and HI, CC, SDH as well, for example, file.en.hi.srt will have the language set to "English (HI)"
- SQLite: Automatically creates a backup database file on upgrade, e.g. FileFlows-0.9.0.sqlite.backup
- Hold: You can now skip a file from being held
- UI: Datalist now re-selects items during some operations (reverting a revision for example)
- Resources are now loaded with a version number parameter to avoid caching between versions
- Dashboards will now update widgets based on page focus. If the browser page does not have focus some widgets will get updated less frequently (from 10 seconds to 20 seconds)
- Docker now has dotnet installed to /dotnet with chmod 775
Fixed
- Basic dashboard would not refresh the chart
Version 0.9.1
New
- Exposing FFmpeg Builder now to functions/scripts. See documentation for more information
- MySQL: Improved search in Files, now uses stored procedure with fuzzy logic
- FF-101: Video now look for CodecTag and will set on the video object. Video Has Stream can use this to test if a video has a codec tag.
- New Node: Video Extract Audio
- Added support links to forum and discord
- Added a "Scan" button to the "Files" page. This will block and wait for all enabled libraries to scan, then the files list will be reloaded.
Fixed
- Files were constantly being sent to unprocessed after completion if "Reprocess Recreated Files" was set incorrectly
- Open Database Connections widget could not be added
- Cancel New Dashboard would show an error
- Black bar detection would fail on short videos
- If the user script has the same name as a System script the user script will no longer "crash" the scripts from loading, it is now ignored
- Blocked ctrl-s from read-only editors (e.g. the system script editor)
- FF-212: Minor cosmetic log improvement
- Fixed display of "Step 1/2" when the menu was collapsed
- Deleting a flow now refreshes the list (which updates any "In Use" rows)
- Fixed issue with Plex Analyze not working on Windows systems
- Fixed issue with Logging and Temp folder calculation being wrong on dashboard widgets
- Humanizing the "Step" on the dashboard progress widget
- Fixed the time series bottom period chart on the dashboard
- Fixed issue where the language was not always parsed correctly on video audio streams
Version 0.9.0
New
- Premium Feature: Multiple Dashboards
- This moves the System page that was introduced in 0.8.4 into customizable widgets allowing the user to create multiple dashboards to view statistics
- New Widget: Open database connections
- New Widget: Storage Saved
- New Widget: Audio Codecs
- New Widget: Video Codec
- SQLite now keeps statistics for Video Codecs, Audio Codecs, Codecs, Resolution, and Containers.
- Premium Feature: Pre-Execute Script. This allows you to assign a script to a processing node which it will execute before requesting a file to process. If this script returns anything other than 1, the node will not get a file to process.
- Flows types. Flows are now separated into Standard and Failure.
- Can set a default Failure flow. If none is set then no failure flow will be used when a flow fails
- Hold Period added to libraries. This allows you to hold any found files for a configured amount of minutes. These files will not be processed until after that time
- Scripts: Moved out of the database and into a "Scripts" folder.
- System: These are system scripts that cannot be edited and will be recreated each time FileFlows is started
- User: These are user-created scripts
- In Use
- Scripts, Flows, and Plugins now have an in-use indicator and cannot be deleted if in use
- New dialog to show what is using an item
- Database is now using a better connection pool which will wait for a connection instead of failing
- Sleep: New Node add to sleep, and a new Sleep function is exposed in the function nodes/scripts.
- Process is now shown in the window title
- Added ability to enable/disable hardware encoding/decoding in a function/script
Variables.NoNvidia = true
Variables.NoQSV = true
Variables.NoVAAPI = true
Variables.NoAMD = true
- Added Hostname variable to functions/scripts which contains the hostname of the executing node
- First and the last page added to the pager
- Datalist improvements, including shift to multi-select, ctrl to add single, clicking on an item now unselects other and only selects that row (unless shift or control is pressed)
- New worker to update object references, so when you rename a flow that flow is updated in any files and libraries using it
- New script 'NVIDIA - Below Encoder Limit'
- Subtitle Track Merge now has an option to match the filename
- Library: When "Reprocess Recreated Files" is checked, if a file was deleted by a flow and is found again, that file will now be processed again regardless of the creation date.
- Can now use failure flows in the Goto node
- Side menu can now be collapsed
- Added ctrl-s to save a function/script
- Logs now auto-scroll if near the bottom
- Added maximize button to file viewer
- Improved look of toasts
Fixed
- MySQL move to the top wouldn't work if library priority was lower than other files
- FFmpeg Builder: Fixed mapping of streams which could cause the wrong streams to be used in a file
- Fixed issue with final size being zero if external process moved a file before the flow was completed
- Fixed "Subtitle Track Merge" not actually merging the subtitle into the file
- Fixed issue converting 10 bit to 8 bit video when using NVIDIA hardware encoding
- Fixed issue with function node name not being in the executed nodes list if that node name started with an "F"
Version 0.8.4
New
- MySQL is now using a connection pool, a maximum of 50 connections
- Removed the "Open Database Connections" portlet from the System page as this information is no longer available
- Setting to "Recreate Database", if unchecked and the database already exists, no data will be migrated and FileFlows will simply switch to this database.
- Node: FFmpeg Builder:Audio Converter
- Library Option: Skip File Access Tests
- When enabled, the library will not test if the server can read/write to a file before adding it into the system.
- New indicator on the Nodes page if the node and server version mismatches
- New File Status "Missing Library"
- Shown if a file was added into the database and then the Library was deleted
- This allows you to delete these files for reprocessing if a new library with the same path is created
Fixed
- MySQL was ordering unprocessed incorrectly
- Zooming in the Flow Editor would break the multi-select
- Copy/Paste in Flow Editor would capture all copy/paste events and not just when in focus
- Log DB Pruner was not pruning database logs
Version 0.8.3
New
- Flow Editor: Copy and Paste nodes
- Flow Editor: Undo/Redo history
- System Page added (Premium Feature)
- This gives you an overview of the system including Codecs processed, CPU/Memory/Storage/Database statistics, Processing times etc
- Removed "Statistics" page as the System Page page now replaces this
- FFmpeg Builder: Video Codec no longer does a hardware test if a specific hardware encoder is specified.
- E.g. if you use qsv_h264 It will use that codec, it may fail, but it will use that
- If you just use "h264" or "hevc" or "h265" it will continue to do the hardware test
- Server can now install/uninstall a systemd service using --systemd and --systemd --uninstall
- Node can now install a systemd service using --systemd --uninstall
- Server and Node now create an entry point bash script with using systemd and the auto-upgrade process takes place inside that script.
- This fixes the issue with systemd restarting FileFlows while the upgrade is happening and works similar to how the Docker upgrade works
- Whenever the Server or Node is started a new log file will be created with a unique name.
Fixed
- API Page failed to load due to swagger error
- Removed "No File" dashboard portlet
- Fixed issue with loading from localhost
- Bug where "FFmpeg Builder: Subtitle Track Merge" would use the inverse of the selected files, so if you entered "sub" it would use any file but a "sub"
- Renamed "Pattern Replacer" to "Filename Pattern Replacer"
- Music Nodes: Fixed issue where MusicInfo was not updated after the file was processed
- Updated QSV and VAAPI hardware decoding parameters
- Plex Nodes are not able t find the path
- Processing Nodes now default to "Process: All"
- Step 1/2 hints for new installs now show on all screens
- Fixed the "Pause Processing" button on the mobile view
- Log files were created with no .log extension, causing the log cleaner to never delete the old log files
- Misc Cosmetic improvements
Version 0.8.2
New
- Added a "Search" for files. This allows you to search all files and discover any "hidden" files that may have had their library deleted.
- Added an option to remove files when removing a library. This is selected by default
- File viewer now has a link to partial log to view only the selected executed node.
- Logs had to change slightly so this will be imperfect for older processed files.
- Added "Processing Node" to file viewer to show what processing node processed a file
Fixed
- Improved MySQL performance
- FFmpeg Builder: Add Audio Track bitrate now goes up to 2048Kbps
- Fixed issue with scheduling time for workers could be a negative number causing FileFlows to crash on startup
Version 0.8.1
New
- Video Legacy Nodes
- Moved old legacy Video Nodes into a separate plugin
- This plugin will be downloaded if upgrading from an earlier version, not if a clean install
- New "Obsolete" indicator on obsolete nodes in the flow editor. And a warning will be shown if adding one of these nodes to the flow.
- Note: These nodes will eventually be deleted for good, so upgrade your flows.
- Flow Templates updated to use FFmpeg Builder
- Added "Date" to "Files" to show when the file was seen, processed, etc in relative time
- Workers now run at set times instead of [x] minutes since starting.
This change should reduce the load on the CPU
- Database Log Pruner - 5am
- Library File Log Pruner - 5am
- Library Worker
- Every 30 seconds
- On the hour if no libraries are set to "Scan"
- Log Cleaner - 3am
- Plugin Updater - 5am
- Server Auto Updater - 4am
- Telemetry Report - 5am
- Watched Library
- Now uses a Timer than can be stopped/started when a file is added to the load queue
- Will now check known files before adding to the load queue
- When the queue is empty, the timer is stopped. When a file system event adds a new file, the timer is started
- Get Next Library File now returns more information to the processing node to diagnose why nothing is being processed
- Added option to log every request made to the server, this is helpful for debugging and understanding the load on the server
- Updated order of hardware decoders to be: cuda, qsv, dxva2, d3d11va, opencl
- New Node FFmpeg Builder: Metadata Remover
- MySQL: Get Library Files now orders unprocessed by date added to the library
Fixed
- Issue where only the first two processing nodes could be used even if those were not enabled if the system was unlicensed.
- FFmpeg Builder: 10 Bit was using the wrong 10bit pixel format for libx265
- Fixed "Video Has Stream" would always fail on language matches as it was using the codec value to perform the check
Version 0.8.0
New
- External Database Support (MySQL / Maria)
- Library Process Order: As Found (default), Random, Newest, Smallest, Largest
- Enhanced logging, can view and search Server logs and Node logs all from the web console
- "Pause" / "Resume" button now prompts for duration to pause for
- Logging now logs to rolling log files which are kept for a configured amount of days
- Links now have "noreferrer" on them
- WAL mode is now used for SQLite database connections
- Node: FFmpeg Builder: Custom Parameters
- Node: FFmpeg Builder: Video Tag
- Node: FFmpeg Builder: Set Language
- This node was the "FFmpeg Build: Audio Set Language" but has been renamed and extended to support subtitles
- Node: FFmpeg Builder: Track Reorder
- This node was the "FFmpeg Build: Audio Track Reorder" but has been renamed and extended to support subtitles
- Node now looks for additional Environmental variables for settings: NodeMappings, NodeRunnerCount, NodeEnabled
Fixed
- Node: FFmpeg Builder: Video 10 Bit and FFmpeg Builder: Video Encode updated 10 Bit parameters to use p010le
Version 0.7.1
New
- Added "Pause" / "Resume" button. I will extend this with a "Pause for [x] minutes" in a later version.
- Node: Can Use Hardware Encoding
Fixed
- The logging "Log Queue Messages" switch was inversed so when it was on, it was actually off and vice versa.
- Issue with parsing comments in scripts if comment contained a "/" character
- Script output labels not shown in the Flow
- Editor would show the "Pending Changes" prompt if a code editor was previously opened. Eg edit a script, then go to Files and view a file. Closing that side window would cause the prompt to appear
- Floats were not allowed in a number field when should be. This caused the "Video: Has Stream" to fail if trying to set channels to 5.1
- Docker Nodes now have the correct mapping of FFmpeg when registered
Updates
- Documentation now points to the new documentation site https://docs.fileflows.com
Version 0.7.0
New
- Scripts new feature to allow reuse of Javascript function and easily share with other community members
- Library Files are now called "Files" to avoid confusion
- Library Exclusion Filter
- This allows you to exclude files easily from a library
- "Log Queue Messages" setting to reduce excess logging. Turn this on if you're trying to debug why a file is not being detected.
Improvements
- Updated to include FFmpeg 5.0
- Files Paging
- Flows now have a "Duplicate" button
- Internal Processing Node now has constant UID, this avoids the potential issue of it being added more than once
- Plugins all now have constant UID, this avoids the potential issue of them being added more than once
- Fixed memory issue where the .net garbage collector was not running when it should
- Numerous other improvements to reduce memory footprint
Fixed
- Node "Video Has Stream" now works
- Node "FFmpeg Builder: Video Encode" now uses preset "slower" for QSV instead of p6
Version 0.6.2
New
- Flow Runner now sends a "hello" message to the server when processing, to say it's alive, every 5 seconds.
- Worker that will automatically cancel any runners that have not sent an update in 60 seconds.
Improvements
- Moved "Dequeued" messages to debug log
Fixed
- Issue with log file pruner being too aggressive and deleting any log
- Issue when trying to delete a flow connection and the previously selected node was deleted instead
- Issue with "Copy File" node when Server was a Linux server and Node was a Windows Node