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.10
New
FF-1713: New flow element Anime Show LookupFF-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 selectionFF-1798: Added $common
path for DockerModsFF-1800: Added support for TagsFF-1804: Added Hold Minutes
to the Reprocess flow elementFF-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 configurationFF-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
toInitial Configuration
FF-1835: Added comskipini
variable supportFF-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 behaviorFF-1843: A export of a Flow is now saved to disk in the Config/Flows
directory for backupFF-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 updatesFF-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 scriptsFF-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 RemoverFF-1868: New Files reportFF-1870: Added Korean
as a supported languageFF-1871: Added Chinese Traditional
as a supported languageFF-1874: Flow runners attempts to reconnect to web socket if connection is lost FF-1878: New option in FFmpeg Builder: Executor toKeep 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 separatorsFF-1846: Fixed minor cosmetic issue with date picker in file search FF-1849: Removed obsolete FFmpeg Builder: Video 10 Bit
flow elementFF-1850: Removed obsolete FFmpeg Builder: Audio Track Reorder
flow elementFF-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 tryFF-1879: Fixed issue with SetParameter
if parameter already existsFF-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 editorFF-1663: Flow.Execute
now allows for callbacks for standard and error outputFF-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 logFF-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 FolderFF-1766: Added DirectoryEmpty
method to file servicesFF-1768: Video File now has fields forAnalyze Duration
andProbe 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 betterFF-1774: Update Libraries to use String Operations for Filter/Exclusion Filter FF-1775: FFmpeg Builder: Track Sorter updated to use String OperationsFF-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 elementFF-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 AllFF-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 nameFF-1752: Fixed issue setting video track titles and VideoInfo
parser now parses the video title from FFmpegFF-1754: Fixed typo with weekly reports using 71
days instead of7
daysFF-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 missingFF-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
FF-1600: Reprocess and Processing Info dialog created with more options available when (re)processing files FF-1618: Can now Manually Add Files (and URLs) for processingFF-1646: New flow element Shell ScriptFF-1647: New flow element Batch ScriptFF-1648: New flow element PowerShell ScriptFF-1696: Reprocess dialog now has a option to reprocess at the bottom of the queue FF-1697: Can now create Scripts usingBatch
,C#
,PowerShell
andShell
FF-1698: New flow element C# FunctionFF-1699: New String Helper
that provides string operations for flow elements like MatchesFF-1700: Unpack now supports unpackingiso
,dmg
,cue
,img
using 7-ZipFF-1701: Node Pre-Execute now informst he server if it failedFF-1703: New flow element Complete FlowFF-1704: New plugin WebFF-1705: New flow element DownloaderFF-1706: New flow element List IteratorFF-1707: Obsoleted Web Request
in the Basic Plugins and created a new Web Request in the Web PluginFF-1708: New flow element HTML Image ParserFF-1709: New flow element Is ImageFF-1710: New flow element HTML Link ParserFF-1711: New flow element Pixel CheckFF-1714: Files can now have Custom Variables
set to them, and these variables will be loaded into the flow runner when running the fileFF-1715: New flow element Is From LibraryFF-1716: New flow element Input URLFF-1718: New flow element Variable ExistsFF-1719: Made more flow elements available to failure flows FF-1721: New plugin NextcloudFF-1724: New flow element Move FolderFF-1731: New Track Selector
to Audio Add Track that allows the user to specify which track to useFF-1732: New flow element FFmpeg Builder: Audio Convert using track selector and obsoleted oldFFmpeg Builder: Audio Converter
FF-1733: Added variable substitution to the Fail Flow elementFF-1735: TextArea variables now allow any variables
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
FF-1574: New worker to resync library statistics FF-1633: New Feature ReportingFF-1640: Added the ability to Reset LibrariesFF-1649: New flow element Is MacOSFF-1650: New flow element Is WindowsFF-1651: New flow element Is LinuxFF-1652: New flow element Is DockerFF-1662: New flow element Write TextFF-1665: New flow element File Size WithinFF-1666: SQLite now using PRAGMA synchronous=FULL;
FF-1668: New flow element FFmpeg Builder: Set DeviceFF-1674: Logging overhaul, no longer logs to the database, split into multiple log files FF-1680: New flow element File Date CompareFF-1681: New flow element Folder Date CompareFF-1687: Added Title toSubtitle Extractor
FF-1689: Added Count
field to Has Hard LinkFF-1692: Added Top Level Only toLibraries
to only scan files in the root of the folderFF-1694: Adjusted Node Priority to favor processing nodesFF-1695: Now shows failure reason Not allowed to write to path:
if path is protected when using the File Server
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 bitrateFF-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 channelsFF-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 channelsFF-1576: Flow info box in Libraries Page now opens the flow in the flow editorFF-1581: Added {folder.Size}
and{folder.Orig.Size}
variablesFF-1582: File Size now gets the directory size if the working file is a directoryFF-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 stylingFF-1601: Replaced Script Browser
with commonRepository Browser
FF-1602: Added Bitrate Per Channel
to FFmpeg Builder: Audio ConverterFF-1603: Added file
formatter to VariablesFF-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 informationFF-1612: New flow element Set Working FileFF-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 FileFF-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
andDefault
checks to Video Has StreamFF-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 executionFF-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
optionsFF-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 ScriptsFF-1607: Fixed issue with Video Extract Audio incorrectly updating the working fileFF-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 foldersFF-1624: Fixed help link for Filename Pattern ReplacerFF-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 lookupsFF-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
FF-1421: Added parameters to FFmpeg Builder: Set Track Titles for setting video track titlesFF-1514: New feature Docker ModsFF-1516: More options added to FFmpeg Builder: Subtitle Track MergeFF-1519: Rediscovered files now have their hold times updated FF-1520: New flow element Create Comic InfoFF-1521: Added Ensure Top Level
to Comic ConverterFF-1524: Added image convert options to Comic ConverterFF-1525: Added ImageMagick Helper FF-1527: Created new Archive Helper
for plugins to use for common archive functions, updated Basic and Comic to use this.FF-1530: Added more options to Comic ConverterFF-1532: Upgraded Jint to the latest version FF-1535: Added Path
field to Zip which allows for specify which file or folder to zipFF-1536: Improved Image plugin to reuseImageHelper
in the FlowRunner and made more consistent with other flow elementsFF-1538: Updated image templates to work with updated Image flow elements FF-1539: New flow element Directory Iterator that allows to iterate all files in a directory against a sub flowFF-1542: New notification area to reduce notification spam FF-1543: Replaced PDF library used by Comics withImageMagick
FF-1544: Using common email code for sever emails and Email PluginFF-1547: CodeDebt, all code now treats warnings as errors, fixed all warnings. FF-1550: DockerMods no longer run on server startup by default, but can be turned on if needed FF-1559: DockerMods
are now saved to an internal docker directoryFF-1562: Added option to file browser to show hidden files on Linux/MacOS FF-1566: New flow element Video Duration CompareFF-1571: Created a 7-Zip helper that is now used in the Flow Runners Archive Helper FF-1579: Added support for variables to the Additional Files
fields in Copy File and Move FileFF-1580: FFmpeg Builder: Video Encode and FFmpeg Builder: Bitrate Encode now allows the encoder to be specified for AV1
Fixed
FF-1517: Fixed error message if --systemd
did not includeinstall
oruninstall
parameterFF-1523: Fixed SQL error with updating a moved file FF-1526: New library did not show Flows
in alphabetical orderFF-1528: Removed Unzip
flow element as it was obsolete.FF-1529: MacOS packages fail to update FlowRunner
directory when a user downloads a new versionFF-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 vulnerabilityFF-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 flowFF-1549: Fixed Hold Time
for rediscovered filesFF-1552: Fixed Reprocess On Node
not setting the node to process onFF-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 failFF-1554: Fixed Convert Audio
flow elements ignoring fixedBitrate
forMP3
andAAC
FF-1555: Fixed issue extracting multi-part rar files FF-1557: Fixed issue with Matches
flow element having no outputs if using custom nameFF-1558: Fixed issue with dotnet.js
being cached causing the web console to be stuck on loadingFF-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 fieldsFF-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 errorsFF-1578: Fixed duplicate key issue in Pattern Match flow element
Version 24.04
New
FF-1057: Created an Initial Configuration
page which includes an EULA to accept. The EULA must be accepted before FileFlows is fully operationally.FF-1145: TextAreas now support variables, added to Log andWeb Request
FF-1165: New flow element FFmpeg Builder: Bitrate EncodeFF-1218: Libraries can now have the same file FF-1252: New flow element Video Already Processed that tests if a video has already been processed by FileFlowsFF-1304: User security/authentication added FF-1305: Flow and Library Templates are now embedded at compile time as a fall back in case the FileFlows repository cannot be reached FF-1324: Added Status
to File searchFF-1382: Added Reprocess
button to file viewer when a file failed processingFF-1389: Added Automatic
to hardware decoding in FFmpeg Builder: ExecutorFF-1392: Added codec-cc
to use the codecs commercial name to FFmpeg Builder: Set Track TitlesFF-1404: New flow element MatchesFF-1405: Added file.OriginalName
andfolder.OriginalName
variables that are the original/unmapped names of the fileFF-1411: Added Plugins list to initial configuration page FF-1416: Convert to OGG now has option to selectOPUS
orVorbis
FF-1417: Added Before
andAfter
date support in Library File DetectionFF-1420: Added On Hold
to main menu file indicatorsFF-1423: Added Use Folder Name
to TV Episode LookupFF-1428: TV Show Lookup and TV Episode Lookup now ignoreSpecials
folderFF-1429: Added 8-Bit HEVC option to FFmpeg Builder: Video EncodeFF-1438: Create Audio Book now copies metadata from first file into final combined fileFF-1431: Added separate file and folder permissions for Linux Nodes and File Server if server is running on a Linux host FF-1437: Processing Nodes are now load balanced if they have the same priority FF-1439: Added more options to audio converter flow elements FF-1443: New flow element Embed ArtworkFF-1467: Removed Start Minimised
from MacOS for Node applicationFF-1475: New flow element Video Duration that tests a video durationFF-1476: New flow element Genre Matches that tests genres match criteriaFF-1479: Added Access Control for managing IP AccessFF-1480: Added Auditing for any system changes/user eventsFF-1481: Improved FFmpeg Builder: Subtitle Track Merge detectionFF-1485: Upgraded to .NET 8 FF-1488: Added CC
,HI
,SDH
options to FFmpeg Builder: Set Track TitlesFF-1489: Detects database connection loss, displays a database offline error page to the user, and logs a corresponding error message FF-1491: Notifications page addedFF-1493: Can now save images to the File log, FFmpeg Builder: Crop Black Bars now uses this to show black bar detectionFF-1500: Updated the styling of the in progress bars in the files data-list FF-1501: server.config
is now backed up on upgradeFF-1505: Main menu is now adaptive FF-1506: New Command Line interface added to FileFlows server and added command to Copy DatabaseFF-1507: Comic PDF Extractor now tries to read image type from PDF and falls back to JPG if cannot FF-1508: Added variables library.Name
andlibrary.Path
FF-1510: Added ImageHelper
to Node ArgumentsFF-1512: Added Probe Size
to FFmpeg Builder: Executor
Fixed
FF-1032: Removed Nodes
from plugin namesFF-1249: Removed Zoom
fromFlow
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 inversedFF-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 colorFF-1473: Video Extract Audio failed on remote processiing nodesFF-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 filterFF-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 executingTasks
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
andSQL 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
to19200
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 durationFF-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 appFF-1403: Removed Pause link from menu FF-1409: Added new command line argument to set base directory FF-1410: Added Audio Codec
dashboard widgetFF-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 forDutch
inLanguageHelper
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 fileFF-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 formatFF-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 pluginsFF-1452: Fixed MP3 conversions FF-1453: Keep Failed Temp Files
brokenFF-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
FF-1050: Added support for Sub FlowsFF-1158: FFmpeg Builder: Audio Converter now skips conversion if stream already in appropriate foramtFF-1237: FFmpeg Builder: Audio Converter will now skip encoding if not necassaryFF-1241: New flow element Reprocess allows to reprocess a file with a different processing nodeFF-1253: New flow element FFmpeg Builder: Track Sorter adds advanced sorting optionsFF-1254: FFmpeg Builder: Track Reoder
has been markedobsolete
and will be replaced by FFmpeg Builder: Track SorterFF-1255: FFmpeg Builder flow elements now log the entire FFmpeg Builder Model when execution starts, this helps with debugging if a stream was deleted FF-1256: New flow element NFO File CreatorFF-1257: Added extra EXIF parsing in the Image File to read the date an image was taken if availableFF-1259: Added Invert
toggle to Video Has StreamFF-1261: New flow element FFmpeg Builder: Set FPSFF-1263: Added input file to Copy File and Move FileFF-1264: Added Check Deleted
to Video Has StreamFF-1265: Added Title
to FFmpeg Builder: Track SorterFF-1271: Recently Finished
widget now includes mapping issues and failed processing files.FF-1272: New flow element RandomFF-1275: Added Failure Reason
to files if they fail to processFF-1276: Failure Flow addedReason
FF-1277: Apprise, Discord, Email, Gotify, Telegram now support Templates for messagesFF-1279: New flow element Remux To MXFFF-1281: Flow Editor - Flow elements not grouped based on type in tabs FF-1283: Flow Editor - Flow elements are now displayed in an accordion style list FF-1284: Flow Editor - Updated styling FF-1287: Flow Editor now created as an instance and a singleton FF-1289: Flow elements can now define a custom color FF-1291: Flow Editor - Tabs added and can now open multiple flows at once FF-1292: Added Flow.AdditionalInfoRecorder(name, value, steps)
to allow custom information shown on the runners`FF-1294: Copying flow parts now copies their connections FF-1295: Saving a new flow now updates URL and replaces empty GUID FF-1299: Flow Editor - ctrl+dblclick
now opens sub flows in a new tabFF-1302: Added failure reason for could not find tag for codec ttf
FF-1303: Sub flow numbered outputs and input flow parts are now read only FF-1300: Flow Editor - Flow Template Picker now allows you to open existing flows FF-1306: Created Sub Flow Browser
that can load community sub flows from the repositoryFF-1308: 7-Zip now looks for 7-Zip default install location if not configured on Windows.FF-1309: Updated menu bubble styling to match flow editor FF-1314: Removed legacy Basic Dashboard
FF-1318: No hides sub flow elements in the flow editor when editing a non sub flow FF-1321: Opening a sub flow will now automatically open the Flow Properties
FF-1323: Deleting a library and retaining the statistics will always now any file that was not successfully processed FF-1325: Added ability to reprocess an entire library via the libraries context menu FF-1327: Importing/Exporting a sub flow now includes UID of sub flow and will attempt to reuse the UID FF-1329: Added more options to the ProRes flow elementFF-1330: Added PCM
to the FFmpeg Builder: Audio ConverterFF-1332: New flow element Audio Bitrate MatchesFF-1333: File viewer now limits log to 2 megabytes when previewing FF-1336: Added toast message if trying to open a flow that cannot be found FF-1337: Comskip Remove Ads and FFmpeg Builder: Comskip Chapters now has an option to run comskip if no comskip file is foundFF-1338: FFmpeg Builder: Audio Converter now has option to convert based onCodec
FF-1341: Fail Flow is now red. Also updated Telegram, Discord, Gotify, Apprise to use custom colorsFF-1342: Can now drop a flow element onto an existing flow part in the flow editor to replace it FF-1343: Can now drop a flow element onto a flow connection to intersect the connection and connect the new flow part up FF-1345: Increased click zones for input/output connections in flow editor to make it easier to connect parts together FF-1347: New flow element Has Hard LinksFF-1348: Flow parts can now have a custom color set by the user FF-1349: Added extra logging to Meta Nodes lookup flow elementsFF-1350: Upgraded Monaco editor to version 0.32 to support liquid syntax FF-1351: Added support for NodeParameters to render scriban text FF-1352: Added new pause button to navigational menu and a resume button next to side logo FF-1353: New Plugin Pushover allows for sending messages via PushoverFF-1354: New Plugin Pushbullet allows for sending messages via PushbulletFF-1355: Flow elements can now specify a SVG icon to use FF-1356: New flow element Is Processing On Node to test if a flow is executing on a specific processing node.FF-1361: Video File now detects the number of bits from a video FF-1362: New flow element Video is 8-BitFF-1363: New flow element Video is 10-BitFF-1364: New flow element Video is 12-BitFF-1365: New flow element Video Bit CheckFF-1366: Added option to make first track default in FFmpeg Builder: Track SorterFF-1367: Input metadata now available during file processing FF-1369: Update library templates to use extensions instead of complex filters FF-1370: FFmpeg Builder: Video Encode now defaults toMedium
FF-1371: Made the entire flow part a target when drawing a connection FF-1378: Added support for second language German
- thanks to user @SarcasmFF-1379: Added support to modify display name of files in the system via File Display Name ScriptFF-1380: Can now override a System Variable with one in the Flow, e.g. customize the FFmpeg location during the flow FF-1386: New flow element Set VariableFF-1387: Added failure reason if moov atom missing FF-1391: Improved display of local flows in new flow dialog
Fixed
FF-1223: Fixed zooming causing the info box with trash icon display issues FF-1260: Delete Source Folder was incorrectly deleting source directoryFF-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
tableFF-1273: LanguageHelper was missing fre
code forFrench
FF-1278: Fixed time helper not show seconds between 1 and 2 minutes. FF-1285: Flow Editor - now highlights Flows
link instead ofDashboard
when openFF-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 theFlows
pageFF-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 unprocessedFF-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 insensitiveFF-1377: Fixed issue where flow connections could not always be deleted FF-1388: Fixed issue deselecting items in flow editor
Version 24.01
New
FF-1098: QSV AV1 encoding support added to FFmpeg Builder: Video EncodeFF-1110: Added more columns to the Files
pageFF-1155: Music metadata (Artist, Album etc) now included when converting audio files if detected FF-1172: Updated Delete to allow deleting of directoriesFF-1174: Added new File Server to stream files to/from server and the processing nodesFF-1179: Updated Basic Nodes
to work withFile Server
FF-1180: Updated version of FFmpeg with the Windows Installer FF-1182: Windows now has FileFlows.Server.exe and FileFlows.Node.exe to launch FileFlows. FF-1187: Added additional info to processing widget. Can now show FPS
,ETA
,Decoder
,Encoder
,Bitrate
etc for current executing flow elementFF-1189: Updated Video Nodes
to work withFile Server
FF-1190: Updated Image Nodes
to work withFile Server
FF-1192: Created new MappedFileServer
that automatically handles mapping of file system if using mapping instead of local or remote file serverFF-1193: Updated Audio Nodes
to work withFile Server
FF-1194: Added variable replace to the File Services (Local, Mapped, Remote) FF-1195: FFmpeg Builder: Video 10 Bit
has been disabled and will not effect the flow, immediately calls output 1FF-1196: Created FFmpeg Builder: Keep Original Language flow elementFF-1199: Added new output for FailureFF-1201: Added ger
alias for German language to LanguageHelperFF-1202: Added Extensions to LibrariesFF-1203: Added Permissions to the File Server FF-1209: Create Audio Book added options forDelete Source Files
,Update Working File
,Destination Path
FF-1211: FFmpeg Builder: Keep Original Language added option to make original language the defaultFF-1217: Reduce payload of websocket data for updating processing files to improve performance and capped updates to maximum of 2 a second FF-1227: Video Has Errors can now use hardware decoders for testingFF-1233: Added more logging to FFmpeg Builder: Audio ConverterFF-1236: Added chi
as an alias to theLanguageHelper
for ChineseFF-1237: FFmpeg Builder: Executor uses encoding parameters to test hardware decoderFF-1238: FFmpeg Builder: Executor now skips hardware tests for decoder if video is being copiedFF-1240: FFmpeg Builder: Video Encode now tests encoding with the working file to ensure capabilityFF-1242: Added new widget Decoders
to show which decoders are used most oftenFF-1243: Added new widget Encoders
to show which encoders are used most oftenFF-1244: Added new widget Decoder Parameters
to show which decoder parameters are used most oftenFF-1245: Updated API call to clear stats to take a From Date
FF-1248: Decoder Parameters
orders parameters by most used
Fixed
FF-1175: Fixed issue with Audio Normalization aborting flow if failed to normalize FF-1176: Fixed version formatting of Latest
on Plugins pageFF-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 imageFF-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 missingFF-1198: FFmpeg Builder: Executor disable hardware decoding was not workingFF-1200: Fixed issue with method GetSafeName
changing the path if Server is on Linux and Node is on WindowsFF-1204: {ext} variable was missing the leading dot FF-1207: Delete Source Folder failing when not empty regardless of settingsFF-1205: WinExes are now 64 bit and will attempt to look for 64-bit version of dotnet before defaulting to dotnet
path variableFF-1208: Removed /root
from protective path listFF-1212: Fixed issue with Move File withAdditional Files
configured that all files were always being movedFF-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 nameFF-1219: Fixed bug in 7-Zip where it would call 1 instead of -1 (Failure) if the file did not existFF-1221: Restored dot to extensions after File Server changes FF-1222: Fixed issue with VAAPI
and Video scaling would failFF-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 extractingFF-1234: Fixed issue where file.NameNoExtension
as actually the extension onlyFF-1246: FFmpeg Builder: Executor reportedCPU
decoder was used when video stream was copiedFF-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 linesFF-1147: Added 7-Zip flow element to compress files and folders using 7-ZipFF-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 existFF-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 obsoleteFF-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 subittlesFF-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 TouchFF-1157: Added Compression Level to 7-ZipFF-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 PDFsFF-1162: Removed removed single quotes from format=nv12,hwupload
which could cause VAAPI to failFF-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
FF-1138: Created FFmpeg Builder: Prores flow elementFF-1139: Added Codec
toFfmpegStream
modelFF-1140: Updated Subtitle Extractor to support regex inLanguage
fieldFF-1141: Updated Subtitle Extractor with an option to extra all subtitlesFF-1142: Updated Intel drivers in docker container
Fixed
Version 23.10
New
FF-1120: Created Video Has Errors flow elementFF-1124: Added FFmpeg Builder: Set Default Track flow elementFF-1125: Added FFmpeg Builder: Deinterlace flow elementFF-1126: Added more logging to flow runner of current working file and output called for each flow element FF-1127: Added ability for FFmpeg Builder: Add Add Track to specify bitrate per channelFF-1128: Added Video Is Interlaced flow elementFF-1132: Created Gotify Notification
failure flow templateFF-1133: Created Discord Notification
failure flow templateFF-1134: Created Apprise Notification
failure flow templateFF-1135: Created Telegram plugin and new failure flow templateFF-1136: Created Video Resolution flow elementFF-1137: Created Video Bitrate Greater Than flow element
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 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' FF-1103: Improved order of flow templates in New Flow
dialogFF-1104: Added Script Repository
to flow editorFF-1109: Added File Check Interval
to global settings and processing node settingsFF-1119: Added Episode Lookup flow elementFF-1121: Made FFmpeg5 the default ffmpeg
in the docker container, there is now affmpeg6
andffmpeg5
links so users can still use FFmpeg 6 if they like
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 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 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 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
- 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