NEWS (6638B)
1 Snappy v1.2.2, Mar 26th 2025: 2 3 * We added a new compression level in v1.2.1 which compresses a bit 4 denser but slower. Decompression speed should be even faster with it. 5 6 * We fixed a very old issue of data corruption when compressed size 7 exceeds 4GB. This can happen when you compress data close to 4GB 8 and it's incompressible, for example, random data. 9 10 * Started to use minimum CMake 3.10 because older ones are not 11 planned to be supported. 12 13 * Various other small fixes and performance improvements (especially 14 for clang). 15 16 Snappy v1.1.10, Mar 8th 2023: 17 18 * Performance improvements 19 20 * Compilation fixes for various environments 21 22 Snappy v1.1.9, May 4th 2021: 23 24 * Performance improvements. 25 26 * Google Test and Google Benchmark are now bundled in third_party/. 27 28 Snappy v1.1.8, January 15th 2020: 29 30 * Small performance improvements. 31 32 * Removed snappy::string alias for std::string. 33 34 * Improved CMake configuration. 35 36 Snappy v1.1.7, August 24th 2017: 37 38 * Improved CMake build support for 64-bit Linux distributions. 39 40 * MSVC builds now use MSVC-specific intrinsics that map to clzll. 41 42 * ARM64 (AArch64) builds use the code paths optimized for 64-bit processors. 43 44 Snappy v1.1.6, July 12th 2017: 45 46 This is a re-release of v1.1.5 with proper SONAME / SOVERSION values. 47 48 Snappy v1.1.5, June 28th 2017: 49 50 This release has broken SONAME / SOVERSION values. Users of snappy as a shared 51 library should avoid 1.1.5 and use 1.1.6 instead. SONAME / SOVERSION errors will 52 manifest as the dynamic library loader complaining that it cannot find snappy's 53 shared library file (libsnappy.so / libsnappy.dylib), or that the library it 54 found does not have the required version. 1.1.6 has the same code as 1.1.5, but 55 carries build configuration fixes for the issues above. 56 57 * Add CMake build support. The autoconf build support is now deprecated, and 58 will be removed in the next release. 59 60 * Add AppVeyor configuration, for Windows CI coverage. 61 62 * Small performance improvement on little-endian PowerPC. 63 64 * Small performance improvement on LLVM with position-independent executables. 65 66 * Fix a few issues with various build environments. 67 68 Snappy v1.1.4, January 25th 2017: 69 70 * Fix a 1% performance regression when snappy is used in PIE executables. 71 72 * Improve compression performance by 5%. 73 74 * Improve decompression performance by 20%. 75 76 Snappy v1.1.3, July 6th 2015: 77 78 This is the first release to be done from GitHub, which means that 79 some minor things like the ChangeLog format has changed (git log 80 format instead of svn log). 81 82 * Add support for Uncompress() from a Source to a Sink. 83 84 * Various minor changes to improve MSVC support; in particular, 85 the unit tests now compile and run under MSVC. 86 87 88 Snappy v1.1.2, February 28th 2014: 89 90 This is a maintenance release with no changes to the actual library 91 source code. 92 93 * Stop distributing benchmark data files that have unclear 94 or unsuitable licensing. 95 96 * Add support for padding chunks in the framing format. 97 98 99 Snappy v1.1.1, October 15th 2013: 100 101 * Add support for uncompressing to iovecs (scatter I/O). 102 The bulk of this patch was contributed by Mohit Aron. 103 104 * Speed up decompression by ~2%; much more so (~13-20%) on 105 a few benchmarks on given compilers and CPUs. 106 107 * Fix a few issues with MSVC compilation. 108 109 * Support truncated test data in the benchmark. 110 111 112 Snappy v1.1.0, January 18th 2013: 113 114 * Snappy now uses 64 kB block size instead of 32 kB. On average, 115 this means it compresses about 3% denser (more so for some 116 inputs), at the same or better speeds. 117 118 * libsnappy no longer depends on iostream. 119 120 * Some small performance improvements in compression on x86 121 (0.5–1%). 122 123 * Various portability fixes for ARM-based platforms, for MSVC, 124 and for GNU/Hurd. 125 126 127 Snappy v1.0.5, February 24th 2012: 128 129 * More speed improvements. Exactly how big will depend on 130 the architecture: 131 132 - 3–10% faster decompression for the base case (x86-64). 133 134 - ARMv7 and higher can now use unaligned accesses, 135 and will see about 30% faster decompression and 136 20–40% faster compression. 137 138 - 32-bit platforms (ARM and 32-bit x86) will see 2–5% 139 faster compression. 140 141 These are all cumulative (e.g., ARM gets all three speedups). 142 143 * Fixed an issue where the unit test would crash on system 144 with less than 256 MB address space available, 145 e.g. some embedded platforms. 146 147 * Added a framing format description, for use over e.g. HTTP, 148 or for a command-line compressor. We do not have any 149 implementations of this at the current point, but there seems 150 to be enough of a general interest in the topic. 151 Also make the format description slightly clearer. 152 153 * Remove some compile-time warnings in -Wall 154 (mostly signed/unsigned comparisons), for easier embedding 155 into projects that use -Wall -Werror. 156 157 158 Snappy v1.0.4, September 15th 2011: 159 160 * Speeded up the decompressor somewhat; typically about 2–8% 161 for Core i7, in 64-bit mode (comparable for Opteron). 162 Somewhat more for some tests, almost no gain for others. 163 164 * Make Snappy compile on certain platforms it didn't before 165 (Solaris with SunPro C++, HP-UX, AIX). 166 167 * Correct some minor errors in the format description. 168 169 170 Snappy v1.0.3, June 2nd 2011: 171 172 * Speeded up the decompressor somewhat; about 3-6% for Core 2, 173 6-13% for Core i7, and 5-12% for Opteron (all in 64-bit mode). 174 175 * Added compressed format documentation. This text is new, 176 but an earlier version from Zeev Tarantov was used as reference. 177 178 * Only link snappy_unittest against -lz and other autodetected 179 libraries, not libsnappy.so (which doesn't need any such dependency). 180 181 * Fixed some display issues in the microbenchmarks, one of which would 182 frequently make the test crash on GNU/Hurd. 183 184 185 Snappy v1.0.2, April 29th 2011: 186 187 * Relicense to a BSD-type license. 188 189 * Added C bindings, contributed by Martin Gieseking. 190 191 * More Win32 fixes, in particular for MSVC. 192 193 * Replace geo.protodata with a newer version. 194 195 * Fix timing inaccuracies in the unit test when comparing Snappy 196 to other algorithms. 197 198 199 Snappy v1.0.1, March 25th 2011: 200 201 This is a maintenance release, mostly containing minor fixes. 202 There is no new functionality. The most important fixes include: 203 204 * The COPYING file and all licensing headers now correctly state that 205 Snappy is licensed under the Apache 2.0 license. 206 207 * snappy_unittest should now compile natively under Windows, 208 as well as on embedded systems with no mmap(). 209 210 * Various autotools nits have been fixed. 211 212 213 Snappy v1.0, March 17th 2011: 214 215 * Initial version.