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