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
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
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
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
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.
54 - Removed a double "required module" from the Archive::Zip POD.
55 - Fixed http://rt.cpan.org/Ticket/Display.html?id=24557 ("documentation
57 - mentioned Archive::Zip::MemberRead in a few places.
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
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
74 1.22 Fri 2 Nov 2007 - Adam Kennedy
75 - Fixing platform compatibility bugs in the new regression tests
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".
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
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
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
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
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
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
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
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
295 - More robust new file handle logic can (again)
296 take opened file handles
297 - Detect attempts to overwrite zip file when members
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
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
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