HISTORY


Since version 3.0.0

Fixed bug that caused the "no objects would be renamed" message not to be displayed in some cases with the SIMULATE option.

Enabled the simultaneous display of messages related to SELECTED and SIMULATE options in a case that one canceled the other.

Internal restructuring and various changes.




Since version 2.941:


Interface changes:


The command interface has changed in some cases so it is incompatible to previous versions of SRename.

Actions and selectors can now be given multiple times.

Added the TOGGLECASE (TG) action to switch the character casing from upper to lower and vice versa.

MATCH now has pattern matching capability. It can also select a different part of the filename than the part of the filename that it matches. This capability was present in part before with the use of BEFORE and AFTER options but now these options have been made obsolete so they have been removed.

TO now has conversion capability between decimal and hexadecimal numbers and normal characters.

The PREFIX, MAIN, SUFFIX, WORD and MATCH selectors and INSERT and UNIFY actions have been given dedicated additional arguments. This was necessary due to the way that SRename 3 works.
Those arguments already existed in SRename 2 but they have now been organized in a better way.

The PRESERVECASE keyword has also been added as a dedicated renumbering option. It has the same effect as giving CASESENS in renumbering operations in previous SRename versions.

The UPAFTERSPC (up after space) action has been removed because it can now be built with the other available actions and selectors.

Changed the character to indicate numbering from '#' to '*'.

STEP is no longer used in numbering for setting the increment value. This is now done by giving the increment value after the starting number. For example:  *10+2*  or  *100-1* (negative increment).

The COMMENT selector can now be given more than once. This makes it possible to modify with different actions both the filename and the comment at the same time. COMMENT must now be given again after an action if the comment is to be modified again. For example: COMMENT LEFT 1 UP COMMENT RIGHT 1 UP.

The position of the TOFILENAME and TOCOMMENT redirection options in the command line is now important.

SELECTED and SIMULATE can now be given together.

SELECTED is now more accurate when the SWAP, LSHIFT, RSHIFT or UNIFY component actions are given. If the required components aren't present then the filename is not reported as selected.

The behaviour of the OS Rename command is now completely emulated as far as the command interface is concerned.

A few keywords have changed names and/or abbreviations. The new names are on the right column:


Old name (SRename 2.941) New name (SRename 3)
INSERT (IN) INSERT (NS)
DOT COMPSEP (CP)
GLOBALDIRPAT (GD) PERSISTENTDP (PD)
EXCLUDE (XC) INVERTSEL (IN)
UPDATE (UD) EXIST (EX)
WSEP (WS) WORDSEP (WS)
NOPROGRESS (NOP) QUIETR (QR)


Internal changes:

Much lower memory usage during recursion because of fine tuning of the memory allocation routines.

Stopped using the ReadArgs OS function for parsing because of it's limitations. Now using a custom parser instead.

Now the locale library is used for casing operations and character comparison which ensures proper operation with any language.


Bugfixes:

A serious long standing bug that occasionally caused the usage of unallocated memory during recursion has been fixed.

Fixed bug that caused a destination path check failure when more than one wildcard patterns were used as source filenames and also a destination path was given.

Fixed bug in numbering where when ICONS was also used the filename and the icon's filename didn't receive the same number.

Another long standing bug that occurred with the TrueMultiAssigns patch has been fixed. Now SRename simply ignores filenames outside the directory that is working on and as a result that patch has no effect with it.