Skip to main content

Versions

The version number format in FileFlows follows YY.MM.Release, where YY represents the last two digits of the year, MM represents the two digits for the month, and Release indicates the release number for the month. For instance, the first release for a month would be represented as 24.02.1, and subsequent releases within the same month would follow a similar pattern, such as 24.02.2 for the second release.


Version 24.12

New

  • FF-1848: Added Processing Order to Nodes
  • FF-1901: Added IntelliSense to Flow.UnMapPath function for JavaScript
  • FF-1947: Web Request now allows saving JSON response to Variables
  • FF-1949: New function Flow.Fail(reason: string) available for JavaScript
  • FF-1951: Updated library scanning to allow second intervals
  • FF-1959: Removed unnecessary calls from /api/help
  • FF-1960: New flow element Log Variables
  • FF-1962: Variable Match and Variable Exists now work with complex variables
  • FF-1964: Web Request now supports Variables in header fields.
  • FF-1966: Move File and Copy File commands now use a temporary .fftemp file during operations to prevent file system events from prematurely processing the file.
  • FF-1967: Replace Original now updates the working file as expected.
  • FF-1968: Subtitle Track Merge now handles more filenames.
  • FF-1969: Libraries now have an option to disable file system events monitoring.
  • FF-1970: Library file system events now wait until events for a file have stopped for 10 seconds before processing the file.
  • FF-1972: When the system is paused, all scanning and file events are suspended
  • FF-1973: Temp File Cleaner worker now only deletes Runner- directories
  • FF-1974: New setting to disable temporary .fftemp files created during file moving/copying
  • FF-1977: Library watcher now ignores files currently executing with a different extension

Fixed

  • FF-1930: Added failover to address ffplugin: The process cannot access the file issue
  • FF-1952: Fixed issue with FFmpeg Builder: Auto Chapters not using local file
  • FF-1954: Fixed issue with library schedules not working in SQLite
  • FF-1958: Fixed typo in Image flow elements saving img.DateMont instead of img.DateMonth
  • FF-1971: Web Request fixed an issue with form data.
  • FF-1975: Is From Library was printing the wrong library name when not matching

Version 24.11

New

  • FF-1802: New flow element FFmpeg Builder: Subtitle Burn In
  • FF-1892: FFmpeg Builder: Audio Add Track now has ability to set a filter on the new track
  • FF-1893: Watched Libraries completely re-implemented. Remove redundant settings from Libraries
  • FF-1894: Movie Lookup now adjusts the year by plus or minus one to improve matching accuracy.
  • FF-1897: Pattern Replacer now supports variables in the replacement values
  • FF-1899: Nodes can now have custom icons
  • FF-1904: New feature Resources
  • FF-1905: New flow element File Name Matches
  • FF-1906: New flow element Log Image
  • FF-1907: Added git to the Docker container
  • FF-1908: DockerMods can now be ordered
  • FF-1912: Double clicking a runner in the dashboard now opens the viewer
  • FF-1914: New Plugin Docker
  • FF-1916: Can now upload files to be manually processed
  • FF-1917: SetWorkingFile now allows customer prefixes, eg nc: could be used to indicate a file in Nextcloud
  • FF-1918: SQLite now uses new connection by default
  • FF-1920: Initial configuration now limits DockerMods to 8
  • FF-1921: String Operations now defaults to contains
  • FF-1925: Increased intervals for Crop Black Bars on longer videos.
  • FF-1927: Folder libraries can now use the Downloads Directory
  • FF-1931: Reduced logging for certain non-critical workers to improve clarity
  • FF-1933: Watched libraries now perform file access checks after confirming the file does not exists in FileFlows
  • FF-1934: The Subtitle Extractor now supports .ass subtitle format
  • FF-1937: Library scanning now defaults to a 3-hour interval
  • FF-1938: The Manually Added library can now be edited to adjust maximum runners and processing priority
  • FF-1939: Improved error reporting for remote file service failures due to missing paths in the Allowed Paths configuration

