You are on page 1of 6

RAR - What's new in the latest version Version 5.00 1. New RAR 5.0 archiving format.

You can use -ma command line switch to create RAR 5.0 archives. By default RAR creates archives in 4.x format. 2. Changes in RAR 5.0 compression algorithm: a) maximum compression dictionary size is increased up to 1 GB in 64 bit RAR. 32 bit RAR version can use up to 256 MB dictionary when creating an archive. Both 32 bit and 64 bit versions can unpack archives with any dictionary size, including 1 GB; b) default dictionary size for RAR 5.0 is 32 MB, typically resulting in higher compression ratio and lower speed than RAR 4.x 4 MB. You can use -md<size> switch to change this value; c) -md<size> switch syntax is modified to support larger dictionary sizes. Append 'k', 'm' and 'g' modifiers to specify the size in kilo-, mega- and gigabytes, like -md64m for 64 MB dictionary. If modifiers are not present, megabytes are assumed, so -md64m is equal to -md64; d) RAR 5.0 format includes Intel IA-32 executable and delta compression algorithms, but RAR 4.x text, audio, true color and Itanium algorithms are not supported. These excluded algorithms are not efficient for modern data types and hardware configurations; e) RAR 5.0 decompression can utilize several CPU cores. Though not to same extent as in compression algorithm, it improves the decompression speed on large files with poorly compressible data or when using BLAKE2 checksums. 3. Changes in RAR 5.0 archive format: a) file times are stored as Coordinated Universal Time (UTC) instead of former local time, making file exchange among several time zones more straightforward; b) file names and archive comments use UTF-8 encoding. 4. RAR 5.0 recovery record is based on Reed-Solomon error correction codes. If recovery record size is large enough, 5% and more, the new error correction scheme provides much higher resistance to multiple damages comparing to RAR 4.x recovery record. Smaller record, such as 1 - 2%, or less random damage type would result in less difference between 4.x and 5.0. For single continuous damage 4.x and 5.0 efficiency is about the same. Additionally to usual data erasures, the new recovery record is able to detect deletions and insertions of much larger size than in previous RAR versions. Maximum insertion size is several megabytes. Maximum deletion size depends on the damage type and in some cases can be as large as the recovery record size. Still, the best recovery performance and efficiency is achieved

