I'll update this post with the change list.
version 1.12
New: The E flag to the -c case transformation supports elision.
New: The f flag to -dd date-guessing allows dates in future.
New: The -r replacement transformation supports global, case-ignored, and perl-code evaluations with flags -g, -i, and -e respectively.
New: Support numeral systems in -# number transformation. Supply a number base from 1 to 36 (e.g. -###16 outputs hex numbers).
Fix: Date guessing -dd is a bit smarter.
Change: The -R global replacement transformation was removed (use instead the -r transformation with the g flag).
version 1.11
New: Date guessing use -dd or -dd/date spec/. The -dd transformation will attempt to detect a date in a filename, and reformat it according to the specified date spec template or the built in default of YYYY-MM-DD.
New: Range replace transformation can now work from the end. Use -RR instead of -rr.
* See Note in first post.
version 1.10
New: Range replace transformation -rr//newstr/ will replace characters at the positions specified by with the string newstr. A range is specified as either m, or m-n, where m and n are two integers and m <= n.
New: The -x trim option now can now leave a specified number of characters (trims all but n characters). -X=2 trims all but the first two characters, and -x=3 trims all but the last three characters.
version 1.9
Fix: Resolved a long-standing problem with some tricky Unicode characters being treated like their ASCII doppelgangers. This script is also instructive on how to properly receive and return Unicode from DOpus via ActivePerl.
version 1.8
New: RE substitution (-/) has a new 'e' flag, which causes evaluation of perl code in the replacement side.
New: Zero pad a number to the specified number of digits. Example: -z3 converts 5, 13, 100 to 005, 013, 100.
Fix: Problem obtaining file name for non-suffixed files whose names contained a dot.
version 1.7
New: Kill text after (-k) or before (-K) specified string, inclusively (default) or exclusively: -k/string/[ei] -K=before optional: e=exclude, i=ignore case.
New: Added r flag to -# for random value; add # characters to increase random number size (0 to 10^n - 1).
Fix: Ignore transformations if no filename remains.
Fix: Handle non-suffixed filenames
version 1.6
New: Trim n characters from front or back; -x[n], -X[n].
New: Files or folders only: -f, -F.
New: Reverse words using arbitrary separator string which is replaced with a new separator string; empty separator reverses characters; empty new separator retains old separator: -R/oldsep/newsep/.
New: Sort words using arbitrary separator string which is replaced with a new separator string; empty separator sorts characters; empty new separator retains old separator: -S/oldsep/newsep/r optional r flag reverses sort.
Change: Replace mode -r now uses g=global and i=ignore case flags.
Change: Reverse globally -R option now used for Reverse (for global replace, use -r/old/new/g).
Change: Article transformation will ignore leading punctuation.
version 1.5
New: Append text (more easily) at beginning or end: -^/text/ and -$/text/.
New: Add 1 (or n) to final numeric sequence: -+n optional n may be negative
New: Strict title case (lower case prepositions, articles, conjunctions): -cT
Fix: Fix possible bug with article removal
version 1.4
New: New suffix modification format -s[lun] for l=lowercase (default), u=uppercase, or n=none.
New: Flexible filename date parsing and output. Any date surrounded by %% and %% can be parsed within the filename and output in some other format (format: -d/inspec/outspec/, where inspec is any strptime format and outspec any strftime format). First use a transformation to surround the date/time in the filename with a pair of %% characters, and then specify a format template for inspec that matches the filename's date and time, and specify a different output format as outspec. Locale-specific names are understood. See example below.
Fix: Sanitize filenames where necessary
Change: -S (suffix uppercase) depricated; see new suffix format above.
Example date from filename parsing
filename: AC 1-23-13 New Haven Expense Rpt.pdf
transformation: -r/AC /%%/ -r/ /%%/ -D/%m-%d-%y// -R/ Expense Rpt//
result: 2013-01-13 New Haven.pdf
filename: 2-9-2013.txt
transformation: -/(.*)/%%$1%%/ -d/%m-%d-%Y/%Y\%B\%A/
results: 2013\February\Saturday.txt
version 1.3
New: Folders can now be renamed
Fix: Needed to set Old name to (.*) so DOpus won't complain.
Change: In date/time, replace / and : with - and ., respectively
version 1.2
New: Unicode to ASCII: -U
New: Date append/prepend using strftime formatting specs: -d appends, -D prepends
New: Articles to end (-a), or strip (-A). User-defined article can be specified
Fix: Only the first -e exception was working
version 1.1
New: Added transliteration: -t
New: Exclude files matching pattern: -e and -E
New: Added upper/lower first/all cases: -c[uUlLt]
Change: Change case flag to -c
Change: Change title case flag to -ct
Fix: Flag parser handles embedded spaces inside / /
The -e option is very cool. Many folks have asked for a way to skip certain files within Rename. You can now define a pattern to skip files already selected.