| Snappy v1.3.1, Sep 18th 2026: | |
| * Fixed a uint32_t overflow when decompressor accepted an input with incorrect format | |
| * Significant RISC-V efficiency improvements | |
| * New API on providing your own memory context | |
| * Supporting compression levels (1-2) in C API | |
| * Various other small fixes | |
| Snappy v1.2.2, Mar 26th 2025: | |
| * We added a new compression level in v1.2.1 which compresses a bit | |
| denser but slower. Decompression speed should be even faster with it. | |
| * We fixed a very old issue of data corruption when compressed size | |
| exceeds 4GB. This can happen when you compress data close to 4GB | |
| and it's incompressible, for example, random data. | |
| * Started to use minimum CMake 3.10 because older ones are not | |
| planned to be supported. | |
| * Various other small fixes and performance improvements (especially | |
| for clang). | |
| 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. |