if no deletions and insertions are present, so all data including damaged sectors preserve their original positions. Thus, if you use some special software to copy an archive from damaged media, it is better to choose the mode, when damaged sectors are filled by zeroes or any other data instead of cutting them out completely from resulting file. RAR 5.0 recovery record is more resistant to damage of recovery record itself and can utilize a partially corrupt recovery record data. Note, though, that "Repair" command does not fix broken blocks in recovery record. Only file data are corrected. After successful archive repair, you may need to create a new recovery record for saved files. New recovery record is not based on 512 byte sectors anymore and incorporates more complicated data structures. So it is impossible to specify its size in sectors. For RAR 5.0 archives the parameter of -rr[N] switch and rr[N] command is always treated as a percent of archive size regardless of presence of % character. Typically N% recovery record can repair up to N% of continuously damaged data and increases the archive size by only slightly more than N%. Ability to fix multiple damages is proportional to N. We used "Screaming Fast Galois Field Arithmetic Using Intel SIMD Instructions" paper by James S. Plank, Kevin M. Greenan and Ethan L. Miller to improve Reed-Solomon coding performance. Also we are grateful to Artem Drobanov and Bulat Ziganshin for samples and ideas allowed to make Reed-Solomon coding more efficient. 5. "Test" command verifies validity of RAR 5.0 recovery record. Recovery record is tested after processing all archived files. If corrupt archive contains the recovery record, it might be possible to repair it even if recovery record validity test is failed. "Repair" command attempts to utilize even a partially damaged recovery record. So treat the negative recovery record test result as a reason to re-create the archive if original files are still available, but not as a reason to avoid "Repair" command. 6. Changes in RAR 5.0 encryption algorithm: a) encryption algorithm is changed from AES-128 to AES-256 in CBC mode. Key derivation function is based on PBKDF2 using HMAC-SHA256; b) special password verification value allows to detect most of wrong passwords without necessity to unpack the entire file; c) if archive headers are not encrypted ("Encrypt file names" option is off), file checksums for encrypted RAR 5.0 files are modified using a special password dependent algorithm, to make impossible guessing file contents based on checksums. Do not expect such encrypted file checksums to match usual CRC32 and BLAKE2 values. 7. Switch -htb allows to utilize 256 bit length BLAKE2sp hash ( https://blake2.net ) instead of 32 bit CRC32 as a file checksum. While producing slightly larger archives, BLAKE2 can be used for file contents identification. If two files have the same BLAKE2 value, it practically guarantees that file contents

is the same. BLAKE2 error detection property is also stronger than in much shorter CRC32. 8. Features removed: a) authenticity verification feature did not provide the required level of reliability and was removed; b) switch -en (do not add "end of archive" block) is not supported by RAR 5.0 archives, which always have the end of archive block. This block helps RAR to safely skip external data like digital signatures appended to archive; c) old style extension based arcname.rNN volume names are not supported by RAR 5.0 archives, which use only arcname.partN.rar volume names; d) file comments are not supported anymore both in RAR 4.x and RAR 5.0 archives. Console RAR 'cf' command is removed. It does not affect the archive comment support, which is present in both versions of archive format and is not planned for removal. 9. Switch -oh stores hard links as link instead of file. It is available only for RAR 5.0 archive format. 10. Changes in recovery volume processing in RAR 5.0 archive format: a) maximum number of RAR+REV volumes in RAR 5.0 format is 65535 instead of 255; b) recovery volume operations are faster than in RAR 4.x; c) additionally to recovery data, RAR 5.0 REV files also store service information such as checksums of protected RAR files. So they are slightly larger than RAR volumes which they protect. If you plan to copy individual RAR and REV files to some removable media, you need to take it into account and specify RAR volume size by a few kilobytes smaller than media size. 11. Command line RAR returns the exit code 11 if it can detect that user entered a wrong password. This code can be returned only for RAR 5.0 archives. It is impossible to distinguish a wrong password and data damage for RAR 4.x archives. 12. 'v' and 'l' commands display archived file names in the end of line, not in that beginning as before. Also some fields previously available in 'l' and 'v' output are now shown only by 'lt' and 'vt'. 'vt' and 'lt' commands provide the detailed multiline information for every archived file. 'vta' and 'lta' also include service headers into list. 13. UTF-16 little endian encoding is used in RAR log file rar.log, so Unicode file names are stored in the log correctly. You can use -sc<charset>g switch to change the default log file encoding, such as -scag for native single byte encoding. 14. Command line 'r' (repair) command can include an optional destpath\

parameter defining the destination folder for repaired archive: rar r archive.rar destpath\ Version 4.20 1. Changes in RAR compression: a) Multithreaded RAR compression is enabled by default. You can disable it with -mt1 switch. Comparing to RAR 4.11, some speed gain is possible in single processor mode as well. Speed gain depends on data type and average file size. Several cores are utilized more efficiently when compressing large files. b) we had to increase memory requirements to achieve higher compression speed. General RAR compression algorithm allocates about 120 MB comparing to 40 MB in RAR 4.11; c) RAR text compression algorithm cannot utilize several CPU cores efficiently, so its performance in multiprocessor environment is much lower than for general algorithm. Also its decompression speed is much lower than in general algorithm regardless of CPU number. So we decided to disable the text algorithm by default. If you need maximum possible compression ratio for plain text data regardless of speed, you can enable the text compression with -mct switch. 2. RAR general decompression algorithm speed is slightly improved, though not to same extent as RAR compression. RAR decompression is not able to use several processor cores, so its performance does not depend on a number of cores. Version 4.11 1. Bugs fixed: a) if -x*\somedir\* exclusion mask was specified when archiving and if name of current directory contained 'somedir', RAR could exclude all files and stop creating an archive. Version 4.10 1. Modifications of switch -ag behavior: a) -ag can be used with all RAR commands, not just with archiving only; b) 'N' format character behavior differs in archiving and non-archiving operations. When archiving, it is incremented until the first unused name is found. In non-archiving operations like extracting it selects the existing archive preceding the first unused name; c) 'I' format character allows to specify minutes regardless of presence

