Changelog for JuicyPixels-3.3.4

Change log ========== v3.3.4 September 2019 --------------------- * support reading compressed zTXt metadata from PNG files (claudeha) * Add helper functions to convert a DynamicImage to RGB16 (uglyoldbob) * Fix RGB to CMYK conversion (lehins) v3.3.3.1 June 2019 ------------------ * New GHC maintenance (thanks to ekmett) v3.3.3 December 2018 -------------------- * Enhanced: loading of bitmap format (thanks to CLowcay) * Refactoring: exposing more internal modules (thanks to wyager) * Refactoring: exposing dynamicMap & dynamicPixelMap through `Codec.Picture` (thnks to LightAndLight) * v3.3.3.1: fixing compilation with older GHC v3.3.2 October 2018 ------------------- * Fix: GHC-8.6 compilation fix (no upper bound on base) * Fix: upper bound on containers (pull request phadej) * Fix: palette validation for gifs (pull request omedan) * New: More complete gif creation API (pull request omedan) v3.3.1 August 2018 ------------------ * Fix: gif decoding of 1bit palette (fix Ornedan) * Fix: end of stream handling for gif's lzw encoding (fix Ornedan) v3.3 July 2018 -------------- * New: Eq instances for image * Fix: color gif resolution offset * New: support for Float Tiff * Breaking change: New `ImageY32` constructor for `Dynamic` hence the version bump. v3.2.9.5 March 2018 ------------------- * Fix: uniform color quantization v3.2.9.4 January 2018 ---------------------- * Compat for GHC-8.4 (pull request) * Fix: a character in latin1 which was still around. Whatever. So tired of this. v3.2.9.3 December 2017 ---------------------- * Fix: remove bad invisible unicde char v3.2.9.2 December 2017 ---------------------- * Fix: Progressive jpeg decoding when number of blocks of the MCU is below line size v3.2.9.1 November 2017 ---------------------- * Feature: Paletted alpha png saving v3.2.9 November 2017 ---------------------- * Fix: Adding correct import of Exif Flash for Jpeg (thanks to Alexander Kjeldaas) * Feature: Jpg Exif writing v3.2.8.3 August 2017 ------------------ * Fix: Jpeg loading of extended sequential jpg, not sure of all the implications, works with the sample v3.2.8.2 June 2017 ------------------ * Fix: usage of fail in Either monad, giving an unwanted exception v3.2.8.1 March 2016 ------------------- * Fix: proper flushing of jpeg writing, avoiding warning from libjpeg. * Fix: RGB jpeg get an Adobe's APP14 block to help MacOS & Photoshop reading v3.2.8 September 2016 --------------------- * Added: possibility to retrieve the parsed palette. * Fix: Fixing problem of progressive Jpeg decoding when block height is different of block width (#) v3.2.7.2 June 2016 ------------------ * Fix: no more libjpeg warning when decoding Juicy.Pixels encoded images. v3.2.7.1 May 2016 ----------------- * Fix: some wrongly infinitely looping JPEG decoding v3.2.7 January 2016 ------------------- * Addition: convertRGB8 and convertRGBA8 helper functions * Addition: new output colorspace for JPEG format: Y, RGB & CMYK * Addition: RGBA8 bitmap reading (thanks to mtolly) * Enhancement: Optimized JPG & Tiff reading (thanks to Calvin Beck) * Enhancement: INLINE SPECIALIZE for pixelMap (Pixel8 -> Pixel8) (thx to Calvin Beck) * Fix: GHC 8.0 compilation (thanks to phadej) v3.2.6.5 December 2015 ---------------------- * Fix: Compilation on GHC 7.6/7.8 v3.2.6.4 December 2015 ---------------------- * Fix: previous broken bugfix. v3.2.6.3 November 2015 ---------------------- * Fix: Fixing unwanted sharing with createMutableImage due to wrongly used INLINE pragma v3.2.6.2 November 2015 ---------------------- * Fix: Using minimal GIF version if outputing a single image. v3.2.6.1 August 2015 -------------------- * Fix: handling of negative height & width in bitmap format. * Fix: regression on Tiff parsing. V3.2.6 August 2015 -------------------- * Added: imageToTga saving helper function. * Fix: don't invert TGA alpha channel. * Fix: various typo in documentation. V3.2.5.3 July 2015 ------------------ * Fix: bumping vector upper bounds. V3.2.5.2 June 2015 ------------------ * Adding: Width & Height metdata to help querying image information without decompressing the whole. * Adding: Source format metadata. v3.2.5.1 May 2015 --------------- * Fixing: utf-8 encoding of Jpg/Types causing problems with Haddock. v3.2.5 May 2015 --------------- * Adding: Metadata extraction for various file format. * Adding: Metadata writing for various file format. * Adding: light EXIF mapping. * Fix: handling of Tiff with predictors (thanks to Patrick Pelletier) v3.2.4 April 2015 ----------------- * Adding: Traversals compatible with the lens library. v3.2.3.2 April 2015 ------------------- * Bumping: zlib max bound v3.2.3.1 March 2015 ------------------- * Bumping: primitive to allow 0.6 * Fix: BMP output generated wrong size (thanks to mtolly). * Fix: 7.10.1 warning free v3.2.3 March 2015 ----------------- * Adding: Support for RGB in jpeg (yeah, that exist...) * Adding: Support of CMYK & YCrCbK color space in jpeg files. * Addinng: a pixelFoldMap functions analog to the `foldMap` function of the Foldable type class. * Fix: better performances for the pixelFold* functions v3.2.2 January 2015 ------------------- * Fix: Squashing GHC 7.10 warnings v3.2.1 December 2014 -------------------- * Fix: Bumping deepseq dependencies preparing for GHC 7.10 release. v3.2 December 2014 ------------------ *BREAKING CHANGES*: the Codec.Picture.Gif functions has changed interfaces. * Adding: TGA reading. * Adding: TGA writing. * Adding: Packeable pixel unpack. * Fix: Returning gif with transparency (breaking Codec.Picture.Gif interface) v3.1.7.1 August 2014 -------------------- * Previous gif fix was not working withing the readImage function, only in specialized gif images. Correcting miscorection v3.1.7 August 2014 ------------------ * Making Juicy.Pixels compatible with GHC 7.9 HEAD (ggreif) * Adding writing to uncompressed radiance file, due to problems with Mac OS X "preview" application * Fixing problem of gif parsing without global palette * Some inlining annotations on some functions v3.1.6.1 August 2014 -------------------- * Fix of Gif palette creation (jeffreyrosenbluth) * Restoring transformers 0.3.* compat v3.1.6 August 2014 ------------------ * Fix bad disposal handling in GIF animations. * Added ColorConvertible instance for PixelRGB8 -> PixelRGBA16 (KaiHa) * Fixing a bad handling of tRNS causing bad transprency decoding in some circonstances. * Adding the concept of Packeable pixel for faster pixel filling using mutable array. v3.1.5.2 May 2014 ----------------- * Bumping the transformers dependency v3.1.5.1 May 2014 ----------------- * Adding some INLINE annotations for some pixel functions v3.1.5 March 2014 ----------------- * Typos and documentation proof reading fixes (pull request from iger). * Fix of progressive jpeg loading with more than two huffman tables (4 allowed). * Fix of progressive jpeg rendering (was too noisy before) * Added loading of paletted bitmap files. * Function to load gif images with frame duration information (pull request from bit-shift) * Fixing bug showing when loading JPEG with component ID starting at 0. * Adding reading for YA8 et YA16 Tiff images (pull request from iger) * Adding a mixWithAlpha method, to help work on transparent pixel types v3.1.4.1 February 2014 ---------------------- * Putting back data URI logo for cabal description, it's apparently not supported by Hackage :-( v3.1.4 February 2014 -------------------- * Adding a pixelOpacity method to the pixel type class. * Adding handling greyscale BMP files (phischu) * Fixing promotePixel for Pixel8 -> Pixel16 * Some type fixes in the documentation * Updating the pixel conversion graph * Removed URI-encoded images, now using clean cabal embedding v3.1.3.3 February 2014 ---------------------- * Lowering cabal version limit to be compiled with older GHCs v3.1.3.2 January 2014 --------------------- * Hacking around Binary to accept old version of it, down to version 0.5 allowing Juicy.Pixels to be compiled with GHC 6.3 v3.1.3.1 January 2014 --------------------- * Fixing color counting function in color quantisation. * Adding missing documentation for foreign pointer import. v3.1.3 January 2014 ------------------- * Adding palette creation (color Quantization) by Jeffrey Rosenbluth. * Adding support for Gif writing * Adding support for Gif animation writing * Fixing some progressive Jpeg decoding problems (#39) v3.1.2 December 2013 -------------------- * Adding support for progressive jpeg. * Adding support for plane separated MCU jpeg. * Adding support for grayscale 32bit decoding (with reduced precision to 16bits). * Fixing erroneous bitmap decoding in case of excessive padding (#31). v3.1.1.1 October 2013 --------------------- * Fixing some spurious crash while decoding some JPEG image (#30). v3.1.1 October 2013 -------------------- * Adding uncompresed TIFF saving. * Adding error message to avoid loading progressive loading. * Made MMAP optional, controled by a cabal flag. * adding dynamicPixelMap helper function. * Handling png transparency using color key (#26). v3.1 June 2013 -------------- * Adding basic handling of 16bits pixel types. * Addition of Tiff reading: - 2, 4, 8, 16 bit depth reading (planar and contiguous for each). - CMYK, YCbCr, RGB, Paletted, Greyscale. - Uncompressed, PackBits, LZW. * Some new tiny helper functions (nothing too fancy). * Huge performances improvement. v3.0 January 2013 ----------------- * Simplification of the 'Pixel' typeclass, removed many unused part. * Removal of some Storable instances for pixel types. * Amelioration of the documentation. * Support for High Dynamic range images, opening support for different pixel base component. * Support for the Radiance file format (or RGBE, file extension .pic and .hdr). * Dropped the cereal library in favor of the last version of Binary, present in the Haskell platform. Every dependencies are now present in the platform. v2.0.2 October 2012 ------------------- * Decoding of interleaved gif image. * Decoding delta coded gif animation. * Bumping dependencies. v2.0.1 September 2012 --------------------- * Documentation enhancements. * Fixing some huge gif file loading. * Fixing performance problem of Bitmap and Jpeg savings. v2.0 September 2012 ------------------- * New extractComponent version with type safe plane extraction. * Gif file reading. v1.3 June 2012 -------------- * Fix extractComponent function. * Adding saving for YA8 functions. v1.2.1 April 2012 ----------------- * Dependencies version bump. * Dropping array dependency. v1.2 March 2012 --------------- * Adding a generateImage helper function. * Adding NFData instances for image. * Adding JPEG writing. v1.1 February 2012 ------------------ * Switching to vector for arrays, big performance improvement. v1.0 January 2012 ----------------- * Initial release