1- 12/16/2022: version 1.3.0 2 This is a binary compatible release. 3 * add libsharpyuv, which exposes -sharp_yuv/config.use_sharp_yuv 4 functionality to other libraries; libwebp now depends on this library 5 * major updates to the container and lossless bitstream docs (#448, #546, 6 #551) 7 * miscellaneous warning, bug & build fixes (#576, #583, #584) 8 9- 8/4/2022: version 1.2.4 10 This is a binary compatible release. 11 * restore CMake libwebpmux target name for compatibility with 1.2.2 (#575) 12 * fix lossless crunch mode encoding with WEBP_REDUCE_SIZE 13 (chromium: #1345547, #1345595, #1345772, #1345804) 14 15- 6/30/2022: version 1.2.3 16 This is a binary compatible release. 17 * security fix for lossless encoder (#565, chromium:1313709) 18 * improved progress granularity in WebPReportProgress() when using lossless 19 * improved precision in Sharp YUV (-sharp_yuv) conversion 20 * many corrections to webp-lossless-bitstream-spec.txt (#551) 21 * crash/leak fixes on error/OOM and other bug fixes (#558, #563, #569, #573) 22 23- 1/11/2022: version 1.2.2 24 This is a binary compatible release. 25 * webpmux: add "-set bgcolor A,R,G,B" 26 * add ARM64 NEON support for MSVC builds (#539) 27 * fix duplicate include error in Xcode when using multiple XCFrameworks in a 28 project (#542) 29 * doc updates and bug fixes (#538, #544, #548, #550) 30 31- 7/20/2021: version 1.2.1 32 This is a binary compatible release. 33 * minor lossless encoder improvements and x86 color conversion speed up 34 * add ARM64 simulator support to xcframeworkbuild.sh (#510) 35 * further security related hardening in libwebp & examples 36 (issues: #497, #508, #518) 37 (chromium: #1196480, #1196773, #1196775, #1196777, #1196778, #1196850) 38 (oss-fuzz: #28658, #28978) 39 * toolchain updates and bug fixes (#498, #501, #502, #504, #505, #506, #509, 40 #533) 41 * use more inclusive language within the source (#507) 42 43- 12/23/2020: version 1.2.0 44 * API changes: 45 - libwebp: 46 encode.h: add a qmin / qmax range for quality factor (cwebp adds -qrange) 47 * lossless encoder improvements 48 * SIMD support for Wasm builds 49 * add xcframeworkbuild.sh, supports Mac Catalyst builds 50 * import fuzzers from oss-fuzz & chromium (#409) 51 * webpmux: add an '-set loop <value>' option (#494) 52 * toolchain updates and bug fixes (#449, #463, #470, #475, #477, #478, #479, 53 #488, #491) 54 55- 12/18/2019: version 1.1.0 56 * API changes: 57 - libwebp: 58 WebPMalloc (issue #442) 59 - extras: 60 WebPUnmultiplyARGB 61 * alpha decode fix (issue #439) 62 * toolchain updates and bug fixes 63 (chromium: #1026858, #1027136, #1027409, #1028620, #1028716, #995200) 64 (oss-fuzz: #19430, #19447) 65 66- 7/4/2019: version 1.0.3 67 This is a binary compatible release. 68 * resize fixes for Nx1 sizes and the addition of non-opaque alpha values for 69 odd sizes (issues #418, #434) 70 * lossless encode/decode performance improvements 71 * lossy compression performance improvement at low quality levels with flat 72 content (issue #432) 73 * python swig files updated to support python 3 74 Tool updates: 75 vwebp will now preserve the aspect ratio of images that exceed monitor 76 resolution by scaling the image to fit (issue #433) 77 78- 1/14/2019: version 1.0.2 79 This is a binary compatible release. 80 * (Windows) unicode file support in the tools (linux and mac already had 81 support, issue #398) 82 * lossless encoder speedups 83 * lossy encoder speedup on ARM 84 * lossless multi-threaded security fix (chromium:917029) 85 86- 11/2/2018: version 1.0.1 87 This is a binary compatible release. 88 * lossless encoder speedups 89 * big-endian fix for alpha decoding (issue #393) 90 * gif2webp fix for loop count=65535 transcode (issue #382) 91 * further security related hardening in libwebp & libwebpmux 92 (issues #383, #385, #386, #387, #388, #391) 93 (oss-fuzz #9099, #9100, #9105, #9106, #9111, #9112, #9119, #9123, #9170, 94 #9178, #9179, #9183, #9186, #9191, #9364, #9417, #9496, #10349, 95 #10423, #10634, #10700, #10838, #10922, #11021, #11088, #11152) 96 * miscellaneous bug & build fixes (issues #381, #394, #396, #397, #400) 97 98- 4/2/2018: version 1.0.0 99 This is a binary compatible release. 100 * lossy encoder improvements to avoid chroma shifts in various circumstances 101 (issues #308, #340) 102 * big-endian fixes for decode, RGBA import and WebPPictureDistortion 103 Tool updates: 104 gifwebp, anim_diff - default duration behavior (<= 10ms) changed to match 105 web browsers, transcoding tools (issue #379) 106 img2webp, webpmux - allow options to be passed in via a file (issue #355) 107 108- 11/24/2017: version 0.6.1 109 This is a binary compatible release. 110 * lossless performance and compression improvements + a new 'cruncher' mode 111 (-m 6 -q 100) 112 * ARM performance improvements with clang (15-20% w/ndk r15c, issue #339) 113 * webp-js: emscripten/webassembly based javascript decoder 114 * miscellaneous bug & build fixes (issue #329, #332, #343, #353, #360, #361, 115 #363) 116 Tool updates / additions: 117 added webpinfo - prints file format information (issue #330) 118 gif2webp - loop behavior modified to match Chrome M63+ (crbug.com/649264); 119 '-loop_compatibility' can be used for the old behavior 120 121- 1/26/2017: version 0.6.0 122 * lossless performance and compression improvements 123 * miscellaneous performance improvements (SSE2, NEON, MSA) 124 * webpmux gained a -duration option allowing for frame timing modification 125 * new img2webp utility allowing a sequence of images to be converted to 126 animated webp 127 * API changes: 128 - libwebp: 129 WebPPictureSharpARGBToYUVA 130 WebPPlaneDistortion 131 - libwebpmux / gif2webp: 132 WebPAnimEncoderOptions: kmax <= 0 now disables keyframes, kmax == 1 133 forces all keyframes. See mux.h and the gif2webp 134 manpage for details. 135 136- 12/13/2016: version 0.5.2 137 This is a binary compatible release. 138 This release covers CVE-2016-8888 and CVE-2016-9085. 139 * further security related hardening in the tools; fixes to 140 gif2webp/AnimEncoder (issues #310, #314, #316, #322), cwebp/libwebp (issue 141 #312) 142 * full libwebp (encoder & decoder) iOS framework; libwebpdecoder 143 WebP.framework renamed to WebPDecoder.framework (issue #307) 144 * CMake support for Android Studio (2.2) 145 * miscellaneous build related fixes (issue #306, #313) 146 * miscellaneous documentation improvements (issue #225) 147 * minor lossy encoder fixes and improvements 148 149- 6/14/2016: version 0.5.1 150 This is a binary compatible release. 151 * miscellaneous bug fixes (issues #280, #289) 152 * reverted alpha plane encoding with color cache for compatibility with 153 libwebp 0.4.0->0.4.3 (issues #291, #298) 154 * lossless encoding performance improvements 155 * memory reduction in both lossless encoding and decoding 156 * force mux output to be in the extended format (VP8X) when undefined chunks 157 are present (issue #294) 158 * gradle, cmake build support 159 * workaround for compiler bug causing 64-bit decode failures on android 160 devices using clang-3.8 in the r11c NDK 161 * various WebPAnimEncoder improvements 162 163- 12/17/2015: version 0.5.0 164 * miscellaneous bug & build fixes (issues #234, #258, #274, #275, #278) 165 * encoder & decoder speed-ups on x86/ARM/MIPS for lossy & lossless 166 - note! YUV->RGB conversion was sped-up, but the results will be slightly 167 different from previous releases 168 * various lossless encoder improvements 169 * gif2webp improvements, -min_size option added 170 * tools fully support input from stdin and output to stdout (issue #168) 171 * New WebPAnimEncoder API for creating animations 172 * New WebPAnimDecoder API for decoding animations 173 * other API changes: 174 - libwebp: 175 WebPPictureSmartARGBToYUVA() (-pre 4 in cwebp) 176 WebPConfig::exact (-exact in cwebp; -alpha_cleanup is now the default) 177 WebPConfig::near_lossless (-near_lossless in cwebp) 178 WebPFree() (free'ing webp allocated memory in other languages) 179 WebPConfigLosslessPreset() 180 WebPMemoryWriterClear() 181 - libwebpdemux: removed experimental fragment related fields and functions 182 - libwebpmux: WebPMuxSetCanvasSize() 183 * new libwebpextras library with some uncommon import functions: 184 WebPImportGray/WebPImportRGB565/WebPImportRGB4444 185 186- 10/15/15: version 0.4.4 187 This is a binary compatible release. 188 * rescaling out-of-bounds read fix (issue #254) 189 * various build fixes and improvements (issues #253, #259, #262, #267, #268) 190 * container documentation update 191 * gif2webp transparency fix (issue #245) 192 193- 3/3/15: version 0.4.3 194 This is a binary compatible release. 195 * Android / gcc / iOS / MSVS build fixes and improvements 196 * lossless decode fix (issue #239 -- since 0.4.0) 197 * documentation / vwebp updates for animation 198 * multi-threading fix (issue #234) 199 200- 10/13/14: version 0.4.2 201 This is a binary compatible release. 202 * Android / gcc build fixes 203 * (Windows) fix reading from stdin and writing to stdout 204 * gif2webp: miscellaneous fixes 205 * fix 'alpha-leak' with lossy compression (issue #220) 206 * the lossless bitstream spec has been amended to reflect the current code 207 208- 7/24/14: version 0.4.1 209 This is a binary compatible release. 210 * AArch64 (arm64) & MIPS support/optimizations 211 * NEON assembly additions: 212 - ~25% faster lossy decode / encode (-m 4) 213 - ~10% faster lossless decode 214 - ~5-10% faster lossless encode (-m 3/4) 215 * dwebp/vwebp can read from stdin 216 * cwebp/gif2webp can write to stdout 217 * cwebp can read webp files; useful if storing sources as webp lossless 218 219- 12/19/13: version 0.4.0 220 * improved gif2webp tool 221 * numerous fixes, compression improvement and speed-up 222 * dither option added to decoder (dwebp -dither 50 ...) 223 * improved multi-threaded modes (-mt option) 224 * improved filtering strength determination 225 * New function: WebPMuxGetCanvasSize 226 * BMP and TIFF format output added to 'dwebp' 227 * Significant memory reduction for decoding lossy images with alpha. 228 * Intertwined decoding of RGB and alpha for a shorter 229 time-to-first-decoded-pixel. 230 * WebPIterator has a new member 'has_alpha' denoting whether the frame 231 contains transparency. 232 * Container spec amended with new 'blending method' for animation. 233 234- 6/13/13: version 0.3.1 235 This is a binary compatible release. 236 * Add incremental decoding support for images containing ALPH and ICCP chunks. 237 * Python bindings via swig for the simple encode/decode interfaces similar to 238 Java. 239 240- 3/20/13: version 0.3.0 241 This is a binary compatible release. 242 * WebPINewRGB/WebPINewYUVA accept being passed a NULL output buffer 243 and will perform auto-allocation. 244 * default filter option is now '-strong -f 60' 245 * encoding speed-up for lossy methods 3 to 6 246 * alpha encoding can be done in parallel to lossy using 'cwebp -mt ...' 247 * color profile, metadata (XMP/EXIF) and animation support finalized in the 248 container. 249 * various NEON assembly additions 250 Tool updates / additions: 251 * gif2webp added 252 * vwebp given color profile & animation support 253 * cwebp can preserve color profile / metadata with '-metadata' 254 255- 10/30/12: version 0.2.1 256 * Various security related fixes 257 * cwebp.exe: fix import errors on Windows XP 258 * enable DLL builds for mingw targets 259 260- 8/3/12: version 0.2.0 261 * Add support for ARGB -> YUVA conversion for lossless decoder 262 New functions: WebPINewYUVA, WebPIDecGetYUVA 263 * Add stats for lossless and alpha encoding 264 * Security related hardening: allocation and size checks 265 * Add PAM output support to dwebp 266 267- 7/19/12: version 0.1.99 268 * This is a pre-release of 0.2.0, not an rc to allow for further 269 incompatible changes based on user feedback. 270 * Alpha channel encode/decode support. 271 * Lossless encoder/decoder. 272 * Add TIFF input support to cwebp. 273 Incompatible changes: 274 * The encode ABI has been modified to support alpha encoding. 275 * Deprecated function WebPINew() has been removed. 276 * Decode function signatures have changed to consistently use size_t over 277 int/uint32_t. 278 * decode_vp8.h is no longer installed system-wide. 279 * cwebp will encode the alpha channel if present. 280 281- 9/19/11: version 0.1.3 282 * Advanced decoding APIs. 283 * On-the-fly cropping and rescaling of images. 284 * SSE2 instructions for decoding performance optimizations on x86 based 285 platforms. 286 * Support Multi-threaded decoding. 287 * 40% improvement in Decoding performance. 288 * Add support for RGB565, RGBA4444 & ARGB image colorspace. 289 * Better handling of large picture encoding. 290 291- 3/25/11: version 0.1.2 292 * Incremental decoding: picture can be decoded byte-by-byte if needs be. 293 * lot of bug-fixes, consolidation and stabilization 294 295- 2/23/11: initial release of version 0.1, with the new encoder 296- 9/30/10: initial release version with only the lightweight decoder 297