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