• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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