Skip to content

Commit ff8113e

Browse files
committed
Merge branch 'release-4.6.0'
2 parents 594cc19 + 97323fa commit ff8113e

64 files changed

Lines changed: 1023 additions & 711 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.jazzy.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ sourcekitten_sourcefile: docs.json
33
clean: false
44
author: Timofey Solomko
55
module: SWCompression
6-
module_version: 4.5.11
6+
module_version: 4.6.0
77
copyright: '© 2021 Timofey Solomko'
88
readme: README.md
99
github_url: https://github.com/tsolomko/SWCompression
10-
github_file_prefix: https://github.com/tsolomko/SWCompression/tree/4.5.11
10+
github_file_prefix: https://github.com/tsolomko/SWCompression/tree/4.6.0
1111
theme: fullwidth
1212

1313
custom_categories:

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
# Changelog
22

3+
## 4.6.0
4+
5+
- Swift 4.2 is no longer supported.
6+
- Minimum iOS deployment version (when installed via CocoaPods or Carthage) is now 9.0.
7+
- Increased the lowest required version of BitByteData dependency to 2.0.
8+
- Added the `TarContainer.create(from:force:)` function which allows to specify TAR format.
9+
- It is now possible to create TAR containers of GNU, ustar (POSIX), and pre-POSIX formats.
10+
- The `TarContainer.create(from:)` function (alongside with the newly added function) no longer throws.
11+
- The `TarCreateError.utf8NonEncodable` error is now never thrown.
12+
- Handling of truncated TAR containers should now be more consistent.
13+
- Previously introduced check for truncated containers now throws the `TarError.tooSmallFileIsPassed` error instead
14+
of `TarError.wrongField`.
15+
- Documentation has been updated:
16+
- Adjusted documentation of the `TarEntryInfo` properties to account for other formats used in creation of a
17+
container.
18+
- Adjusted documentation of the `TarError.tooSmallFileIsPassed` error to mention its use in all situations when
19+
truncated data is encountered.
20+
- swcomp changes:
21+
- `zip -i` command now prints entry comments only if they are not empty.
22+
- Slight grammatical improvements to the help messages of swcomp.
23+
324
## 4.5.11
425

526
- Fixed a crash when processing a truncated TAR file.

Cartfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
github "tsolomko/BitByteData" ~> 1.4.4
1+
github "tsolomko/BitByteData" ~> 2.0.0

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ let package = Package(
1313
// .package(url: "https://github.com/jakeheis/SwiftCLI",
1414
// from: "5.2.0"),
1515
.package(url: "https://github.com/tsolomko/BitByteData",
16-
from: "1.4.4"),
16+
from: "2.0.0"),
1717
],
1818
targets: [
1919
// SWCOMP: Uncomment the lines below to build swcomp example program.

Package@swift-4.2.swift

Lines changed: 0 additions & 32 deletions
This file was deleted.

README.md

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# SWCompression
22

3-
[![Swift 4.2](https://img.shields.io/badge/Swift-4.2-blue.svg)](https://developer.apple.com/swift/)
43
[![Swift 5.X](https://img.shields.io/badge/Swift-5.X-blue.svg)](https://developer.apple.com/swift/)
54
[![GitHub license](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://raw.githubusercontent.com/tsolomko/SWCompression/master/LICENSE)
65
[![Build Status](https://travis-ci.com/tsolomko/SWCompression.svg?branch=develop)](https://travis-ci.com/tsolomko/SWCompression)
@@ -10,7 +9,7 @@ A framework with (de)compression algorithms and functions for working with vario
109

1110
## What is this?
1211

13-
SWCompression — is a framework with a collection of functions for:
12+
SWCompression is a framework with a collection of functions for:
1413

1514
1. Decompression (and sometimes compression) using different algorithms.
1615
2. Reading (and sometimes writing) archives of different formats.
@@ -34,7 +33,7 @@ Also, SWCompression is _written with Swift only._
3433

3534
## Installation
3635

37-
SWCompression can be integrated into your project using Swift Package Manager, CocoaPods or Carthage.
36+
SWCompression can be integrated into your project using Swift Package Manager, CocoaPods, or Carthage.
3837

3938
### Swift Package Manager
4039

@@ -47,7 +46,7 @@ let package = Package(
4746
name: "PackageName",
4847
dependencies: [
4948
.package(url: "https://github.com/tsolomko/SWCompression.git",
50-
from: "4.5.0")
49+
from: "4.6.0")
5150
],
5251
targets: [
5352
.target(
@@ -58,11 +57,11 @@ let package = Package(
5857
)
5958
```
6059

61-
More details you can find in [Swift Package Manager's Documentation](https://github.com/apple/swift-package-manager/tree/master/Documentation).
60+
More details you can find in [Swift Package Manager's Documentation](https://github.com/apple/swift-package-manager/tree/main/Documentation).
6261

6362
### CocoaPods
6463

65-
Add `pod 'SWCompression', '~> 4.5'` and `use_frameworks!` lines to your Podfile.
64+
Add `pod 'SWCompression', '~> 4.6'` and `use_frameworks!` lines to your Podfile.
6665

6766
To complete installation, run `pod install`.
6867

@@ -105,19 +104,17 @@ BZip2 and LZMA/LZMA2 support).
105104

106105
### Carthage
107106

108-
__Important:__ Only Swift 5.x is supported when installing SWCompression via Carthage.
109-
110-
Add to your Cartfile `github "tsolomko/SWCompression" ~> 4.5`.
107+
Add to your Cartfile `github "tsolomko/SWCompression" ~> 4.6`.
111108

112109
Then:
113110

114-
1. If you use Xcode 12 or later you should run `carthage update --use-xcframeworks --no-use-binaries`. After that drag
115-
and drop both `SWCompression.xcframework` and `BitByteData.xcframework` files from from the `Carthage/Build/` directory
116-
into the "Frameworks, Libraries, and Embedded Content" section of your target's "General" tab in Xcode.
111+
1. If you use Xcode 12 or later you should run `carthage update --use-xcframeworks`. After that drag and drop both
112+
`SWCompression.xcframework` and `BitByteData.xcframework` files from from the `Carthage/Build/` directory into the
113+
"Frameworks, Libraries, and Embedded Content" section of your target's "General" tab in Xcode.
117114

118-
2. If you use Xcode 11 or earlier you should run `carthage update --no-use-binaries`. After that drag and drop both
119-
`SWCompression.framework` and `BitByteData.framework` files from from the `Carthage/Build/<platform>/` directory into the
120-
"Embedded Binaries" section of your target's "General" tab in Xcode.
115+
2. If you use Xcode 11 or earlier you should run `carthage update`. After that drag and drop both
116+
`SWCompression.framework` and `BitByteData.framework` files from from the `Carthage/Build/<platform>/` directory into
117+
the "Embedded Binaries" section of your target's "General" tab in Xcode.
121118

122119
For Xcode 12 or later you can currently also use the
123120
[xconfig workaround](https://github.com/Carthage/Carthage/blob/master/Documentation/Xcode12Workaround.md).
@@ -165,7 +162,8 @@ do {
165162
### Documentation
166163

167164
Every function or type of SWCompression's public API is documented. This documentation can be found at its own
168-
[website](http://tsolomko.github.io/SWCompression).
165+
[website](http://tsolomko.github.io/SWCompression) or via a slightly shorter link:
166+
[swcompression.tsolomko.me](http://swcompression.tsolomko.me)
169167

170168
### Sophisticated example
171169

@@ -175,7 +173,8 @@ you need to uncomment several lines in "Package.swift" and run `swift build -c r
175173
## Contributing
176174

177175
Whether you find a bug, have a suggestion, idea, feedback or something else, please
178-
[create an issue](https://github.com/tsolomko/SWCompression/issues) on GitHub.
176+
[create an issue](https://github.com/tsolomko/SWCompression/issues) on GitHub. If you have any questions, you can ask
177+
them on the [Discussions](https://github.com/tsolomko/SWCompression/discussions) page.
179178

180179
In the case of a bug, it will be especially helpful if you attach a file (archive, etc.) that caused the bug to occur.
181180

@@ -205,7 +204,7 @@ There are two reasons for this complicated setup. Firstly, some of these files c
205204
unfortunate if the users of SWCompression had to download them every time during the installation. Secondly, Swift
206205
Package Manager and contemporary versions of Xcode don't always work well with git-lfs-enabled repositories. To prevent
207206
any potential problems test files were moved into another repository. Additionaly, the custom command line tool `utils.py`
208-
is used to work around issues occuring on certain user systems (see, for example, #9).
207+
is used to work around issues occuring on certain user systems (see, for example, [#9](https://github.com/tsolomko/SWCompression/issues/9)).
209208

210209
Please note, that if you want to add a new _type_ of test files, in addition to running `git lfs track`, you have to
211210
also copy into the "Tests/Test Files/gitattributes-copy" file a line this command adds to the "Tests/Test Files/.gitattributes"

SWCompression.podspec

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Pod::Spec.new do |s|
22

33
s.name = "SWCompression"
4-
s.version = "4.5.11"
4+
s.version = "4.6.0"
55
s.summary = "A framework with functions for working with compression, archives and containers."
66

77
s.description = "A framework with (de)compression algorithms and functions for processing various archives and containers."
@@ -15,14 +15,14 @@ Pod::Spec.new do |s|
1515

1616
s.source = { :git => "https://github.com/tsolomko/SWCompression.git", :tag => "#{s.version}" }
1717

18-
s.ios.deployment_target = "8.0"
18+
s.ios.deployment_target = "9.0"
1919
s.osx.deployment_target = "10.10"
2020
s.tvos.deployment_target = "9.0"
2121
s.watchos.deployment_target = "2.0"
2222

23-
s.swift_versions = ["4", "5"]
23+
s.swift_versions = ["5"]
2424

25-
s.dependency "BitByteData", "~> 1.4.4"
25+
s.dependency "BitByteData", "~> 2.0"
2626

2727
s.subspec "Deflate" do |sp|
2828
sp.source_files = "Sources/{Deflate/*,Common/*,Common/CodingTree/*}.swift"

SWCompression.xcodeproj/SWCompression.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
<key>CFBundlePackageType</key>
1616
<string>FMWK</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>4.5.11</string>
18+
<string>4.6.0</string>
1919
<key>CFBundleVersion</key>
20-
<string>78</string>
20+
<string>80</string>
2121
<key>NSHumanReadableCopyright</key>
2222
<string>Copyright © 2021 Timofey Solomko</string>
2323
</dict>

SWCompression.xcodeproj/TestSWCompression.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
<key>CFBundlePackageType</key>
1616
<string>BNDL</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>4.5.11</string>
18+
<string>4.6.0</string>
1919
<key>CFBundleVersion</key>
20-
<string>78</string>
20+
<string>80</string>
2121
</dict>
2222
</plist>

0 commit comments

Comments
 (0)