Skip to content

Releases: tsolomko/SWCompression

4.3.0 Test 2

20 Apr 16:27
4.3.0-test.2
3b89895
Compare
Choose a tag to compare
4.3.0 Test 2 Pre-release
Pre-release

In this test release a new function and enum have been added to TarContainer which provide information about formats of TAR containers.

4.3.0 Test 1

10 Apr 21:45
4.3.0-test.1
156f0a0
Compare
Choose a tag to compare
4.3.0 Test 1 Pre-release
Pre-release

This is the first test release of 4.3.0 which includes support for ZIP custom extra fields, updates for Swift 4.1 and upcoming 1.2.0 release of BitByteData.

4.2.2

17 Mar 16:21
4.2.2
dd9f3ad
Compare
Choose a tag to compare
  • Fixed a problem when in some rare cases (when SevenZipSubstreamInfo isn't found in a container) 7-Zip Container entries were skipped during open(container:), instead of being appended with nil data to the result array, as was always intended.
  • Fixed a crash in SevenZipContainer.info(container:) when either entry's size or CRC32 isn't present in the container.
  • Updated documentation.

4.2.1

08 Mar 09:52
4.2.1
7f51ce9
Compare
Choose a tag to compare
  • All 7-Zip minor format versions from 1 to 4 are now accepted (previously, it was only 4; for all other versions SevenZipError.wrongFormatVersion was thrown).

4.2.0

04 Mar 09:39
4.2.0
da04d4f
Compare
Choose a tag to compare
  • Minuimum required version of BitByteData is now 1.1.0.
  • Added ownerID and groupID properties to ZipEntryInfo, which provide access to uid and gid from Info-ZIP New Unix and Info-Zip Unix extra fields.
  • Added unknownExtendedHeaderRecords property to TarEntryInfo which includes unrecognized entries from PAX global and local extended headers.
  • Prevent double slashes in TarEntryInfo.name when prefix header's field was used, but it had trailing slash.
  • Improved BZip2 compression performance: Now additional Huffman trees aren't created when they cannot be used, since maximum amount of Huffman tables was generated.
  • Disabled symbol stripping in archives generated by Carthage and published on GitHub Releases.
  • swcomp changes:
    • Replaced 9 block size options of bz2 command with a single one: -b (--block-size).
    • Now prints entry type-specific properties in output of tar, zip and 7z commands with -i (--info) option.
    • Renamed perf-test command group to benchmark.

4.2.0 Test 2

03 Mar 17:53
4.2.0-test.2
84478a3
Compare
Choose a tag to compare
4.2.0 Test 2 Pre-release
Pre-release

The most important thing to note about this test version is the removal of "several APIs which work with ByteReaders and BitReaders instead of Data". As it was said, their addition in the previous test release was an experimental feature. Unfortunately, there were some problems with these APIs. For example, they were incosistent: some of them were changing byte(bit) reader that the user passed as an argument, while others weren't. As such, it was decided to remove them (or, rather, make them internal).

4.2.0 Test 1

23 Feb 10:22
4.2.0-test.1
68bd0da
Compare
Choose a tag to compare
4.2.0 Test 1 Pre-release
Pre-release

This test release of the upcoming 4.2.0 update includes following improvements:

  • Added several APIs which work with ByteReaders and BitReaders instead of Data (experimental feature).
  • Added support for Info-ZIP's extra fields which store uids and gids of entries.
  • Now requires BitByteData version at least 1.1.0.

4.1.1

11 Feb 12:03
4.1.1
9302a4e
Compare
Choose a tag to compare
  • Fixed incorrect value of TarEntryInfo.name in certain situations.
    Comment: This problem was occurring when file name was long enough to not fit into "name" field of TAR's header, but no PAX or GNU extensions were used, so the "prefix" field was used instead.
  • Updated documentation for TarEntryInfo.

4.1.0

31 Jan 17:37
4.1.0
452f902
Compare
Choose a tag to compare
  • Functionality related to reading and writing bits and bytes was published as a separate project, BitByteData. As a result SWCompression now has BitByteData as a dependency.
  • Several performance improvements have been made. See updated test results for more information.
  • Added a workaround to prevent situations when some BZip2 archives created by SWCompression could not be opened by original BZip2 implementation.
    Comment: It seems that some BZip2 implementations (including original one) don't account for the fact that the initial Run-Length Encoding can actually cause expansion of the input data. To prevent this from happening SWCompression now uses BZip2 blocks smaller than intended by the format.
  • Modification time stored in ZIP's "native" field is now calculated relative to current system's calendar and time zone.
    Comment: Since standard ZIP's fields don't have any way to save time zone data it is more likely that archivers stored modification time relative to current system's settings rather than UTC-relative (which was assumed by SWCompression before). Behaviour of NTFS timestamp and Extended timestamp extra fields hasn't been changed.
  • Additions to swcomp command-line tool:
    • Added -1...-9 options to bz2 command which specifies what block size to use for BZip2 compression.
    • Added -i (--info) option to gz command which prints GZip's header.
    • Added comp-deflate and comp-bz2 subcommands to perf-test command which can be used for performance testing of Deflate and BZip2 compression.
    • Updated descriptions of -e options for zip, tar and 7z commands.
    • Now sets permissions for extracted files only if they are greater than 0.

4.1.0 Test 2

29 Jan 18:16
4.1.0-test.2
c1c54ad
Compare
Choose a tag to compare
4.1.0 Test 2 Pre-release
Pre-release
  • Performance improvements:
    • Preallocate byte arrays when output size is known.
    • Inverse Burrows-Wheeler transform without sorting.
    • Store ntfs reference date as a static constant.
  • "Fixed" a problem when some BZip2 archives created by SWCompression could not be opened by original BZip2 implementation.
  • Modification time stored in ZIP's "native" field is now calculated relative to current system's calendar and time zone.
  • Added options (-1...-9) to swcomp bz2 -c for specifying block size .
  • Added option (-i, --info) to swcomp gz for printing GZip's header.
  • Added commands (comp-deflate, comp-bz2) to swcomp for performance testing of Deflate and BZip2 compression.
  • Corrected descriptions of extract options of swcomp's container-related commands.
  • swcomp now sets permissions for extracted files only if they are greater than 0.