Releases: ayoisaiah/f2
Releases · ayoisaiah/f2
Development build (master)
This build is directly sourced from the master
branch in active development. As such, it may include experimental features and potential bugs.
v2.0.1
v2.0.0
Changelog
New features
- Add
natural
sort option for sorting filenames containing numbers in a natural way. - Add ability to extract double extensions like
.tar.gz
using{2ext}
. - Add
--exiftool-opts
to customize Exiftool's output. - Add
--exclude-dir
flag for excluding whole directories when matching files. - Add ability to specify a custom pattern when fixing conflicts (
--fix-conflicts-pattern
). - Add support for file pair renaming with
--pair
and--pair-order
. - Add
--target-dir
option for specifying a target directory for renamed files. - Add
--clean
option for cleaning up empty directories after renaming. - Add ability to sort files based on arbitrary input using
--sort
and--sort-var
. - Add ability to apply sorting per directory with
--sort-per-dir
. - Add ability to reset an index when recursing into a new directory with
--reset-index-per-dir
.
Enhancements
- Significant performance improvements (up to ~3x faster than the previous version).
- Improve conflict detection by adding validations for:
- When the source file is not found.
- When the target name changes later in the same operation.
- Clean up output reporting.
- Improvements to
--undo
. - Improve CSV renaming implementation.
- Improve help messages and documentation.
Bug fixes
- Fix status reporting for unchanged files.
- Fix dotfiles being regarded as hidden in Windows.
- Fix piping file arguments from external commands.
- Fix some Windows-specific bugs with CSV renaming.
Deprecations / Removals
- Remove random variables.
- Remove simple mode.
v1.9.1
Changelog
- Improve performance in dry-run mode (due to table rendering).
- Fix issue where files could be overwritten when
--fix-conflicts
is used.
v1.9.0
Changelog
- Simple mode now prompts before executing.
- You can now use capture variables with indexing.
- Syntax for string transformation has been improved and simplified.
- JSON support has been added.
- Simplify variables syntax.
- Add ability to extract date from arbitrary strings.
- Improve support for case insensitive filesystems.
- Indexing fixes and syntax updates.
v1.8.0
Changelog
- Add a "simple mode" for quick renaming operations in the current directory.
- Ignore extension flag no longer affects directory names.
- Default options can be changed via
F2_DEFAULT_OPTS
. - Fix duplicate paths when traversing directories to prevent unnecessary errors.
- Output is now sorted in dry-run mode.
- Update notification is now opt-in via
F2_UPDATE_NOTIFIER
. - Version information is now more streamlined.
- Dry run table output has been improved and made more compact.
v1.7.2
Changelog
- Fix for Windows path not specified error on long paths
v1.7.1
The following enhancements were made:
- Quiet mode (
--quiet
) no longer suppresses errors. - Help output has been improved and made more succinct.
- Running F2 without arguments now shows a short help message.
v1.7.0
This release brings the following improvements:
- CSV support (See renaming from a CSV file).
- Improved no color options. You can now set the
F2_NO_COLOR
environmental variable or use the brand new--no-color
flag to disable coloured output. - Validation error messages are now much clearer (no longer mixing emoji and text).
- Console output has been improved by using pterm. The green, red, and yellow colours are slightly different now due to this change.
- You can now specify a set of files or directories as argument to F2 (thanks to nightson for suggesting this enhancement).
- The backup directory has changed to
~/.local/share/f2/backups
on Linux,~/Library/Application Support/f2/backups
on macOS, and%LOCALAPPDATA%\f2\backups
on Windows. The previous backup directory (~/.f2/backups
) is still supported (in case you have existing backups there), but new backup files will not be created there anymore. This change was made to conform to the XDG specification and conventions for storing application files on each operating system, and to avoid cluttering up the home directory. - A
--verbose
option was added for outputting each renaming operation in--exec
mode.
v1.6.7
- String literal mode now supports operation chaining