Releases: adam-fowler/compress-nio
Releases · adam-fowler/compress-nio
v1.4.0
v1.3.0
Minor release changes
- Expose
ZlibCompressor
andZlibDecompressor
types and addByteBuffer
functions that use them. It is preferable to use these concrete types over theNIOCompressor/Decompressor
existential.
v1.2.1
Minor release changes
- Add Sendable conformance to
CompressionAlgorithm
andZlibConfiguration
Patch release changes
- Split compress and decompress code into two files
v1.2.0
Minor release changes
- Add new error
CompressNIOError.inputBufferOverflow
for when decompression requires more data from the input buffer. - Ignore
CompressNIOError.inputBufferOverflow
errors when decompressing a stream of data
v1.1.1
Patch release changes
- Remove platform requirements added in v1.1.0
v1.1.0
Minor release changes
- Add versions of
compressStream
anddecompressStream
that take an async closure
v1.0.0
No changes from v0.6.0.
v0.6.0
Breaking changes
- Renamed compression algorithms. They now follow the naming convention zlib uses:
gzip
: deflate data with gzip headerzlib
: deflate data with zlib headerdeflate
. raw deflate data without header- Previously
zlib
was calleddeflate
because that was the required format when deflate was indicated in an HTTP header.
WARNING: If you previously useddeflate
to generate HTTPdeflate
format compression, you should change this tozlib
.
- Algorithm configuration is required when creating the algorithm instead of when you create the decompressor or compressor.
- Added
ZlibConfiguration
for zlib compression types with windowSize, compressionLevel, memoryLevel and strategy values.
Below is an example of compressing a ByteBuffer with the above changes
let compressed = try buffer.compress(with: .gzip(configuration: .init(windowSize: 15, compressionLevel: 9)))
v0.5.0
Breaking changes
CompressionAlgorithm.compressor
is a function which takes a window bits size instead of a computed property.CompressionAlgorithm.decompressor
is a function which takes a window bits size instead of a computed property.- Added
maxSize
parameter toByteBuffer.decompress(with:allocator:)
andByteBuffer.decompressStream(with:allocator:)
Minor release changes
- Add
CompressionAlgorithm.rawDeflate
for raw deflate data without a header.
v0.4.1
- Fix Swift 5.4 warnings