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