diff --git a/.jazzy.yaml b/.jazzy.yaml index 71ccd8c0..752ddafc 100644 --- a/.jazzy.yaml +++ b/.jazzy.yaml @@ -3,11 +3,11 @@ sourcekitten_sourcefile: docs.json clean: true author: Timofey Solomko module: SWCompression -module_version: 4.0.2-dev +module_version: 4.1.0 copyright: '© 2018 Timofey Solomko' readme: README.md github_url: https://github.com/tsolomko/SWCompression -github_file_prefix: https://github.com/tsolomko/SWCompression/tree/develop +github_file_prefix: https://github.com/tsolomko/SWCompression/tree/4.1.0 theme: fullwidth custom_categories: diff --git a/CHANGELOG.md b/CHANGELOG.md index b1ea79f6..f65c8c4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## 4.1.0 + +- Some internal classes were published as a separate project, [BitByteData](https://github.com/tsolomko/BitByteData). + This project is now used by SWCompression. +- Several performance improvements have been made. +- "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. +- swcomp additions: + - Added `-1`...`-9` options to `bz2 -c` 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. + - Corrected descriptions of `-e` options for `zip`, `tar` and `7z` commands. + - Now sets permissions for extracted files only if they are greater than 0. + ## 4.0.1 - Git tag for updates no longer has "v" prefix. diff --git a/SWCompression.podspec b/SWCompression.podspec index c32fb946..e52a34b0 100644 --- a/SWCompression.podspec +++ b/SWCompression.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SWCompression" - s.version = "4.0.1" + s.version = "4.1.0" s.summary = "A framework with functions for working with compression, archives and containers." s.description = "A framework with (de)compression algorithms and functions for processing various archives and containers." @@ -20,6 +20,8 @@ Pod::Spec.new do |s| s.tvos.deployment_target = "9.0" s.watchos.deployment_target = "2.0" + s.swift_version = '4.0' + s.dependency 'BitByteData', '~> 1.0' s.subspec 'Deflate' do |sp| diff --git a/SWCompression.xcodeproj/SWCompression.plist b/SWCompression.xcodeproj/SWCompression.plist index bbe7bc63..0e6fb88b 100644 --- a/SWCompression.xcodeproj/SWCompression.plist +++ b/SWCompression.xcodeproj/SWCompression.plist @@ -15,9 +15,9 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.0.1 + 4.1.0 CFBundleVersion - 50 + 53 NSHumanReadableCopyright Copyright © 2018 Timofey Solomko. All rights reserved. diff --git a/SWCompression.xcodeproj/TestSWCompression.plist b/SWCompression.xcodeproj/TestSWCompression.plist index 09c3021d..6582725e 100644 --- a/SWCompression.xcodeproj/TestSWCompression.plist +++ b/SWCompression.xcodeproj/TestSWCompression.plist @@ -15,8 +15,8 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 4.0.1 + 4.1.0 CFBundleVersion - 50 + 53 diff --git a/SWCompression.xcodeproj/project.pbxproj b/SWCompression.xcodeproj/project.pbxproj index b9a0027d..a9bb9fd1 100644 --- a/SWCompression.xcodeproj/project.pbxproj +++ b/SWCompression.xcodeproj/project.pbxproj @@ -1140,7 +1140,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CURRENT_PROJECT_VERSION = 50; + CURRENT_PROJECT_VERSION = 53; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -1183,7 +1183,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CURRENT_PROJECT_VERSION = 50; + CURRENT_PROJECT_VERSION = 53; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; @@ -1210,7 +1210,7 @@ APPLICATION_EXTENSION_API_ONLY = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 50; + DYLIB_CURRENT_VERSION = 53; DYLIB_INSTALL_NAME_BASE = "@rpath"; "FRAMEWORK_SEARCH_PATHS[sdk=appletvos*]" = "\"$(SRCROOT)/Carthage/Build/tvOS\""; "FRAMEWORK_SEARCH_PATHS[sdk=appletvsimulator*]" = "\"$(SRCROOT)/Carthage/Build/tvOS\""; @@ -1239,7 +1239,7 @@ APPLICATION_EXTENSION_API_ONLY = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 50; + DYLIB_CURRENT_VERSION = 53; DYLIB_INSTALL_NAME_BASE = "@rpath"; "FRAMEWORK_SEARCH_PATHS[sdk=appletvos*]" = "\"$(SRCROOT)/Carthage/Build/tvOS\""; "FRAMEWORK_SEARCH_PATHS[sdk=appletvsimulator*]" = "\"$(SRCROOT)/Carthage/Build/tvOS\""; diff --git a/Sources/swcomp/main.swift b/Sources/swcomp/main.swift index 26f749f1..96f0afa7 100644 --- a/Sources/swcomp/main.swift +++ b/Sources/swcomp/main.swift @@ -7,7 +7,7 @@ import Foundation import SWCompression import SwiftCLI -let cli = CLI(name: "swcomp", version: "4.0.1", +let cli = CLI(name: "swcomp", version: "4.1.0", description: """ swcomp - small command-line client for SWCompression framework. Serves as an example of SWCompression usage. diff --git a/Tests/Results.md b/Tests/Results.md index 9a267fcb..4985a1c7 100644 --- a/Tests/Results.md +++ b/Tests/Results.md @@ -30,7 +30,7 @@ __Note:__ All results are averages over 6 iterations. |:---:|:---:|---|---|---| |4.0.0|—|6.821 ± 0.042|54.214 ± 1.398|7.255 ± 0.117| |4.0.1|—|6.797 ± 0.080|54.046 ± 1.070|7.177 ± 0.029| -|4.1.0-dev+280118.5|1.0.1|4.465 ± 0.089|36.807 ± 0.794|4.931 ± 0.054| +|4.1.0|1.0.1|4.452 ± 0.125|36.768 ± 0.382|4.880 ± 0.094| ## XZ Unarchive (LZMA/LZMA2 Decompress) @@ -38,7 +38,7 @@ __Note:__ All results are averages over 6 iterations. |:---:|:---:|---|---|---| |4.0.0|—|error|24.663 ± 2.349|2.904 ± 0.076| |4.0.1|—|2.475 ± 0.067|23.507 ± 0.423|2.901 ± 0.049| -|4.1.0-dev+280118.5|1.0.1|2.458 ± 0.051|23.569 ± 0.096|2.891 ± 0.040| +|4.1.0|1.0.1|2.480 ± 0.091|24.126 ± 1.239|2.892 ± 0.052| ## GZip Unarchive (Deflate Decompress) @@ -46,7 +46,7 @@ __Note:__ All results are averages over 6 iterations. |:---:|:---:|---|---|---| |4.0.0|—|4.007 ± 0.196|32.043 ± 0.581|4.303 ± 0.045| |4.0.1|—|3.886 ± 0.100|32.390 ± 0.896|4.295 ± 0.040| -|4.1.0-dev+280118.5|1.0.1|2.417 ± 0.088|22.027 ± 1.702|2.654 ± 0.060| +|4.1.0|1.0.1|2.886 ± 0.571|22.134 ± 1.473|2.700 ± 0.168| ## 7-Zip Info Function @@ -54,7 +54,7 @@ __Note:__ All results are averages over 6 iterations. |:---:|:---:|---|---|---| |4.0.0|—|0.270 ± 0.010|crash|0.601 ± 0.057| |4.0.1|—|0.258 ± 0.003|0.601 ± 0.010|0.473 ± 0.008| -|4.1.0-dev+280118.5|1.0.1|0.054 ± 0.008|0.178 ± 0.010|0.103 ± 0.005| +|4.1.0|1.0.1|0.062 ± 0.008|0.208 ± 0.010|0.122 ± 0.003| ## TAR Info Function @@ -62,7 +62,7 @@ __Note:__ All results are averages over 6 iterations. |:---:|:---:|---|---|---| |4.0.0|—|0.248 ± 0.172|1.563 ± 0.442|1.254 ± 0.277| |4.0.1|—|0.187 ± 0.177|1.257 ± 0.404|1.016 ± 0.325| -|4.1.0-dev+280118.5|1.0.1|0.131 ± 0.010|1.143 ± 0.013|0.930 ± 0.031| +|4.1.0|1.0.1|0.194 ± 0.190|1.335 ± 0.475|1.062 ± 0.353| ## ZIP Info Function @@ -70,4 +70,4 @@ __Note:__ All results are averages over 6 iterations. |:---:|:---:|---|---|---| |4.0.0|—|0.072 ± 0.065|0.669 ± 0.147|0.120 ± 0.081| |4.0.1|—|0.076 ± 0.064|0.670 ± 0.142|0.123 ± 0.080| -|4.1.0-dev+280118.5|1.0.1|0.044 ± 0.011|0.115 ± 0.004|0.080 ± 0.008| +|4.1.0|1.0.1|0.063 ± 0.076|0.148 ± 0.107|0.105 ± 0.089| diff --git a/Utils/ci-install-deploy.sh b/Utils/ci-install-deploy.sh index b94c3d48..27f44f9f 100755 --- a/Utils/ci-install-deploy.sh +++ b/Utils/ci-install-deploy.sh @@ -5,3 +5,4 @@ set -euxo pipefail brew outdated carthage || brew upgrade carthage brew install sourcekitten gem install -N jazzy +gem update -N cocoapods