|Subject:||Adding a directory member is broken|
Until 2.037 the following code would add a directory member to the archive: $zip->newStream( Name => $path_to_member . '/', ExtAttr => ($mode << 16) | 16 ); The trailing '/' is absolutely neccessary in this case. $mode comes from lstat. Starting with 2.039 the '/' is chop'ed internally, and as a consequence, the directory is not marked as such in the archive. With UNIX Info-Zip this member is unpacked as a normal file with wrong permissions. Setting the attribute 'CanonicalName' to false has fixed the problem. But until that fix was found, existing applicatioon code broke more or less silently after upgrading to a post 2.037 version.