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