strict for 'crc32'
[archive-zip.git] / Changes
blobf58fa6e6b173fdf4ddb7180dc5b39c27b3a36401
1 Revision history for Perl extension Archive-Zip
3 1.27_01 Tue 16 Dec 2008 - Adam Kennedy
4         - Makefile.PL will create a better META.yml
5         - This is a test release for various improvements provided by
6           Alan Haggai. The entire release is credited to his grant work.
7         - Fixed #25726: extractMembers failing across fork on Windows.
8         - Fixed #12493: Can't add new files to archives which contain
9           files named 0,1,2,3,4,5,6,7,8,9 with no extension.
10           (Files named "0" are not archived)
11         - Fixed #22933: Properly extract symbolic links.
12         - Fixed #20246: Ability to assign a compression level to addTree
13           calls.
14         - Corrected regular expression for stripping trailing /
15         - Corrected addFileOrDirectory() behaviour and cleaned up some code
16         - Added symbolic link support to addFileOrDirectory
17         - Fixed #34657: No option, undefined behavior zipping symbolic
18           links (symlinks)
19         - Added storeSymbolicLink()
20         - Fixed bitFlag() to set General Pupose Bit Flags
22 1.26 Mon 13 Oct 2008 - Adam Kennedy
23         - Fixed the dreaded but #24036: WinXP Explorer Exposes Problems.
24           This caused directories to appear as files in Windows Explorer
25           and was caused by Windows always reading the msdos directory bit
26           even when the file attributes are types as unix.
27           Resolved by emulating the behaviour of Info-Zip and setting
28           the 5th bit in the externalFileAttributes field.
30 1.25 Sat 11 Oct 2008 - Adam Kennedy
31         - Removing "use warnings" instances that somehow slipped in
32         - Skip test if Digest::MD5 is not available
34 1.24 Sun 23 Aug 2008 - Adam Kennedy
35         - Blatantly pander to CPANTS by adding use strict to a deprecated module
36         - Add an explicit load of FileHandle since in some circumstances,
37           calling GLOB->print() failed.
38         - Fixed http://rt.cpan.org/Public/Bug/Display.html?id=25925 :
39         - Archive-Zip wrote faulty .zip files when $\ was set (such as when running
40           using perl -l).
41         - Incorporated a heavily modified version of ECARROLL's test file.
42         - Thanks for ECARROLL for reporting it, and helping with the investigation.
43         - The fix was to convert all $fh->print(@data) to $self->_print($fh, @data)
44           where the _print() method localizes $\ to undef.
45         - Fixed http://rt.cpan.org/Ticket/Display.html?id=14132 :
46         - Incorrect file permissions after extraction.
47         - Archive-Zip did not set the file permissions correctly in
48           extractToFileNamed(). 
49         - Added t/10_chmod.t and t/data/chmod.zip. Changed 
50           lib/Archive/Zip/Member.pm.
51         - Reported by ak2 and jlv (Thanks!)
52         - SHLOMIF wrote the test script.
53         - (SHLOMIF)
54         - Removed a double "required module" from the Archive::Zip POD.
55         - Fixed http://rt.cpan.org/Ticket/Display.html?id=24557 ("documentation 
56           improvement"):
57         - mentioned Archive::Zip::MemberRead in a few places.
58         - TODO: 
59                 - 1. Add a method to Archive::Zip to get a ::MemberRead from an
60                   archive member using -> notation. (?)
61                 - 2. In the POD of ::MemberRead - replace the indirect object
62                   call.
63                 - Changed the POD of ::MemberRead:
64                 - replaced the indirect object construction with $PKG->new().
65                 - Fixed http://rt.cpan.org/Public/Bug/Display.html?id=34103 :
66                 - changed the example to read unless ( .. == AZ_OK) instead of
67                   unless ( != AZ_OK), which was incorrect.
69 1.23 Thu  8 Nov 2007 - Adam Kennedy
70         - Temporarily skilling some failing tests on Win32 in the
71           interests of toolchain sanity. (until we work out the
72           real problem here)
74 1.22 Fri  2 Nov 2007 - Adam Kennedy
75         - Fixing platform compatibility bugs in the new regression tests
76           from 1.21.
78 1.21 Thu  1 Nov 2007 - Adam Kennedy
79         - Tidying up copyright formatting a bit.
80         - Disable the GPBF_HAS_DATA_DESCRIPTOR_MASK bit when auto-switching
81           directory storage to STORED because of a WinZip workaround because
82           the read code in Java JAR which was... ok, I really don't understand,
83           but Roland from Verisign says this one extra line unbreaks JAR files,
84           so I just applied it :)
85         - fixed http://rt.cpan.org/Public/Bug/Display.html?id=27463 with a
86           regression test - cannot add files whose entire filenames are "0". 
87           (SHLOMIF).
88         - fixed http://rt.cpan.org/Public/Bug/Display.html?id=26384 with a 
89           regression test - Archive::Zip::MemberRead::getline ignores 
90           $INPUT_RECORD_SEPARATOR . The modified file in the bug had it to be
91           reworked a bit and tests were added in the file
92           08_readmember_record_sep.t. 
93         - Thanks to kovesp [...] sympatico.ca 
94         - (SHLOMIF)
96 1.20 Tue  5 Jun 2007 - Adam Kennedy
97         - Removing dependency on File::Which due to public outburst of flaming
98           on cpanra(n)tings by H.Merijn Brand. Try a simple email next time. :(
99         - Embedding an entire copy of File::Which inside the tests instead as
100           an alternative to compensating for the lack of build_requires.
101         - Removing the docs directory.
102           It only had out of date files and non-free copyrighted materials.
103           The tarball was probably illegal to distribute as a result.
104           (reported by Debian devs)
106 1.19 Internal use, public release skipped
108 1.18 Wed 25 Oct 2006 - Adam Kennedy
109         - Changing to a production version for final release
110         - No other changes of any kind
112 1.17_05 Tue 19 Sep 2006 - Adam Kennedy
113         - Seperated the classes from the main file into seperate packages.
114         - Merged the Zip.pod into the main Zip.pm file.
115         - Applied default Perl::Tidy to all of the source files, to improve
116           the readability and maintainability of the files.
117         - Added license in Makefile.PL
118         - Added some additional entries to the realclean files
120 1.17_03 Sat 16 Sep 2006 - Adam Kennedy
121         - Adding dependency on File::Which to deal with problems on systems
122           that lack zip and unzip programs. This really should be a build-time
123           dependency only, but ExtUtils::MakeMaker lacks that capability.
124         - Builds and tests cleanly on Win32 now.
126 1.17_02 Sun  7 May 2006 - Adam Kennedy
127         - Renamed the test scripts to the more conventional 01_name.t style
128         - Upgraded all test scripts from Test.pm to Test::More (removing Test.pm dependency)
129         - Various other miscellaneous cleanups of the test scripts
130         - Removed MANIFEST and pod.t from repository (will be auto-generated)
131         - Some cleaning up of the POD documentation for readability
132         - Added SUPPORT section to docs
133         - Merged external TODO file into the POD as a more-common TO DO section
134         - Added a BUGS section to the docs
136 1.17_01 Sun 30 Apr 2006 - Adam Kennedy
137         - Imported Archive::Zip into http://svn.ali.as/cpan/ orphanage.
138           If you have a CPAN login and have released a module, ask ADAMK about an
139           account and you can repair your bug directly in the repository.
140         - Removed the revision comments from the old CVS repository
141         - DOS DateTime Format doesn't support dates before 1980 and goes crazy when
142           decoding back to unix time. If we don't get passed a time at all
143           (0 or undef) we now throw an error.
144         - DOS DateTime Format doesn't support dates before 1980, so if we find any
145           we warn and use Jan 1 12:01pm 1980 if we encounter any
146         - Win32 doesn't support directory modification times.
147           Tentatively use the current time as the mod-time to prevent sending
148           null times to the unix2dos converter (and the resulting error)
149         - Reformat the expected empty zip warning in the output to add a note that
150           the warning is entirely normal. Would be nice if some time later we can
151           suppress it altogether, but I don't have the cross-platform STDERR-fu
152           without adding a dependency to IPC::Run3 (which would be bad).
153         - Adding a proper $VERSION to all classes, and synchronising them to the
154           same value.
155         - Adding a BEGIN block around the require 5.003_96 so it works at
156           compile-time instead of post-compile.
157         - Moved crc32 to bin/crc32 in line with package layout conventions
159 1.16 Mon Jul 04 12:49:30 CDT 2005
160         - Grrrr...removed test that fails when installing under CPANPLUS.
162 1.15 Wed Jun 22 10:24:25 CDT 2005
163         - added fix for RT #12771 Minor nit: warning in Archive::Zip::DirectoryMember::contents() 
164         - added fix for RT #13327 Formatting problem in Archive::Zip::Tree manpage
166 1.15_02 Sat Mar 12 09:16:30 CST 2005 
167         - fixed dates in previous entry!
168         - began the process of migrating from the monolithic t/test.t to 
169           smaller scripts using Test::More.
170         - started work on improving Archive::Zip's test coverage.  Coverage
171           is now up to just over 80%.
172         - added error handling to writeToFileHandle
173         - fixed small bug in extractMember from previous version
174           
175 1.15_01 Wed Mar  9 22:26:52 CST 2005
176         - added fix for RT #11818 extractMember method corrupts archive
177         - added t/pod.t to test for pod correctness
179 1.10 Thu Mar 25 06:24:17 PST 2004
180         - Fixed documentation of setErrorHandler()
181         - Fixed link to Japanese translation of docs
182         - Added Compress::Zlib Bufsize patch from Yeasah Pell that was supposed to
183           have been added in 1.02
184         - Fixed problems with backup filenames for zips with no extension
185         - Fixed problems with undef volume names in _asLocalName()
187 1.09 Wed Nov 26 17:43:49 PST 2003
188         - Fixed handling of inserted garbage (as from viruses)
189         - Always check for local header signatures before using them
190         - Added updateMember() and updateTree() functions
191         - Added examples/mailZip.pl
192         - Added examples/updateTree.pl
193         - Fixed some potential but unreported bugs with function parameters like '0'
194         - Removed stray warn() call
195         - Caught undef second arg to replaceMember()
196         - Fixed test suite run with spaces in build dir name (ticket 4214)
198 1.08 Tue Oct 21 07:01:29 PDT 2003
199         - test noise fix from Michael Schwern (ticket 4174)
200         - FAQ NAME fix from Michael Schwern (ticket 4175)
202 1.07 Mon Oct 20 06:48:41 PDT 2003
203         - Added file attribute code by Maurice Aubrey
204         - Added FAQ about RedHat 9
205         - Added check for empty filenames
207 1.06 Thu Jul 17 11:06:18 PDT 2003
208         - Fixed seek use with IO::Scalar and IO::String
209         - Fixed use of binmode with pseudo-file handles
210         - Removed qr{} form for older Perl versions
211         - Changed rel2abs logic in _asLocalName() if there is a volume
212         - Fixed errors with making directories in extractMember() when none provided
213         - Return AZ_OK in extractMemberWithoutPaths() if member is a directory
214         - Fixed problem in extractTree with blank directory becoming "." prefix
215         - Added examples/writeScalar2.pl to show how to use IO::String as destination of Zip write
216         - Edited docs and FAQ to recommend against using absolute path names in zip files.
218 1.05 Wed Sep 11 12:31:20 PDT 2002
219         - fixed untaint from 1.04
221 1.04 Wed Sep 11 07:22:04 PDT 2002
222         - added untaint of lastModFileDateTime
224 1.03 Mon Sep  2 20:42:43 PDT 2002
225         - Removed dependency on IO::Scalar
226         - Set required version of File::Spec to 0.8
227         - Removed tests of examples that needed IO::Scalar
228         - Added binmode() call to read/writeScalar examples
229         - Fixed addTree() for 5.005 compatibility (still untested with 5.004)
230         - Fixed mkdir() calls for 5.005
231         - Clarified documentation of tree operations
233 1.02 Fri Aug 23 17:07:22 PDT 2002
234         - Many changes for cross-platform use (use File::Spec everywhere)
235         - Separated POD from Perl
236         - Moved Archive::Zip::Tree contents into Archive::Zip
237           A::Z::Tree is now deprecated and will warn with -w
238         - Reorganized docs
239         - Added FAQ
240         - Added chunkSize() call to report current chunk size
241           and added C::Z BufSize patch from Yeasah Pell.
242         - Added fileName() to report last read zip file name
243         - Added capability to prepend data, like for SFX files
244         - Added examples/selfex.pl for self-extracting archives creation
245         - Added examples/zipcheck.pl for validity testing
246         - Made extractToFileNamed() set access/modification times
247         - Added t/testTree.t to test A::Z::Tree
248         - Fix/speed up memberNamed()
249         - Added Archive::Zip::MemberRead by Sreeji K. Das
250         - Added tempFile(), tempName()
251         - Added overwrite() and overwriteAs() to allow read/modify/write of zip
252         - added examples/updateZip.pl to show how to read/modify/write
254 1.01 Tue Apr 30 10:34:44 PDT 2002
255         - Changed mkpath call for directories to work with BSD/OS
256         - Changed tests to work with BSD/OS
258 1.00 Sun Apr 28 2002
259         - Added several examples:
260         - examples/calcSizes.pl
261           How to find out how big a zip file will be before writing it
262         - examples/readScalar.pl
263           shows how to use IO::Scalar as the source of a zip read
264         - examples/unzipAll.pl
265           uses Archive::Zip::Tree to unzip an entire zip
266         - examples/writeScalar.pl
267           shows how to use IO::Scalar as the destination of a zip write
268         - examples/zipGrep.pl
269           Searches for text in zip files
270         - Changed required version of Compress::Zlib to 1.08
271         - Added detection and repair of zips with added garbage (as caused by
272           the Sircam worm)
273         - Added more documentation for FAQ-type questions, though few seem to
274           actually read the documentation.
275         - Fixed problem with stat vs lstat
276         - Changed version number to 1.00 for PHB compatibility
278 0.12 Wed May 23 17:48:21 PDT 2001
279         - Added writeScalar.pl and readScalar.pl to show use of IO::Scalar
280         - Fixed docs
281         - Fixed bug with EOCD signature on block boundary
282         - Made it work with IO::Scalar as file handles
283         - added readFromFileHandle()
284         - remove guess at seekability for Windows compatibility
286 0.11 Tue Jan  9 11:40:10 PST 2001
287         - Added examples/ziprecent.pl (by Rudi Farkas)
288         - Fixed up documentation in Archive::Zip::Tree
289         - Added to documentation in Archive::Zip::Tree
290         - Fixed bugs in Archive::Zip::Tree that kept predicates from working
291         - Detected file not existing errors in addFile
293 0.10 Tue Aug  8 13:50:19 PDT 2000
294         - Several bug fixes
295         - More robust new file handle logic can (again)
296           take opened file handles
297         - Detect attempts to overwrite zip file when members
298           depend on it
300 0.09 Tue May  9 13:27:35 PDT 2000
301         - Added fix for bug in contents()
302         - removed system("rm") call in t/test.t for Windows.
304 0.08 March 27 2000 (unreleased)
305         - Fixed documentation
306         - Used IO::File instead of FileHandle, allowed for use of almost anything as
307           a file handle.
308         - Extra filenames can be passed to extractMember(),
309           extractMemberWithoutPaths(), addFile(), addDirectory()
310         - Added work-around for WinZip bug with 0-length DEFLATED files
311         - Added Archive::Zip::Tree module for adding/extracting hierarchies
313 0.07  Fri Mar 24 10:26:51 PST 2000
314         - Added copyright
315         - Added desiredCompressionLevel() and documentation
316         - Made writeToFileHandle() detect seekability by default
317         - Allowed Archive::Zip->new() to take filename for read()
318         - Added crc32String() to Archive::Zip::Member
319         - Changed requirement in Makefile.PL to Compress::Zip
320           version 1.06 or later (bug in earlier versions can truncate data)
321         - Moved BufferedFileHandle and MockFileHandle into
322           Archive::Zip namespace
323         - Allowed changing error printing routine
324         - Factored out reading of signatures
325         - Made re-read of local header for directory members
326           depend on file handle seekability
327         - Added ability to change member contents
328         - Fixed a possible truncation bug in contents() method
330 0.06  Tue Mar 21 15:28:22 PST 2000
331         - first release to CPAN
333 0.01  Sun Mar 12 18:59:55 2000
334         - original version; created by h2xs 1.19