Skip to content

Releases: buh/ZipPinch

1.4.0

12 Oct 17:27
@buh buh
Compare
Choose a tag to compare

Main update

The default decompressor moved to ZIPEntry as a static closure:

ZIPEntry.decompress = { data in
    // ... a custom decompression
}

Other changes

  • ZIPProgress.callback as @Sendable
  • Added labels for ZIP entries data: (entry: ZIPEntry, data: Data)

1.3.2

11 Oct 21:20
@buh buh
Compare
Choose a tag to compare

Added requests for retrieving ZIP entries:

let entries: [ZIPEntry] = rootFolder.entries
let data = urlSession.zipEntriesData(entries, from: url)

1.3.1

11 Oct 20:11
@buh buh
Compare
Choose a tag to compare
  • Added additional requests for use in the custom cache layer:
    • zipContentLength(_, _)
    • zipEntries(_, contentLength: Int64, _, _)
  • Fixed: HTTP Status Code 304 Not Modified won't throw an error
  • Demo updated with a simple cache layer.

1.3.0

04 Oct 23:56
@buh buh
Compare
Choose a tag to compare
  • Added extension for URLSession for a folder downloading recursively.
  • Demo updated to support a folder downloading.

1.2.1

04 Oct 15:40
@buh buh
Compare
Choose a tag to compare

ZIPFolder

Replaced size property with compressedSize and uncompressedSize.

Demo

Updated with providing a custom URL:

1.2.0

03 Oct 21:06
@buh buh
Compare
Choose a tag to compare

ZIPFolder

An array of entries can be converted into a structured hierarchy:

let entries = try await URLSession(configuration: .ephemeral).zipEntries(from: url)
let rootFolder = entries.rootFolder()

ZIPFolder consists of:

  • name
  • entries: [ZIPEntry]
  • subfolders: [ZIPFolder]
  • size (including size of subfolders)
  • lastModificationDate

Demo

The demo has been updated to navigate through the file hierarchy:

1.1.1

02 Oct 17:14
@buh buh
Compare
Choose a tag to compare
  • Fixed a bug for decompressing files
  • Renamed ZIPError
  • Demo: Show an error message and activity indicator on ImagesView.

1.1.0

02 Oct 09:26
@buh buh
Compare
Choose a tag to compare
  • Added ZIPProgress functionality to track the progress of downloading file data.
  • Demo updated

1.0.1

30 Sep 19:45
@buh buh
Compare
Choose a tag to compare
  • Fixed bugs in Demo
  • Fixed Demo for macOS and iPadOS

1.0.0

29 Sep 23:57
@buh buh
0782d5b
Compare
Choose a tag to compare

A completely new Swift version of ZipPinch:

  • Swift Package
  • Extension over URLSession
  • Requests using a custom URLRequest
  • Task management with URLSessionTaskDelegate
  • Support for custom decompressor
  • ZIP 64-bit support