pngquant Changelog

What's new in pngquant 2.17.0

Nov 22, 2021
  • Fix for Unicode filenames on Windows.
  • Builds for ARM.
  • Small quality improvements.

New in pngquant 2.16.0 (Sep 30, 2021)

  • GUI:
  • SuperPNG Photoshop plug-in — Mac and Windows. Comparison with "Save for Web"
  • PNGoo — Windows GUI for batch conversion
  • ImageOptim API — image compression web service that automatically uses pngquant.
  • Command-line:
  • Binary for Windows
  • Latest source code (to build on other platforms)

New in pngquant 2.15.0 (May 8, 2021)

  • Speed and quality improvements

New in pngquant 2.13.1 (Nov 22, 2020)

  • Small speed and quality improvements

New in pngquant 2.13.0 (Oct 21, 2020)

  • Small speed and quality improvements

New in pngquant 2.12.2 (Oct 29, 2018)

  • Improved speed on large images

New in pngquant 2.12.0 (Jun 4, 2018)

  • Improved speed on large images

New in pngquant 2.11.7 (Jan 19, 2018)

  • fixed wildcard support on Windows
  • fixed argument parsing on Windows

New in pngquant 2.10.0 (Jul 4, 2017)

  • supports building with Rust/Cargo
  • supports dynamic linking with system-wide libimagequant

New in pngquant 2.9 (Jul 4, 2017)

  • added support for `-o -`
  • windows/JNI build fixes

New in pngquant 2.8 (Jul 4, 2017)

  • libimagequant is a separate project
  • strip option to disable copying of PNG metadata

New in pngquant 2.7 (Nov 4, 2016)

  • Improved dithering of saturated and semitransparent colors
  • Fixed order of log output when using openmp
  • Improved quality sanity check in --skip-if-larger option
  • Disabled palette post-processing on colors from --map option to preserve them exactly

New in pngquant 2.6 (Nov 4, 2016)

  • When source image has no color profile information, the output won't have either

New in pngquant 2.5.2 (Mar 4, 2016)

  • replaced color search algorithm with vantage point tree, which is much faster and more reliable
  • deprecated IE6 workaround
  • warn when compiled without color profile support
  • improved support for predefined colors in libimagequant
  • Rust API for libimagequant

New in pngquant 2.4 (Apr 14, 2015)

  • fixed remapping of bright colors when dithering
  • added libimagequant API to add fixed preset colors to the palette

New in pngquant 2.3.1 (Apr 10, 2015)

  • added ./configure script for better support of Intel C compiler and dependencies [thanks to pdknsk]
  • tweaked quality metric to better estimate quality of images with large solid backgrounds
  • atomic file saves and fixed --skip-if-larger
  • avoid applying quality setting to images that use palette already
  • preserving standard PNG chunks (requires libpng 1.6)
  • deprecated libpng 1.2 support

New in pngquant 2.2.0 (Jul 25, 2014)

  • added ./configure script for better support of Intel C compiler and dependencies
  • tweaked quality metric to better estimate quality of images with large solid backgrounds

New in pngquant 2.1 (Jul 25, 2014)

  • option to save files only if they're compressed better than the original
  • option to generate posterized output (for use with 16-bit textures)
  • support for ICC profiles via Little CMS library

New in pngquant 2.0 (Jul 25, 2014)

  • refactored codebase into pngquant and standalone libimagequant
  • reduced memory usage by further 30% (and more for very large images)
  • less precise remapping improving speed by 25% in higher speed settings
  • output option for writing converted file under the given path
  • light dithering with --floyd=0.5
  • fixed regression in dithering of alpha channel

New in pngquant 1.8 (Jul 25, 2014)

  • min/max quality option (number of colors is automatically adjusted for desired quality level)
  • switched option parsing to getopt_long (syntax such as -s1 and --ext=ext is supported)
  • significantly improved performance thanks to custom partial sorting
  • optional Cocoa (Mac OS X) image reader for color profile support
  • reduced memory usage by 20%
  • remapping improved for very low number of colors

New in pngquant 1.7 (Jun 14, 2012)

  • New, accurate RGBA color similarity algorithm
  • Change of optional SSE3 code to SSE2 that is always enabled on x86-64
  • Optional OpenMP-based parallelisation of remapping
  • Significantly improved performance thanks to custom partial sorting
  • Changed long options to use double hyphen (-force to --force)

New in pngquant 1.6 (Jun 14, 2012)

  • Novel dithering algorithm that doesn't add noise unless necessary
  • Perceptual weighting of colors taking into account edges and noise
  • Much faster remapping
  • Improved portability, makefiles and man page

New in pngquant 1.5 (Jun 14, 2012)

  • Palettes postprocessed with Voronoi iteration
  • Better RGBA color similarity algorithm and Floyd-Steinberg remapping
  • SSE optimisations

New in pngquant 1.4 (Jun 14, 2012)

  • Median cut is applied many times in a feedback loop
  • Speed/quality trade-off option
  • Faster remap of transparent areas

New in pngquant 1.3 (Jun 14, 2012)

  • Significant changes to the algorithm: use of variance to find largest dimensioin and to split most varying boxes
  • Use of premultiplied alpha for color blending
  • Conversion of output to gamma 2.2

New in pngquant 1.2 (Jun 14, 2012)

  • Color computation done in floating point
  • Gamma correction applied
  • Dropped support for very old systems & compilers

New in pngquant 1.1 (Jun 14, 2012)

  • Alpha-sensitive color reduction and dithering
  • Support -- and - arguments in command line
  • Number of colors optional (defaults to 256)
  • Increased maximum number of colors in histogram

New in pngquant 1.0 (Jun 14, 2012)

  • Cleaned up Makefile.unx (better gcc optimizations, "clean" target)
  • Recompiled binaries with zlib 1.1.4

New in pngquant 0.95 (Jun 14, 2012)

  • Fixed Win32 filter bug (binary mode for stdin/stdout)
  • Fixed cosmetic "choosing colors" verbosity buglet
  • Fixed palette-size bug when number of colors in image < number requested
  • Fixed sample-depth bug (png_set_packing() not retroactively smart)

New in pngquant 0.91 (Jun 14, 2012)

  • Fixed some verbose/non-verbose oopers
  • Fixed Win32 (MSVC) portability issues (getpid(), random(), srandom())
  • Added Makefile.w32 for MSVC (tested with 5.0)

New in pngquant 0.90 (Jun 14, 2012)

  • Added support for multiple files on command line
  • Changed stdin support to write PNG stream to stdout (not "stdin-fs8.png")

New in pngquant 0.75 (Jun 14, 2012)

  • Added support for any type of input file [Glenn Randers-Pehrson]
  • Fixed palette-(re)scaling bug
  • Added -verbose and -quiet options (default now is -quiet)
  • Added palette-remapping to minimize size of tRNS chunk
  • Made Floyd-Steinberg dithering default
  • Changed output naming scheme to -fs8.png and -or8.png (FS or ordered dither)