Changed
- The key
<backspace2>has been renamed to<backspace>formapkeybindings (#2286). .Stat.DirSizeand.Stat.DirCountin the ruler file no longer have a pointer type, and will be set to-1instead ofnilif the corresponding value cannot be determined (#2397).setlocalcommands no longer support the ability to specify recursive directories (#2415). For use cases wheresetlocalshould apply to a directory based on some condition, it is recommended to script this inside theon-loadhook command.- On Windows, files are now considered executable according to
PATHEXTwhen matching colors and icons (#2448). - The
rulerfmtandstatfmtoptions are now marked as deprecated in favor of using the ruler file (configured using therulerfileoption), and will be removed in a future release (#2477). - The client server connection will now exclusively use Unix domain sockets on Windows and no longer fall back to TCP sockets (#2527).
- The fallback location of the server socket (used if
XDG_RUNTIME_DIRis not defined) is changed from/tmp/lf.<user>.sockto/tmp/lf-<uid>/lf.sock, and the containing directory must be owned by the current user (#2532). - The
ignorecaseandignorediaoptions (intended for searching) no longer affect sorting, and insteadsortignorecaseandsortignorediahave been added to customize sorting (#2543). - Previews are now marked as binary if they contain a control character other than bell, backspace, tab, newline, vertical tab, form feed, carriage return, escape or delete (#2561). Previously only null bytes were used to detect binary previews.
Added
- Emoji sequences containing Zero Width Joiner characters are now displayed as a single combined glyph (#2286).
- Key combinations such as
<c-h>and<backspace>can now be distinguished when supported by the terminal (#2286) (#2496). - A new field
.Allis added to therulerfile to display the number of all files (i.e. visible + hidden) in the current working directory (#2376). - A new option
numbercursorfmtis added to further customize the appearance of line numbers (#2395). - The
loading...message delay of 100 milliseconds for file previews is now applied to directories as well (#2410). lfwill now automatically change to the parent directory if the current directory no longer exists and thewatchoption is enabled (#2424).- A new option
terminalcursoris added to customize the appearance of the terminal cursor (#2441). - A new option
borderstyleis added to control whetherdrawboxdraws an outline, separators, or both (#2445). This also replaces the existingroundboxoption.
Fixed
- Previews are now cleaned when changing to an empty directory (#2369).
- The
dircountsindicator for errors is changed back to!instead of?(#2372). - Previews are now correctly updated on
visual-change(#2373). - The
selectcommand can now select files immediately after creation as part of a script (#2377). - The
on-loadhook command now ignores.gitdirectories to reduce flicker and repeatedon-loadtriggers (#2382). - Preview messages like
emptyorloading...have their alignment improved (#2400). - A bug where the
loading...message was not displayed for volatile previews after the first time is now fixed (#2410). - The
cmd-transposecommand now advances the cursor correctly after swapping characters (#2413). - Symbolic links are no longer followed when changing directories (#2423).
- Using the
selectcommand with a blank string as the argument now properly raises an error instead of changing to the parent directory (#2429). - The number of bytes read is now limited for previews that contain extremely long lines (#2458).
- Control characters are now stripped from previews to prevent dangerous terminal sequences from being processed if the default previewer is used (#2459).
- Various fixes have been made to sanitize input data and prevent terminal sequence injection (#2467) (#2540) (#2542) (#2546) (#2590) (#2603).
- Sixel images with the same height as the preview window are now displayed correctly when using
tmux(#2474). - A bug where previews were loaded according to the old dimensions of the preview window following a terminal resize is now fixed (#2491).
- Completion matches are now properly aligned if they contain terminal sequences (#2511).
loadcommands are now processed when thewatchoption is enabled, which should fix various issues with refreshing updated files/directories (#2513).- Parsing octal values in strings are now restricted to numbers between
0and255(#2516). - Color values are now validated (must be between
0and255) when parsing terminal sequences (#2517). - Directories are now refreshed properly after using the
cdcommand (#2518). - Successfully copied files are no longer deleted if their timestamps could not be preserved (#2519).
- Previews no longer flicker when the terminal height decreases (#2537).
- Symbolic linked directories are now updated properly when the
watchoption is enabled (#2550). - Previews of modified files are now updated properly when the
preloadoption is enabled (#2567). - Previews of files other than the current file are now reloaded immediately after being modified when the
watchoption is enabled (#2594) (#2602) (#2648). - The
loading...message now shows for files that are reloading due to being modified (#2597). - Attempting to copy a directory into itself will now result in an error (#2608) (#2623).
- The permissions of state files (i.e.
files/history/marks/tags) is now changed to only be accessible by the owner (#2612). - Broken symbolic links are no longer silently overwritten when moving files (#2619).
- Using the
copyorcutcommand with a path containing newline characters now results in an error instead of silently omitting the path (#2620).