What's Changed
- zstd: don't reuse a literal table that was not written by @klauspost in #1299
- zstd: preserve stream state when resetting options by @Grivn in #1266
- zstd, huff0, s2: bump the avo arm64 lowering; keep zstd stack slots in registers by @lizthegrey in #1248
- zstd, huff0: faster pure-Go decoders by @lizthegrey in #1256
- zstd: Don't retain pointers to decoded inputs in DecodeAll by @Jille in #1273
- zstd: inline the best encoder's reject path; cap concurrent-blocks job size by @bd-dstodolsky in #1293
- zstd: copy non-overlapping matches in 32-byte blocks by @lizthegrey in #1295
- zstd: cap DecodeAll preallocation to what the input can decode to by @Raghuvardhan-Reddy78 in #1291
- flate: build unrestricted Huffman trees before limiting lengths by @klauspost in #1219
- flate: Fix stateless EOF on large writes. by @klauspost in #1265
- flate: keep match history across small flushes by @klauspost in #1282
- gzip: write and read a zero MTIME for a zero ModTime by @spicysharkco in #1268
- zip: accept 0xFFFFFFFF sizes and offsets without a Zip64 extra by @ybai08 in #1267
- zip: backport the standard library's writer-side Zip64 fixes by @ybai08 in #1287
- gzip: backport two standard library fixes (truncated header EOF, Write count) by @ybai08 in #1270
- gzhttp: let "*" in Accept-Encoding select gzip or zstd by @Shaisolaris in #1263
- gzhttp: flush and hijack through http.ResponseController by @Neffi42 in #1272
- gzhttp: keep Vary: Accept-Encoding when the handler sets Vary by @wleeaf in #1284
- gzhttp: don't pool a decoder while a Read is still using it by @Raghuvardhan-Reddy78 in #1288
- gzhttp: clear Content-Length when decoding a compressed request by @Raghuvardhan-Reddy78 in #1301
- huff0: promote the 4X loop's input pointers to registers on arm64 by @lizthegrey in #1277
- s2: verify the CRC of chunk data kept after Skip by @Raghuvardhan-Reddy78 in #1286
- s2: don't read past src when converting LZ4 blocks by @Raghuvardhan-Reddy78 in #1294
- s2: fix LZ4 converter length overflow (32-bit only) by @klauspost in #1300
- s2: return ErrDstTooSmall for an LZ4 conversion into a nil dst by @yxshee in #1307
- s2: keep ErrCorrupt when Skip rejects an oversized chunk by @CJstate in #1303
New Contributors
- @Shaisolaris made their first contribution in #1263
- @Grivn made their first contribution in #1266
- @spicysharkco made their first contribution in #1268
- @ybai08 made their first contribution in #1267
- @Neffi42 made their first contribution in #1272
- @wleeaf made their first contribution in #1284
- @oddharsh made their first contribution in #1290
- @bd-dstodolsky made their first contribution in #1293
- @yxshee made their first contribution in #1307
- @CJstate made their first contribution in #1303
Full Changelog: v1.20.3...v1.20.4