This file lists all of the changes made for each release of the Digital
Distortion File Lister.

Revision History (change log)
=============================
Version  Date         Description
-------  ----         -----------
2.28b    2025-02-27   Formatting improvement for the traditional (non-lightbar)
                      user interface for some long descriptions using ANSI to
                      make them look better (removal of cursor movement codes
                      and expanding newlines).
                      Internal change: Refactored the way the settings and
                      colors are structured in the code. No functional change.
2.28a    2025-02-25   Fix for long filename color support when used in the
                      description for some edge cases.
                      The setting useFilenameIfNoDescription changed to
                      useFilenameIfShortDescriptionEmpty.
                      New setting: filenameInExtendedDescription
2.28     2025-02-22   If extended descriptions are enabled and a filename is
                      too long to fully fit in the menu, prepend the full
                      filename (wrapped) to the description.
                      New color theme option: filenameInDesc
                      New bottom line menu option to toggle extended
                      descriptions on/off
                      Fix: useFilenameIfNoDescription option now used in
                      traditional (non-lightbar) mode.
2.27     2025-02-20   Now optionally displays the number of files in the
                      directory in the header at the top of the list,
                      configurable with the displayNumFilesInHeader option in
                      the config file
2.26     2024-12-27   New configuration setting: useFilenameIfNoDescription -
                      If a file's description is empty, show its filename in the
                      list instead
2.25c    2024-12-08   Bug fix for trying to use 'desc' in file metadata and not
                      checking whether it's defined.
2.25b    2024-11-24   When editing file information, check whether cost and
                      times_downloaded exist in the metadata before accessing
                      them
2.25a    2024-11-12   Check whether cost is in the file metadata before using it.
                      Also, an internal change: When getting a file's full path,
                      ensure its filename is passed to get_path(), as described
                      in the JS documentation.
2.25     2024-10-31   Made 'view file' (FL_VIEW) work when used as a loadable
                      module. Also, when displaying extended informatoin for
                      a file, added more information to match Synchronet's stock
                      lister, and to display the user avatar for the uploader,
                      if available.
                      Added a new configuration option, displayUserAvatars, to
                      specify whether or not to display the user avatar of the
                      uploader in a file's extended information.
2.24a    2024-10-29   When doing a file search, don't pause for input between
                      directories. This is a fix for issue 806 (reported by
                      nelgin).
2.24     2024-09-15   When displaying a file description, remove/replace cursor
                      movement characters, which can corrupt the display
2.23     2024-09-13   Check for null when getting extended metadata from the
                      file DB (possibly caused by DB corruption). Also, allow
                      changing the filename when editing file info.
2.22     2024-08-16   Added the ability to edit file information using the E
                      key when listing. Normal users can edit the description
                      and tags, and sysops can also edit the uploader, credit
                      value, # times downloaded, and scan date/time
2.21     2024-04-09   Fix: Searching by file date as a loadable module now does
                      the new file search
2.20     2024-03-22   (Hopefully) Fix for descLines undefined error
2.19     2024-03-11   File description refresh fixes when using extended
                      descriptions (along with an updated dd_lightbar_menu.js)
2.18     2024-03-08   Bug fix: Got description search working when used as a
                      loadable module.
                      Added Ctrl-C to the help screen to mention it can be used
                      to abort.
2.17     2024-02-28   Fix for possibly no file description when adding to the
                      batch DL queue.
                      Also, fix for file description screen refresh (off by one
                      column) for extended descriptions
2.16     2024-10-10   New sort option in the config file: PER_DIR_CFG, which has
                      Synchronet sort the file list according to the file
                      directory's configuration (SCFG > File Areas > library >
                      File Directories > dir > Advanced Options > Sort Value and Direction)
2.15b    2024-02-02   Code change/fix: More checks for pFileList[pIdx] and the
                      'desc' property when getting the description
2.15a    2023-11-11   On start, if console.aborted is true (due to the user
                      pressing Ctrl-C, etc.), then return -1 to stop a file
                      scan in progress.
2.15     2023-09-17   Fix for "Empty directory" message after quitting (the
                      lister must exit with the number of files listed).  Also,
                      updates for filename searching. Also, note ddfilelister is
                      best NOT to be used for the Scan Dirs loadable module
                      option (only for List Files), and the help screen should
                      now always pause at the end. Also, New configuration
                      option: blankNFilesListedStrIfLoadableModule, If true
                      (default), then when started as a loadable module, replace
                      the "# Files Listed" text with an empty string so that it
                      won't be displayed after exit.
2.14     2023-09-02   Fix for the lightbar interface: When erasing the file info
                      window, the file date is not shown on a duplicate line if
                      the file date is already showing in the description area
                      (i.e., for a 1-line file description)
2.13     2023-08-13   Fixes for quitting certain actions for traditional UI.
                      Prints selected action for traditional UI. Refactor for
                      printing file info for traditional UI (internal code
                      change).
2.12     2023-08-12   ddfilelister now has its own implementation of a
                      traditional (non-lightbar) user interface. It can still
                      optionally fall back on Synchronet's stock file lister
                      if the user's terminal doesn't support ANSI, if desired.
2.11     2023-05-14   The theme configuration file can now just contain the
                      attribute characters, without the control character.
                      Code: Refactored the function that reads the configuration
                      file.
2.10     2023-02-27   Now allows downloading a single selected file with the D key
2.09     2023-02-25   Now supports being used as a loadable module for Scan Dirs
                      and List Files (applicable for Synchronet 3.20+)
2.08     2023-01-18   When doing a file search in multiple directories, the
                      file library & directory is now shown in the header as
                      the user scrolls through the file list/search results.
                      Also, improved searching with extended descriptions to
                      ensure all lines of the description are displayed.
2.07     2022-12-02   In a file's extended description, added the number of
                      times downloaded and date/time last downloaded.  Also,
                      fixed a bug where some descriptions were blank
2.06     2022-04-13   When extended file descriptions are enabled, the file date
                      is now shown with the file description on the last line.
2.05a    2022-03-13   Fix for "fileDesc is not defined" error when displaying
                      the file description on the main screen.
2.05     2022-03-12   Now makes use of the user's extended file description
                      setting: If the user's extended file description setting
                      is enabled, the lister will now show extended file
                      descriptions on the main screen in a split format, with
                      the lightbar file list on the left and the extended file
                      description for the highlighted file on the right.  Also,
                      made the file info window taller for terminals within 25
                      lines high.
2.04     2022-03-09   Bug fix: Now successfully formats filenames without
                      extensions when listing files.
2.03     2022-02-27   For terminals over 80 rows tall, the file info window will
                      now be up to 45 rows tall.  Also, fixed the display of the
                      trailing blocks for the list header for wide terminals
                      (over 80 columns).
2.02     2022-02-13   Added the ability to do a file search (via filespec,
                      description, or new files since last scan).  A command-
                      line parameter, -MODE, specifies which search to perform
                      (search_filename, search_description, or new_file_search
                      for searching; list_curdir lists files in the user's
                      current directory, which is the default).
2.01     2022-02-07   Fixed file description being undefined when viewing file
                      info.  Fixed command bar refreshing when pressing the
                      hotkeys.  Added an option to pause after viewing a file
                      (defaults to true).
2.00     2022-02-06   Initial version.
