Revision history for Perl extension Archive::Unrar.

28-05-2009 Archive::Unrar v.1.00

10-12-2009 Archive::Unrar v.1.1
changed licence from Artistic License to GPL 3.0

optionaly enter output directory where file will be extracted to

%donotprocess hash keeps track of all encrypted header chained archives.
Only the first part of the chain is processed and thus there is no need 
to process the rest of the parts individually in the case the module 
is used by client code that loops over the archives. 
Encrypted header archives require special handling and by using this hash their processing becomes more efficient.	 
 
For a complete application based on the module look at :
http://sourceforge.net/projects/unrarextractrec/

16-02-2010 Archive::Unrar v.1.2
updated documentation

14-03-2010 Archive::Unrar v.1.3
Added Selection parameter to function process_file 
If Selection equals 1 then 'Map directory to Archive name'
If Selection<>1 then 'Do not Map directory to Archive name'
Fixed issue with %donotprocess hash

08-07-2010 Archive::Unrar v.2.0
Mature release - major update/rewrite
fixes runaway pointer bug which resulted in random hangs
fixes some incorrect mappings between Perl and dll's C structures
better error checking
some optimizations
using constants for error description
added support for custom callback while processing file (line 312 : $callback->(@_) if defined($callback))

06-08-2010 Archive::Unrar v.2.0.1
Bundled unrar.dll into distribution and copies it intto %SystemRoot%\System32 during the module's instalation
No need to separately download unrar.dll and install it

30-12-2010 Archive::Unrar v.2.5
Changed signature of functions "process_file" and "list_files_in_archive" making them use named arguments resulting in cleaner code
Code refactoring
Optimizations
Made module re-entrant by removing all globals except %donotprocess

02-02-2011 Archive::Unrar v.2.6 
Checking registry for system default non-unicode charsets and using them for transcoding, since some of unrar.dll internal functions use OEM encoding 

13-3-2011 Archive::Unrar v.2.7 
Checking registry for system default non-unicode charsets and using them for transcoding, since some of unrar.dll internal functions use OEM encoding 
Also exporting those default OS encodings ($ANSI_CP and $OEM_CP) into callers namespace. 
The module itself uses ANSI encoding and follows the encoding/transcoding principles analyzed at :
http://www.i-programmer.info/programming/other-languages/1973-unicode-issues-in-perl.html