and position of 'H' (hours) in format string. It can be used instead of 'M' (minutes), when you wish to place minutes before hours or do not need hours at all. 2. New -log[fmt][=name] switch allows to write archive and file names to log file in archiving, extracting, deleting and listing commands. This switch is especially useful, when you need to further process an archive created with -ag or -v switches, because -log provides the archive name generated by RAR. 3. New -@[+] switch allows to process all parameters starting from '@' character either as file names (-@) or as file lists (-@+). 4. Volume size in -v<size> switch can be specified as a decimal fraction. Dot (.) is used as the decimal mark. For example, -v1.5g means 1.5 gigabytes. Version 4.01 1. Bugs fixed: a) "Repair" command failed to properly reconstruct structure of RAR archives, which contained at least one file with packed size exceeding 4 GB. This bug did not affect the recovery record based repair. It happened only if recovery record was not found and RAR performed reconstruction of archive structure; b) RAR could crash when creating a new archive with -agNNNN switch if archive number in generated name was very large, like a thousand or more. Version 4.00 1. RAR decompression speed is improved. Depending on data type, decompression can be up to 30% faster than in previous versions. Both the general RAR algorithm and most of special RAR multimedia methods benefit from this improvement. The only module of RAR algorithm, which is not affected, is "Text compression" method. 2. Changes in -x<file> switch syntax. Now you can specify a wildcard exclusion mask for folders. Such mask must have the trailing '\' character, like -x*tmp*\ or -x*\temp\ 3. Recovery volume processing involves less disk seek operations resulting in higher performance. 4. New error code 10 ("no files") is added to list of error codes. This new code can be returned by archive, extract, delete and repair commands. It means that RAR did not find any files matched the specified file or archive mask. Version 3.93 1. Bugs fixed:

a) in RAR 3.92 -xd:\path\dir switch could also exclude directories, which path does not match the path specified in the switch and only the directory name is the same as specified; b) switches -y -or did not work correctly together. Switch -or was ignored in presence of -y. Version 3.92 1. In RAR 3.91 -x<mask> switch could also exclude directories from archiving even if mask contained wilcard characters and did not contain a path. For example, -x*. excluded all those directories, which do not have the extension in the name. Now -x switch uses RAR 3.80 approach for masks without path, excluding directories only if mask does not contain wildcards and matches the directory name exactly 2. If file matched two different masks in RarFiles.lst, RAR could select the last match. Normally, if neither of masks is a subset of another, the first match must be chosen. Version 3.91 1. Bugs fixed: a) hexadecimal search in "ih" command failed to find matches if first byte in search string was greater than 127. Version 3.90 1. New command line switch -r- disables recursion completely. So 'rar a -r- arc dirname' command will add only the empty dirname folder and ignore its contents. By default, if dirname does not include wildcards, RAR adds its contents even if -r switch is not specified. 2. If used when extracting, the new command line switch -ai forces RAR to ignore file attributes. When using this switch, extracted files will always have attributes assigned by operating system to a newly created file by default. 3. If output file name is not specified in "cw" command, RAR will send comment data to stdout. 4. When compressing stdin data with -si[name] switch, RAR sets modification time of archived entry to current system time. Previous RAR versions did not fill this field, resulting in meaningless modification time for stdin.

You might also like