Fixed

  • FF-1722: Fixed issue with clearing statistics via the API.
  • FF-1919: Download Plugin call now opens plugin file with no locks when sending configuration to node
  • FF-1851: Added special case for 8.0 and 6.0 to be 7.1 and 5.1 in FFmpeg Builder: Set Track Titles
  • FF-1911: Stable builds now update regular Docker tags
  • FF-1922: Fixed DockerMods from failing to be saved on clean installs
  • FF-1923: Fixed potential issue where the Manual Library could initialize a watched library instance.
  • FF-1924: Fixed startup issue related to Collection was modified.
  • FF-1926: Variable replacement now retains the original string if no replacements are found.
  • FF-1929: Removed Flows from Additional in library files, as it was unused and could cause a Data too long error.
  • FF-1935: Fixed error in XYChart generation
  • FF-1936: Fixed a logged error when finishing manually added files that lacked an associated library in the database.
  • FF-1941: Fixed crash in WaitForFileAccess
  • FF-1942: Removed system statistic worker as it was no longer used
  • FF-1943: Fixed missing names for manually added files on dashboard
  • FF-1945: Fixed an issue with SQLite and memory cache that caused the Out of Schedule list to always appear empty.
  • FF-1948: Resolved a reversed comparison logic in the Language Remover feature.
  • FF-1953: Fixed an issue with on hold files never leaing on hold

Version 24.10

New

  • FF-1713: New flow element Anime Show Lookup
  • FF-1744: Added ability to cancel a flow when the file is downloading from the File Server
  • FF-1785: Obsoleted old FFmpeg Builder: Track Remover and replaced with a new one supporting the track selection
  • FF-1798: Added $common path for DockerMods
  • FF-1800: Added support for Tags
  • FF-1804: Added Hold Minutes to the Reprocess flow element
  • FF-1815: Added inverse (!) operator to LanguageHelper.Matches
  • FF-1817: Added Spanish language support
  • FF-1818: Added Portuguese language support
  • FF-1819: Added French language support
  • FF-1823: Added Language to the initial configuration
  • FF-1824: Added Italian language support
  • FF-1825: Added Japanese language support
  • FF-1826: Added Dutch language support
  • FF-1827: Added Russian language support
  • FF-1828: Added Swedish language support
  • FF-1829: Added Chinese/Mandarin language support
  • FF-1831: Added Runners to Initial Configuration
  • FF-1835: Added comskipini variable support
  • FF-1836: Added root parameter to systemd service install/uninstall
  • FF-1840: New Dashboard and app redesign
  • FF-1841: SQLite connection now uses memory cache for all Files operations drastically reducing calls to SQLite and speed improvements.
  • FF-1841: New SQLite (Non-Cached) database type created which is the old behavior
  • FF-1843: A export of a Flow is now saved to disk in the Config/Flows directory for backup
  • FF-1852: File Viewer now shows a visual Executed Flow Elements
  • FF-1853: New dashboard library savings are now cached and using client service to reduce additional network calls
  • FF-1855: New dashboard removes Updates when there are no longer any updates
  • FF-1859: No longer can collapse or have to expand runners on new dashboard, if there's extra information to show, it will be shown
  • FF-1860: Added File Display Name as a script option to system scripts
  • FF-1863: Various tweaks and improvements to new dashboard, a lot of tweaks when viewed on a mobile device.
  • FF-1865: Create new flow element FFmpeg Builder: Language Remover
  • FF-1868: New Files report
  • FF-1870: Added Korean as a supported language
  • FF-1871: Added Chinese Traditional as a supported language
  • FF-1874: Flow runners attempts to reconnect to web socket if connection is lost
  • FF-1878: New option in FFmpeg Builder: Executor to Keep Model
  • FF-1883: Added ability to duplicate Libraries
  • FF-1886: New flow element Create Thumbnail

Fixed

  • FF-1760: Fixed issue setting node during reprocessing had no effect
  • FF-1801: Fixed DockerMods did not allow spaces in names
  • FF-1816: Web Console Language is ignored
  • FF-1821: ScribanRender does not support the time variables
  • FF-1830: Fixed issue with scripts breaking failing to parse UID
  • FF-1833: Fixed issue with comic converting and sub folders in the comic archives
  • FF-1837: Fixed issue with file system events in a library ignoring top level only requirement.
  • FF-1839: Fixed an issue where {temp} variable was being cleaned and removing directory separators
  • FF-1846: Fixed minor cosmetic issue with date picker in file search
  • FF-1849: Removed obsolete FFmpeg Builder: Video 10 Bit flow element
  • FF-1850: Removed obsolete FFmpeg Builder: Audio Track Reorder flow element
  • FF-1858: New dashboard can now cancel a runner
  • FF-1861: Fixed issue releasing a held file when using the cached SQLite connector
  • FF-1862: Fixed issue with cached SQLite connections ignoring forced processing flag
  • FF-1864: Fixed issue causing files to be copied multiple times
  • FF-1867: Manual Library removed from watched libraries.
  • FF-1868: Fixed blue button issue on mobile Safari
  • FF-1873: Disabled libraries are now no longer watched
  • FF-1876: Fixed TV Episode lookup with space between season and episode number
  • FF-1877: Added 3 retries of Input/output error as seen on Macs when copying/moving files, with a 30 second wait between each try
  • FF-1879: Fixed issue with SetParameter if parameter already exists
  • FF-1880: Cleaned up CPU/GPU info
  • FF-1881: Reprocessing a manually added file would clear the Flow
  • FF-1885: Fixed issue with dates using wrong culture in SQLite
  • FF-1887: Fixed issue with log viewer when log file had a .
  • FF-1890: Fixed issue with Tags not loading

