Releases: klauspost/compress
v1.15.5
What's Changed
- s2: Add concurrent stream decompression by @klauspost in #602
- s2: Fix final emit oob read crash on amd64 by @klauspost in #601
- huff0: asm implementation of Decompress1X by @WojciechMula in #596
- zstd: Use 1 less goroutine for stream decoding by @klauspost in #588
- zstd: Copy literal in 16 byte blocks when possible by @klauspost in #592
- zstd: Speed up when WithDecoderLowmem(false) by @klauspost in #599
- zstd: faster next state update in BMI2 version of decode by @WojciechMula in #593
- huff0: Do not check max size when reading table. by @klauspost in #586
- flate: Inplace hashing for level 7-9 by @klauspost in #590
Full Changelog: v1.15.4...v1.15.5
v1.15.4
What's Changed
- huff0: decompress directly into output by @WojciechMula in #577
- zstd: Fix ignored crc by @klauspost in #580
- inflate: Keep dict on stack by @klauspost in #581
- zstd: Faster decoding memcopy in asm by @klauspost in #583
Full Changelog: v1.15.3...v1.15.4
v1.15.3
What's Changed
- zstd: Allow to ignore checksum checking by @WojciechMula in #572
- s2: Fix incorrect seek for io.SeekEnd by @klauspost in #575
Full Changelog: v1.15.2...v1.15.3
v1.15.2
What's Changed
- zstd: x86 assembler implementation of sequenceDecs.decode by @WojciechMula in #528
- zstd: x86 assembler implementation of sequenceDecs.executeSimple by @WojciechMula in #531
- zstd: asm version of decodeSync by @WojciechMula in #545
- s2: Simplify asm code by @klauspost in #541
- s2: Use sorted search for index by @klauspost in #555
- .github: check code generation by @mmcloughlin in #570
- Minimum version is 1.16, test on 1.18 by @klauspost in #534
New Contributors
- @mmcloughlin made their first contribution in #570
Full Changelog: v1.15.1...v1.15.2
v1.15.1
What's Changed
- huff0: Add x86 assembly of Decode4X by @WojciechMula in #512
- zstd: Reuse zip decoders in #514
- zstd: Detect extra block data and report as corrupted in #520
- zstd: Handle zero sized frame content size stricter in #521
- zstd: Add stricter block size checksin #523
New Contributors
- @WojciechMula made their first contribution in #512
Full Changelog: v1.15.0...v1.15.1
v1.15.0
What's Changed
- zstd: Refactor decoder by @klauspost in #498
- zstd: Add stream encoding without goroutines by @klauspost in #505
Both compression and decompression now supports "synchronous" stream operations. This means that whenever "concurrency" is set to 1, they will operate without spawning goroutines.
Stream decompression is now faster on asynchronous, since the goroutine allocation much more effectively splits the workload. On typical streams this will typically use 2 cores fully for decompression. When a stream has finished decoding no goroutines will be left over, so decoders can now safely be pooled and still be garbage collected.
While the release has been extensively tested, it is recommended to do testing when upgrading.
- huff0: Prevent single blocks exceeding 16 bits by @klauspost in #507
- flate: Inline literal emission by @klauspost in #509
- gzhttp: Add zstd to transport by @klauspost in #400
- gzhttp: Make content-type optional by @klauspost in #510
Full Changelog: v1.14.4...v1.15.0
v1.14.4
What's Changed
- flate: Fix rare huffman only (-2) corruption by @klauspost in #503
- Update deprecated CreateHeaderRaw to correctly call CreateRaw by @saracen in #502
- archive/zip: don't read data descriptor early by @saracen in #501
- huff0: Use static decompression buffer up to 30% faster by @klauspost in #499
- huff0: Use buffers for 1X decodes by @klauspost in #500
Full Changelog: v1.14.3...v1.14.4
v1.14.3
What's Changed
- flate: Improve level 3 compression by @klauspost in #478
- flate: Improve level 1 speed by ~10% by @klauspost in #482
- flate: Improve decompression speed 5-10% by @klauspost in #483
- s2: Improve matching by @klauspost in #484 & #486
- flate: Faster token writer, 1-2% on fastest by @klauspost in #489
- flate: Improve huffman generation speed ~5% faster by @klauspost in #490
- flate: Improve incompressible data speed by @klauspost in #491
- flate: Skip predef checks if many tokens by @klauspost in #494
Full Changelog: v1.14.2...v1.14.3
v1.14.2
What's Changed
- zstd: Add bigger default blocks by @klauspost in #469
- zstd: Remove unused decompression buffer by @klauspost in #470
- fix logically dead code by @ningmingxiao in #472
- flate: Improve level 7-9 (again) by @klauspost in #471
- flate: Increase level 7+8 speed and compression by @klauspost in #473
- zstd: Add noasm tag for xxhash by @klauspost in #475
- zstd: improve header decoder by @dsnet in #476
New Contributors
- @ningmingxiao made their first contribution in #472
Full Changelog: v1.14.1...v1.14.2
v1.14.1
What's Changed
- s2: Add stream index in #462
- flate: Speed and efficiency improvements in #439 #461 #455 #452 #458
- zstd: Performance improvement in #420 #456 #437 #467 #468
- zstd: add arm64 xxhash assembly by @lizthegrey in #464
- Add garbled for binaries for s2 in #445
New Contributors
- @lizthegrey made their first contribution in #464
Full Changelog: v1.13.6...v1.14.1