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