Version 24.09

New

  • FF-1653: Removed Import button from shared scripts editor
  • FF-1663: Flow.Execute now allows for callbacks for standard and error output
  • FF-1664: Added ability to override script parameters
  • FF-1729: Updated Variable Match to use a combobox and support any variable.
  • FF-1738: New build system which runs the unit tests at build time for more stable releases
  • FF-1740: SQLite connection are now new connections per SQL query/command. The connection is then closed afterwards.
  • FF-1745: When adding/converting AC3 audio in the FFmpeg Builder, the channels are now maxed at 6
  • FF-1742: Has Hard Link has now been updated for Mac/Linux to subtract one, this test is for additional hard links as all files on Mac/Linux have one hard link
  • FF-1753: Added dynamicrange to title formatter
  • FF-1758: PGID in docker now allow multiple groups to be defined separated by semicolon (;)
  • FF-1761: Docker now captures startup.log file from the entrypoint .sh file and writes it to the main FileFlows log
  • FF-1762: New SQLite database type SQLite (New Connection) which create a new connection for each query and closes it afterwards.
  • FF-1763: Added numchannels track title formatter
  • FF-1765: Added Top Most Only to Delete Source Folder
  • FF-1766: Added DirectoryEmpty method to file services
  • FF-1768: Video File now has fields for Analyze Duration and Probe Size
  • FF-1769: Variable replacements in strings now supports complex objects
  • FF-1770: String Operations now detect regular expression between / and /, e.g /abc/
  • FF-1771: Updated Video Has Stream to work with original language better
  • FF-1774: Update Libraries to use String Operations for Filter/Exclusion Filter
  • FF-1775: FFmpeg Builder: Track Sorter updated to use String Operations
  • FF-1779: Updated Track Selector Flow Element to use common String, Math and Language helpers for filtering
  • FF-1782: Update TV Show lookup to work with season folders
  • FF-1783: TV Episode lookup failing if the has an apostrophe
  • FF-1784: Movie Lookup replace "Ae" with "Ä" if german and no matches found
  • FF-1786: Improved date parse of audio info of dates yyyyMMdd
  • FF-1787: Add a total run time of a flow to a variable via {time.processing}
  • FF-1795: Added FFmpeg Builder: Aspect Ratio flow element
  • FF-1796: Added database validator to ensure table columns exist on startup
  • FF-1797: New flow template Create Audio Book
  • FF-1805: New flow element Matches All
  • FF-1810: Added video.FPS as a Video Variable

Fixed

  • FF-1730: Improved variable input component / text field
  • FF-1741: Fixed issue with SSL github issue preventing startup
  • FF-1748: Improved help text for Keep Original Language
  • FF-1749: Fixed issue with Video Has Stream failing when no channels were set
  • FF-1751: Fixed issue with TV show lookup failing if {tvdb-123} or similar were in the folder name
  • FF-1752: Fixed issue setting video track titles and VideoInfo parser now parses the video title from FFmpeg
  • FF-1754: Fixed typo with weekly reports using 71 days instead of 7 days
  • FF-1755: Fixed issue where script output was null
  • FF-1756: Fixed issue with TResult cast error in Replace Original flow element
  • FF-1757: Fixed issue with missing library templates on clean installs
  • FF-1759: Fixed issue with Float inputs not rendering
  • FF-1767: report-font.ttf was missing
  • FF-1772: Removed tolerance from >, <, >=, <= checks and fixed (not) between checks
  • FF-1776: Fixed missing database types
  • FF-1780: Flow runner should fail a file if the temporary directory cannot be created
  • FF-1791: Fixed issue processing duplicate files and wrote auto test to ensure doesn't break again
  • FF-1807: Fixed bug with top level only on libraries being ignored/not checked
  • FF-1811: Fixing blocking issue with reading audio information
  • FF-1813: FFmpeg Builder: Set Language setting variable name not value

