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