Source code
Revision control
Copy as Markdown
Other Tools
Snappy v1.1.10, Mar 8th 2023:
* Performance improvements
* Compilation fixes for various environments
Snappy v1.1.9, May 4th 2021:
* Performance improvements.
* Google Test and Google Benchmark are now bundled in third_party/.
Snappy v1.1.8, January 15th 2020:
* Small performance improvements.
* Removed snappy::string alias for std::string.
* Improved CMake configuration.
Snappy v1.1.7, August 24th 2017:
* Improved CMake build support for 64-bit Linux distributions.
* MSVC builds now use MSVC-specific intrinsics that map to clzll.
* ARM64 (AArch64) builds use the code paths optimized for 64-bit processors.
Snappy v1.1.6, July 12th 2017:
This is a re-release of v1.1.5 with proper SONAME / SOVERSION values.
Snappy v1.1.5, June 28th 2017:
This release has broken SONAME / SOVERSION values. Users of snappy as a shared
library should avoid 1.1.5 and use 1.1.6 instead. SONAME / SOVERSION errors will
manifest as the dynamic library loader complaining that it cannot find snappy's
shared library file (libsnappy.so / libsnappy.dylib), or that the library it
found does not have the required version. 1.1.6 has the same code as 1.1.5, but
carries build configuration fixes for the issues above.
* Add CMake build support. The autoconf build support is now deprecated, and
will be removed in the next release.
* Add AppVeyor configuration, for Windows CI coverage.
* Small performance improvement on little-endian PowerPC.
* Small performance improvement on LLVM with position-independent executables.
* Fix a few issues with various build environments.
Snappy v1.1.4, January 25th 2017:
* Fix a 1% performance regression when snappy is used in PIE executables.
* Improve compression performance by 5%.
* Improve decompression performance by 20%.
Snappy v1.1.3, July 6th 2015:
This is the first release to be done from GitHub, which means that
some minor things like the ChangeLog format has changed (git log
format instead of svn log).
* Add support for Uncompress() from a Source to a Sink.
* Various minor changes to improve MSVC support; in particular,
the unit tests now compile and run under MSVC.
Snappy v1.1.2, February 28th 2014:
This is a maintenance release with no changes to the actual library
source code.
* Stop distributing benchmark data files that have unclear
or unsuitable licensing.
* Add support for padding chunks in the framing format.
Snappy v1.1.1, October 15th 2013:
* Add support for uncompressing to iovecs (scatter I/O).
The bulk of this patch was contributed by Mohit Aron.
* Speed up decompression by ~2%; much more so (~13-20%) on
a few benchmarks on given compilers and CPUs.
* Fix a few issues with MSVC compilation.
* Support truncated test data in the benchmark.
Snappy v1.1.0, January 18th 2013:
* Snappy now uses 64 kB block size instead of 32 kB. On average,
this means it compresses about 3% denser (more so for some
inputs), at the same or better speeds.
* libsnappy no longer depends on iostream.
* Some small performance improvements in compression on x86
(0.5–1%).
* Various portability fixes for ARM-based platforms, for MSVC,
and for GNU/Hurd.
Snappy v1.0.5, February 24th 2012:
* More speed improvements. Exactly how big will depend on
the architecture:
- 3–10% faster decompression for the base case (x86-64).
- ARMv7 and higher can now use unaligned accesses,
and will see about 30% faster decompression and
20–40% faster compression.
- 32-bit platforms (ARM and 32-bit x86) will see 2–5%
faster compression.
These are all cumulative (e.g., ARM gets all three speedups).
* Fixed an issue where the unit test would crash on system
with less than 256 MB address space available,
e.g. some embedded platforms.
* Added a framing format description, for use over e.g. HTTP,
or for a command-line compressor. We do not have any
implementations of this at the current point, but there seems
to be enough of a general interest in the topic.
Also make the format description slightly clearer.
* Remove some compile-time warnings in -Wall
(mostly signed/unsigned comparisons), for easier embedding
into projects that use -Wall -Werror.
Snappy v1.0.4, September 15th 2011:
* Speeded up the decompressor somewhat; typically about 2–8%
for Core i7, in 64-bit mode (comparable for Opteron).
Somewhat more for some tests, almost no gain for others.
* Make Snappy compile on certain platforms it didn't before
(Solaris with SunPro C++, HP-UX, AIX).
* Correct some minor errors in the format description.
Snappy v1.0.3, June 2nd 2011:
* Speeded up the decompressor somewhat; about 3-6% for Core 2,
6-13% for Core i7, and 5-12% for Opteron (all in 64-bit mode).
* Added compressed format documentation. This text is new,
but an earlier version from Zeev Tarantov was used as reference.
* Only link snappy_unittest against -lz and other autodetected
libraries, not libsnappy.so (which doesn't need any such dependency).
* Fixed some display issues in the microbenchmarks, one of which would
frequently make the test crash on GNU/Hurd.
Snappy v1.0.2, April 29th 2011:
* Relicense to a BSD-type license.
* Added C bindings, contributed by Martin Gieseking.
* More Win32 fixes, in particular for MSVC.
* Replace geo.protodata with a newer version.
* Fix timing inaccuracies in the unit test when comparing Snappy
to other algorithms.
Snappy v1.0.1, March 25th 2011:
This is a maintenance release, mostly containing minor fixes.
There is no new functionality. The most important fixes include:
* The COPYING file and all licensing headers now correctly state that
Snappy is licensed under the Apache 2.0 license.
* snappy_unittest should now compile natively under Windows,
as well as on embedded systems with no mmap().
* Various autotools nits have been fixed.
Snappy v1.0, March 17th 2011:
* Initial version.