Version 24.08

New

Fixed

  • FF-1723: Fixed removing video title metadata when copying the video stream
  • FF-1725: Renamed Directory Iterator to Folder Iterator
  • FF-1726: Renamed Directory Date Compare to Folder Date Compare
  • FF-1736: Fixed issue with max runners
  • FF-1737: Fixed bug in matches
  • FF-1739: Add Audio Track falling back to best audio when using custom source selection

Version 24.07

New

Fixed

  • FF-1661: Fixed has hardlink returning false if there is only one hard link
  • FF-1667: Convert Audio flow elements not using AAC High Efficiency when using fixed bitrate
  • FF-1669: Fixed Variables being sent to/from Script executor as JsonElements
  • FF-1671: Fixed issue with ImageMagic PDF extracted
  • FF-1673: Fixed illegal character error if comment appeared after return statement when validating a Function.
  • FF-1675: Fixed maximum Library Runners
  • FF-1676: Adaptive AAC high efficiency
  • FF-1677: Forcing encode if default original language has changes
  • FF-1678: Fixed Object Reference Updater SQL for Postgres
  • FF-1679: Fixed issue reading metadata in WAV files
  • FF-1684: PDF extraction failing on files with spaces
  • FF-1685: UI Freezing when registering Node
  • FF-1686: Fixed runner incorrectly reported as disconnected
  • FF-1688: Fixed FFmpeg Builder: Audio Normalization when file name has {
  • FF-1691: Fixed FFmpeg Builder: Audio Converter losing channels
  • FF-1693: Fixed issue validating scripts with // in the code

Version 24.06

New

  • FF-1511: Scripts are now stored in the database for easier backup/management
  • FF-1519: Video Has Stream now uses Math Value input for channels
  • FF-1576: Flow info box in Libraries Page now opens the flow in the flow editor
  • FF-1581: Added {folder.Size} and {folder.Orig.Size} variables
  • FF-1582: File Size now gets the directory size if the working file is a directory
  • FF-1586: File Browser and Library templates now use the users home directory
  • FF-1589: Added timeouts to ffmpeg/ffprobe to Audio File read info
  • FF-1596: JavaScript code is now validated via syntax vs execution
  • FF-1599: Tasks can now be disabled and updated page styling
  • FF-1601: Replaced Script Browser with common Repository Browser
  • FF-1602: Added Bitrate Per Channel to FFmpeg Builder: Audio Converter
  • FF-1603: Added file formatter to Variables
  • FF-1606: Updating repository scripts now updates their names
  • FF-1610: Reduced time between each file starting to improve efficiency, see Delay Between Files for more information
  • FF-1612: New flow element Set Working File
  • FF-1614: Always show the copy button on the flow element editor to copy the fields strong name
  • FF-1615: Common code now to move/copy additional files used by Copy File and Move File
  • FF-1619: New Math Helper available to all plugins
  • FF-1620: New Math Value input
  • FF-1621: Strong link copy icon only shown when label is hovered
  • FF-1622: Flow Runner no longer static
  • FF-1625: Added an option to skip database backups on upgrade for external databases
  • FF-1628: Shared scripts can now be edited
  • FF-1629: New string trimmer filter which trims all strings sent to the server
  • FF-1631: Added Forced and Default checks to Video Has Stream
  • FF-1637: Added library template for Folders
  • FF-1639: Added density option to extracting PDF images using ImageMagick to improve quality
  • FF-1655: LanguageHelper now passed into script execution
  • FF-1659: Improved parsing of dates in TV Lookup

Fixed

  • FF-1565: Fixed issue deleting flow connections
  • FF-1590: Library Max Runners was not enforced
  • FF-1593: Made it clearer when a script was read-only
  • FF-1594: Fixed issue with toasts not being translated
  • FF-1595: Node's now only show System scripts for the Pre-Execute Script options
  • FF-1597: Fixed issue with Script dialog z-index in the Flow editor
  • FF-1604: Fixed issue export scripts when using user security
  • FF-1605: Removed the Import button from read-only Scripts
  • FF-1607: Fixed issue with Video Extract Audio incorrectly updating the working file
  • FF-1608: DockerMods in initial configuration could be empty
  • FF-1611: Fixed Function templates being empty
  • FF-1613: Fixed issue with flow field default values not binding if JsonElement types
  • FF-1617: Fixed missing library templates on Windows systems.
  • FF-1623: Fixed Delete Source Folder when processing folders
  • FF-1624: Fixed help link for Filename Pattern Replacer
  • FF-1626: Fixed issue with DockerMods and carriage return line feed line endings.
  • FF-1627: Fixed issue updating bound data to the InputKeyValue control which caused duplicates to appear in when copying node mappings
  • FF-1630: Fixed issue with database backups of external databases not copying the version into the FileFlows table
  • FF-1634: Fixed error with collection modified preventing a file from starting
  • FF-1635: Fixed issue canceling notification flow element editor
  • FF-1638: Fixed issue with Folder.Size variables always reporting 0
  • FF-1641: Fixed issue saving folder permissions on internal processing node
  • FF-1642: Fixed issue editing a script multiple times effects the in memory code
  • FF-1643: Renamed delete button to Remove on file search page
  • FF-1645: Script executor now converts JsonElement values to primitive types
  • FF-1656: Fixed Meta flow elements using working file instead of original library file name for lookups
  • FF-1657: Turned off publish trimmed on plugins to fix JSON errors
  • FF-1658: Removed sort by name in movie lookups
  • FF-1660: Fixed missing intellisense for Sleep command

Version 24.05

New

Fixed

  • FF-1517: Fixed error message if --systemd did not include install or uninstall parameter
  • FF-1523: Fixed SQL error with updating a moved file
  • FF-1526: New library did not show Flows in alphabetical order
  • FF-1528: Removed Unzip flow element as it was obsolete.
  • FF-1529: MacOS packages fail to update FlowRunner directory when a user downloads a new version
  • FF-1533: Fixed issue with higher priority node preventing lower priority node from executing a file when higher priority could not process the library
  • FF-1537: Updated Npgsql package due to a discovered vulnerability
  • FF-1540: Fixed folder permissions issues with parent folders not being set correctly when created
  • FF-1541: Fixed Menu cutting off bubbles when viewed from mobile
  • FF-1546: Fixed DockerMods being blank in initial configuration
  • FF-1548: Fixed issue with Unpack not logging an unpack failure and continuing the flow
  • FF-1549: Fixed Hold Time for rediscovered files
  • FF-1552: Fixed Reprocess On Node not setting the node to process on
  • FF-1553: If Error submitting a packet to the muxer appears more than 10 times in FFmpeg video encode, the process will be aborted and now fail
  • FF-1554: Fixed Convert Audio flow elements ignoring fixed Bitrate for MP3 and AAC
  • FF-1555: Fixed issue extracting multi-part rar files
  • FF-1557: Fixed issue with Matches flow element having no outputs if using custom name
  • FF-1558: Fixed issue with dotnet.js being cached causing the web console to be stuck on loading
  • FF-1560: Fixed z-index issue with flow element list
  • FF-1563: When a file starts processing the initial size is now recalculated and saved
  • FF-1569: Fixed issue with template flow elements having their templates cleared
  • FF-1570: Fixed issue with ArchiveHelper flattening extracted files
  • FF-1572: Rearranged the FFmpeg Builder: Track Remover fields
  • FF-1573: Fixed InputNumber setting max to 0 and flow element editor not properly binding to float values
  • FF-1575: Tweaked the responsiveness of the main menu
  • FF-1577: Fixed Video Has Errors not detecting all errors
  • FF-1578: Fixed duplicate key issue in Pattern Match flow element

Version 24.04

New

Fixed

  • FF-1032: Removed Nodes from plugin names
  • FF-1249: Removed Zoom from Flow page from Firefox, will be fixed in a later release by a redesign.
  • FF-1406: Fixed issue with variables disappearing from Flow when reloading
  • FF-1413: Fixed Video Bitrate Greater Than check was inversed
  • FF-1426: Fixed issue when Library detection as set to Between
  • FF-1463: Updated obsolete message for obsolete flow elements
  • FF-1464: Fixed issue with deleted then restored plugins
  • FF-1466: Flow names were not updated in libraries when changed
  • FF-1468: DateTimes in the log page were in UTC time
  • FF-1469: Fixed issue on Dashboard where Internal Node could appear offline
  • FF-1470: Nodes page Possibly Disconnected used wrong color
  • FF-1473: Video Extract Audio failed on remote processiing nodes
  • FF-1484: Fixed Metadata not parsing TV show titles correctly
  • FF-1490: If exit code from runner is an invalid file status, the file is now marked as failed
  • FF-1495: Fixed Logo size issue when menu was collapsed
  • FF-1496: Fixed issue with remote file server setting file permissions to 000
  • FF-1497: Fixed issue with token expiring showing as minutes
  • FF-1498: Fixed Include Higher Severity not working in the log filter
  • FF-1499: Fixed issue with a deleted file staying the process queue until it times out
  • FF-1502: Fixed load balancing limited to one file if a load balanced node had a version mismatch
  • FF-1503: FileFlows Token is now pass in as a Variable when executing Tasks
  • FF-1504: Fixed issue updating plugins whose name changed
  • FF-1509: Fixed styling issue with dashboard selector
  • FF-1513: Fixed issue canceling file on Files page

Version 24.03

New

  • FF-1017: Dates are now stored in UTC in the database.
  • FF-1185: Data layer overhauled, massive refactor of all database code. Added support for Postgres and SQL Server.
  • FF-1171: Files are no longer stored in memory and read from the database when needed.
  • FF-1188: Statistics are now cached in memory.
  • FF-1315: New standalone application for Windows, Mac and Linux (powered by Photino.net)
  • FF-1326: File stats are now recorded in the stats table.
  • FF-1368: Changed server port default from 5000 to 19200
  • FF-1384: New flow element FFmpeg Builder: Watermark allows for adding a water mark to a video file.
  • FF-1393: New flow element FFmpeg Builder: Duration Start that allows a user to set the start time of a video and it's duration
  • FF-1394: New input field for time spans HH:mm:ss
  • FF-1395: New input field for unit or percent number fields
  • FF-1400: Changed --no-gui to --gui to default to console app
  • FF-1403: Removed Pause link from menu
  • FF-1409: Added new command line argument to set base directory
  • FF-1410: Added Audio Codec dashboard widget
  • FF-1415: Automatically repair default variables if failed to decrypt.
  • FF-1419: Blazor errors are now hidden.
  • FF-1427: Executing files no longer update the database while executing, only at start and end.
  • FF-1429: Statistics are now bucketed together instead of individual entries for each statistic.
  • FF-1432: New Widget Current Revision.
  • FF-1433: Redesigned Nodes page.
  • FF-1435: Redesigned Files page.
  • FF-1434: Docker base updated to mantic.
  • FF-1435: Redesigned additional pages.
  • FF-1447: Added dut as alias for Dutch in LanguageHelper
  • FF-1462: Check Now for updates on settings page now prompts to install update

Fixed

  • FF-1359: Fixed issue with Read Video Info not using the local file
  • FF-1385: Fixed issue with canceling a flow setting status to processed.
  • FF-1397: Fixed issue with preserve dates in Copy/Move flow elements
  • FF-1401: Fixed issue with telemetry confirm prompt always showing on settings page load.
  • FF-1402: Safari improvements, removed banners saying unsupported browser
  • FF-1407: Fixed issue parsing TV string.
  • FF-1412: Fixed issue with database migrations
  • FF-1417: Temporary file cleaner now checks if flow runner is still running before deleting temporary directory
  • FF-1436: Minimal UI not starting the web server.
  • FF-1440: Fixed notification plugin templates
  • FF-1441: Fixed library sorting
  • FF-1449: Fixed library statistics incorrectly calculated on upgrade from 24.03.1
  • FF-1448: Removing files from database with missing libraries on upgrade from 24.03.1
  • FF-1446: Upgrade from 24.03.1 if file exists dates are re-read from those files in UTC format
  • FF-1450: Plex now lower cases and uses invariant culture for lookups
  • FF-1455: Fixed issue after 24.03.3 upgrade where plugins page failed to render any plugins
  • FF-1452: Fixed MP3 conversions
  • FF-1453: Keep Failed Temp Files broken
  • FF-1454: Move File was not removing missing variables
  • FF-1456: Fixed Server auto update on Windows
  • FF-1457: Move to top not working
  • FF-1458: Upgrade code to delete library files with missing libraries
  • FF-1460: Plugin settings would not increment configuration revision number
  • FF-1461: Fixed issue with plugin settings being lost on upgrade from 24.03.3 upgrade

Version 24.02

New

Fixed

  • FF-1223: Fixed zooming causing the info box with trash icon display issues
  • FF-1260: Delete Source Folder was incorrectly deleting source directory
  • FF-1262: Unmapped files were trying to use file server when not available causing files to fail instead of result in unmapped result
  • FF-1268: Fixed issue where some failed flows would be missing the Executed Flow Parts table
  • FF-1273: LanguageHelper was missing fre code for French
  • FF-1278: Fixed time helper not show seconds between 1 and 2 minutes.
  • FF-1285: Flow Editor - now highlights Flows link instead of Dashboard when open
  • FF-1301: Flow Template Picker now gracefully handles an issue connecting to GitHub for the flow templates
  • FF-1307: Fixed issue with flow tab action buttons hidden when many flows were opened
  • FF-1311: Failure connections incorrectly styled
  • FF-1313: Fixed Sub Flows tab was missing on the Flows page
  • FF-1317: Track sorter now correctly sets the first tracks as default
  • FF-1319: When renaming a flow part the height is now recalculated in the flow editor
  • FF-1320: Fixed issue deleting sub flow outputs from the properties editor
  • FF-1328: Fixed scroll bars display on Windows machines
  • FF-1331: Failure Reason is being cleared when a file is reprocessed now
  • FF-1335: Fixed Execute Flow element appearing in log causing a double up
  • FF-1339: Process runner buttons now only appear on hover and block information to avoid overlapping text
  • FF-1340: Flow element filter was not matching if a space was in the filter text
  • FF-1344: Local File Service no longer checks for system directories only the internal File Service controller used by the remote file service now checks
  • FF-1345: Selected Reprocess on a library would mark all files in memory as unprocessed
  • FF-1357: Fixed issue with mapping issue files appearing under failed instead of their own tab
  • FF-1372: Flow part editor was not showing additional field information when fields tab was active
  • FF-1373: Fixed issue using paste in flow editor
  • FF-1374: Fixed issue binding sub flow field values to flow parts
  • FF-1375: The Pattern Match was not case insensitive
  • FF-1377: Fixed issue where flow connections could not always be deleted
  • FF-1388: Fixed issue deselecting items in flow editor

Version 24.01

New

Fixed

  • FF-1175: Fixed issue with Audio Normalization aborting flow if failed to normalize
  • FF-1176: Fixed version formatting of Latest on Plugins page
  • FF-1178: Fixed issue with reprocessed files retaining some of the previous information while processing
  • FF-1181: Fixed failed files were missing file information
  • FF-1183: Fixed missing ffprobe from docker image
  • FF-1184: Updating configuration for a Node now updates the configuration revision
  • FF-1197: Fixed FileService being null when flow starts causing some variables to be missing
  • FF-1198: FFmpeg Builder: Executor disable hardware decoding was not working
  • FF-1200: Fixed issue with method GetSafeName changing the path if Server is on Linux and Node is on Windows
  • FF-1204: {ext} variable was missing the leading dot
  • FF-1207: Delete Source Folder failing when not empty regardless of settings
  • FF-1205: WinExes are now 64 bit and will attempt to look for 64-bit version of dotnet before defaulting to dotnet path variable
  • FF-1208: Removed /root from protective path list
  • FF-1212: Fixed issue with Move File with Additional Files configured that all files were always being moved
  • FF-1213: Fixed issue deleting failure flow output connection
  • FF-1214: Fixed issue expanding the flow element editor - FF-1215: Fixed issue with {folder.Orig.Name} being the parent folder name instead of actual folder name
  • FF-1219: Fixed bug in 7-Zip where it would call 1 instead of -1 (Failure) if the file did not exist
  • FF-1221: Restored dot to extensions after File Server changes
  • FF-1222: Fixed issue with VAAPI and Video scaling would fail
  • FF-1224: Fixed issue with VAAPI encoding/decoding
  • FF-1226: Fixed mobile view of flow runners
  • FF-1228: Fixed hardware decoder tests to be much faster
  • FF-1230: Removed trailing space from {file.NameNoExtension}
  • FF-1232: Fixed issue with Subtitle Extractor not using local file for extracting
  • FF-1234: Fixed issue where file.NameNoExtension as actually the extension only
  • FF-1246: FFmpeg Builder: Executor reported CPU decoder was used when video stream was copied
  • FF-1247: Fixed FileHelper.ChangeExtension where it was adding an extra dot to the changed extension which could effect Replace Original

Version 23.12

New

  • FF-1144: Discord flow element now replaces \n and \r\n with new lines
  • FF-1147: Added 7-Zip flow element to compress files and folders using 7-Zip
  • FF-1149: Added option to audio convert flow elements to skip if codec was the same
  • FF-1151: Touch now creates the file if it does not exist
  • FF-1152: When converting DTS or EAC3 audio in the FFmpeg Builder Audio flow elements, it now computes the exact channel number
  • FF-1154: Caching license in memory to avoid decoding/parsing it every time it is checked
  • FF-1163: Marked FFmpeg Builder: Video 10 Bit as obsolete
  • FF-1167: Docker image is now using latest FFmpeg 6 from Jellyfin, removed FFmpeg 5 from image
  • FF-1166: FFmpeg Builder: Subtitle Track Merge now use ISO-2 language code for merged subittles
  • FF-1168: FFmpeg Builder Executor now automatically uses same decoder as encoder if encoder is QSV or NVIDIA
  • FF-1170: Added mkvtoolnix to docker image

Fixed

  • FF-1156: Added extra logging to Touch
  • FF-1157: Added Compression Level to 7-Zip
  • FF-1160: Fixed issue with FFmpeg Builder Add Audio Track and Convert Audio creating audio tracks in stereo when channels were not detected
  • FF-1161: Fixed issue with Comic Nodes plugin not including libraries for Linux and OSX for unpacking PDFs
  • FF-1162: Removed removed single quotes from format=nv12,hwupload which could cause VAAPI to fail
  • FF-1164: Fixed various issues with QSV not working with FFmpeg 6
  • FF-1169: Add :v to -global_quality for video streams

Version 23.11

New

Fixed

  • FF-1143: Fixed issue with Move File where the Additional Files would not be moved

Version 23.10

New

Fixed

  • FF-1130: Fixed rare issue with humanizer formatting dates/times
  • FF-1131: Added Failure Flow to templates and fixed new Flow dialog to show failure templates when creating a new failure flow

Version 23.09

New

  • FF-1099: Advanced dashboard Default Dashboard is now free for everyone
  • FF-1087: Added ability to edit a Script from the Tasks page
  • FF-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 and OPUS to Convert Video template and also fixed issue with HEVC not binding
  • FF-1105: New Script 'Delete Rogue UNPACK Directories'
  • FF-1106: New Script 'Add MKV Extension'
  • FF-1103: Improved order of flow templates in New Flow dialog
  • FF-1104: Added Script Repository to flow editor
  • FF-1109: Added File Check Interval to global settings and processing node settings
  • FF-1119: Added Episode Lookup flow element
  • FF-1121: Made FFmpeg5 the default ffmpeg in the docker container, there is now a ffmpeg6 and ffmpeg5 links so users can still use FFmpeg 6 if they like

Fixed

  • FF-1092: Fixed placement of Processing Nodes widget on mobile on default dashboard
  • FF-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 nodes
  • FF-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 Jellyfin's 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 Flows
  • FF-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 Encode
  • FF-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 the New Flow Wizard
  • FF-1061: Created If String, If Boolean, Output Path flow elements which can be used in templates to make templating easier
  • FF-1059: Executor now uses variables for Working Directory and File 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 Encode
  • FF-1064: Added API call to clear statistics
  • FF-1068: Added Same as source to bitrate when adding or converting audio tracks in FFmpeg Builder
  • FF-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 Lookup
  • FF-1084: Updated FFmpeg Builder: Set Language to use variables for language
  • FF-1075: Added Disable Hardware flow elements and update FFmpeg Builder: Video Encode to allow for a specific encoder to be used
  • FF-1085: Added option to FFmpeg Builder: Remux to MP4 to use HVC1 for better Apple playback support
  • FF-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 reprocessed
  • FF-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 new Processing Nodes widget
  • FF-1089: Added Help to plugin Settings and About
  • FF-1003: Added Max Runners to Libraries to limit how many runners can process files from specific libraries at any one time
  • FF-1090: Restyled the scrollbar

Fixed

  • FF-1047: Fixed FFmpeg Builder: Audio Add Track help link
  • FF-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 screens
  • FF-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

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 channels
  • FF-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 files
  • FF-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 flow element was the "FFmpeg Build: Audio Set Language" but has been renamed and extended to support subtitles
  • Node: FFmpeg Builder: Track Reorder
    • This flow element 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


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


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