NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #278 most downloaded on NuGet
A near-C++ performance implementation of the Snappy compression algorithm for .NET. Snappier is ported to C# directly from the official C++ implementation, with the addition of support for the framed stream format. By avoiding P/Invoke, Snappier is fully cross-platform and works on both Linux and Windows and against any CPU supported by .NET. However, Snappier performs best in .NET 6 and later on little-endian x86/64 processors with the help of System.Runtime.Instrinsics.
Last release 5 months ago
28 Apr 2026
Ships unpredictably
gaps range from 8 days to 2.1 years
Most releases are documented
notes for 7 of 11 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
14 releases · first in 2020
Handle undersized data blocks in framed stream decompression by @brantburnett in #147
Full Changelog: release/1.3.0...release/1.3.1
Update to .NET 10 GA SDK by @brantburnett in #138
Full Changelog: release/1.3.0-beta.1...release/1.3.0
One column per quarter.
Support for block compression and decompression using ReadOnlySequence<byte> as the source and IBufferWriter<byte> as the destination
ReadOnlySequence<byte> as the source and IBufferWriter<byte> as the destinationSnappy.TryCompress and Snappy.TryDecompress overloads that return false instead of throwing an exception if the output buffer is too smallSnappyStream compression now recognizes blocks that compress poorly and encodes them as uncompressed dataArrayPool are now cleared with zeroes before they are returned to protect any sensitive data being compressed or decompressed. This adds some overhead but benchmarks showed it wasn't very significant and it's worthwhile for better security.Full Changelog: release/1.1.6...release/1.2.0
Support for block compression and decompression using ReadOnlySequence<byte> as the source and IBufferWriter<byte> as the destination
ReadOnlySequence<byte> as the source and IBufferWriter<byte> as the destinationSnappy.TryCompress and Snappy.TryDecompress overloads that return false instead of throwing an exception if the output buffer is too smallSnappyStream compression now recognizes blocks that compress poorly and encodes them as uncompressed dataArrayPool are now cleared with zeroes before they are returned to protect any sensitive data being compressed or decompressed. This adds some overhead but benchmarks showed it wasn't very significant and it's worthwhile for better security.Full Changelog: release/1.1.6...release/1.2.0
Fix nullable attributes leaking as public by @brantburnett in #94
Full Changelog: release/1.1.5...release/1.1.6
Update README.md - Correcting wrong descriptions by @mjebrahimi in #91
Full Changelog: release/1.1.4...release/1.1.5
This release primarily includes performance improvements around stream decompression in .NET 8, but does show some minor decompression improvements on
This release primarily includes performance improvements around stream decompression in .NET 8, but does show some minor decompression improvements on other runtimes (except .NET 4.8 which is not a priority). Also includes a bug fix for a stream decompression corner case.
BenchmarkDotNet v0.13.10, Windows 11 (10.0.22621.3007/22H2/2022Update/SunValley2)
12th Gen Intel Core i7-1270P, 1 CPU, 16 logical and 12 physical cores
.NET SDK 8.0.101
| Method | Runtime | Build | PGO | Mean | Error | StdDev | Ratio | RatioSD | Rank |
|---|---|---|---|---|---|---|---|---|---|
| BlockDecompress | .NET Framework 4.8 | Previous | N | 14.55 us | 0.089 us | 0.079 us | 1.00 | 0.00 | 1 |
| BlockDecompress | .NET Framework 4.8 | Default | N | 15.78 us | 0.189 us | 0.158 us | 1.08 | 0.01 | 2 |
| BlockDecompress | .NET 6.0 | Previous | N | 12.99 us | 0.151 us | 0.134 us | 1.00 | 0.00 | 2 |
| BlockDecompress | .NET 6.0 | Default | N | 12.75 us | 0.181 us | 0.170 us | 0.98 | 0.02 | 1 |
| BlockDecompress | .NET 8.0 | Previous | N | 10.57 us | 0.208 us | 0.214 us | 1.00 | 0.00 | 2 |
| BlockDecompress | .NET 8.0 | Default | N | 10.30 us | 0.163 us | 0.152 us | 0.97 | 0.02 | 1 |
| BlockDecompress | .NET 8.0 | Previous | Y | 10.51 us | 0.198 us | 0.194 us | 1.00 | 0.00 | 2 |
| BlockDecompress | .NET 8.0 | Default | Y | 10.15 us | 0.173 us | 0.162 us | 0.97 | 0.02 | 1 |
| Method | Runtime | Build | PGO | Mean | Error | StdDev | Ratio | RatioSD | Rank |
|---|---|---|---|---|---|---|---|---|---|
| StreamDecompress | .NET Framework 4.8 | Previous | N | 337.3 us | 6.35 us | 5.94 us | 1.00 | 0.00 | 1 |
| StreamDecompress | .NET Framework 4.8 | Default | N | 332.4 us | 5.09 us | 4.51 us | 0.99 | 0.02 | 1 |
| StreamDecompress | .NET 6.0 | Previous | N | 164.9 us | 2.57 us | 2.40 us | 1.00 | 0.00 | 2 |
| StreamDecompress | .NET 6.0 | Default | N | 161.2 us | 3.21 us | 3.29 us | 0.98 | 0.02 | 1 |
| StreamDecompress | .NET 8.0 | Previous | N | 194.4 us | 2.16 us | 2.02 us | 1.00 | 0.00 | 2 |
| StreamDecompress | .NET 8.0 | Default | N | 189.6 us | 2.59 us | 2.42 us | 0.98 | 0.02 | 1 |
| StreamDecompress | .NET 8.0 | Previous | Y | 201.7 us | 4.01 us | 4.45 us | 1.00 | 0.00 | 2 |
| StreamDecompress | .NET 8.0 | Default | Y | 176.6 us | 3.49 us | 3.43 us | 0.87 | 0.03 | 1 |
Full Changelog: release/1.1.3...release/1.1.4
Update to target .NET 8 by @brantburnett in #80
Full Changelog: release/1.1.2...release/1.1.3
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →