Added "out int remaining" parameter to Decompressor.Decompress method which can hold the number of unused bytes from the source buffer when the compression algorithm can detect its own end of stream.
Added CompressedStream.GetRemainingStream method which returns a new stream on the rest of the data that was not used by the decompressor .
Added CompressionMethod.Deflated64 enum value.
Added HasAttributes , HasCreationDateTime , HasLastAccessDateTime , HasLastWriteDateTime properties (and their "Do" implementors ) to FileSystemItem .
Added AbstractFolder.CreateTempFile method.
Changed FileSystemEventsSession.Events property, which is no longer virtual.
Added MemoryFile , MemoryFolder and StreamFile classes which derive from AbstractFile and AbstractFolder .
Added AllowSpanning , SplitSize and SplitNameFormat properties to ZipArchive for the new spanning support.
Added DefaultTempFolder (static) and TempFolder properties to ZipArchive for controlling the working temporary folder.
Added ZipArchive.SfxPrefix property for new self-extracting zip file support.
Added DiskNumber property to both ZippedFile and ZippedFolder classes.
Made obsolete the ZipEvents.CopyingZipByteProgression event since this step no longer occurs.
Added DiskRequired and GatheringZipContentByteProgression events to ZipEvents as well as related triggers to ZipEventsSession .
The default compression level of a CompressedStream is now Highest.
The properties of the FileSystemItem, AbstractFile and AbstractFolder classes are now accompanied by "Has" properties to avoid having to throw exceptions simply to indicate that we do not support such a property. This greatly improves performance.
The FileSystemItem.Exists property is no longer guaranteed to be always up-to-date, as this is not possible and causes performance hits. As with any other property, a call to Refresh may be required to get an up-to-date result. Creating a new instance of an AbstractFile or AbstractFolder derived class should imply a refreshed instance.
If an exception is raised by your code in an event handler, we wrap it in a TargetInvocationException exception.
Though documented to throw when not existing, the DiskFile implementation of the Size property returned 0 in such a case. It now throws an ItemDoesNotExistException.
The ItemException event is raised if the local and central headers of a zip file differ.
Corrected problem with consecutive calls to CompressedStream.Flush.
Greatly improved the performance of the FileSystem.