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