Changelog¶ ↑
The file documents the changes to this library over the different versions.
-
ChunkyPNG
uses semantic versioning. This means that the public API will not change except for major versions. -
Please add an entry to the “Unreleased changes” section in your pull requests, so I can move them into a numbered version section on release.
Unreleased changes¶ ↑
-
Implemented
ChunkyPNG::Dimension#hash
to fix some specs after a behavior change in RSpec.
1.3.11 - 2018-11-21¶ ↑
-
Updated project metadata as published on Rubygems.org
1.3.10 - 2018-01-23¶ ↑
-
Fixed a regression in Datastream#metadata, which was not able to deal with iTXt chunks.
1.3.9 - 2018-01-23¶ ↑
-
Add support for reading and writing an international textual data (iTXt chunks).
1.3.8 - 2016-08-31¶ ↑
-
Add support for reading and writing an image’s physical dimension (pHYs chunks).
1.3.7 - 2016-08-31¶ ↑
-
Performance improvement for
Color.euclidean_distance_rgba
. -
Bugfix in decoding transparent pixels when decoding multiple images in a row.
1.3.6 - 2016-06-19¶ ↑
-
Allow reading images from streams that have trailing data after the IEND chunk.
-
Add compatibility for Ruby 2.3’s frozen string literals.
-
Documentation updates and small cleanups.
1.3.5 - 2015-10-28¶ ↑
-
Performance improvements for
Canvas#crop!
andImageData.combine_chunks
-
Update
chunky_png/rmagick
to work with the latest versions of RMagick. -
Bugfix in
Color#from_hsl
andColor#from_hsv
when hue value is 360. -
Fix encoding issue in
Datastream#to_blob
1.3.4 - 2015-02-16¶ ↑
-
Assert compatibility with Ruby 2.2
-
Improved documentation using RDoc, so it is included on www.rubydoc.info/gems/chunky_png
-
Update chunkypng.com website; migrate some stuff from the wiki.
1.3.3 - 2014-10-24¶ ↑
-
Improve performance of
Canvas#crop
andCanvas#crop!
by doing less memory allocations. -
Update to RSPEC 3
-
Add CONTRIBUTING.rdoc file.
1.3.2 - 2014-10-18¶ ↑
-
Add HSV/HSL color conversions:
Color.from_hsl
,Color.to_hsl
-
Allow empty IDAT chunks to better conform to the PNG standard.
-
Small bugfix in image resampling.
-
Documentation and code readability improvements.
1.3.1 - 2014-04-28¶ ↑
-
Improve performance of
Palette.from_canvas
. -
Add
Color.euclidean_distance_rgba
to compare colors. -
Bugix in
Canvas.from_bgr_stream
. -
Documentation and code readibility improvements.
-
README updates, include mention of screencast.
1.3.0 - 2014-02-10¶ ↑
-
Add support for parsing color that use three-hex notation. (e.g. aaa instead of aaaaaa)
-
Add
Canvas#border!
andCanvas#border
to draw a border around a canvas. -
Add
Canvas#trim!
andCanvas#trim
to trim a border from a canvas.
1.2.9 - 2013-10-17¶ ↑
-
Set license in chunky_png.gemspec for better discoverability.
-
Improve error messages for
Canvas#crop
. -
Use better gem release management tasks from bundler.
1.2.8 - 2013-03-30¶ ↑
-
Ruby 2.0 compatibility.
-
Fixed some encoding issues on JRuby.
-
Update Travis CI configuration to test on more Ruby versions.
1.2.7 - 2013-01-07¶ ↑
-
Small PNG decoding performnace improvements by using bitwise math.
1.2.6 - 2012-08-07¶ ↑
-
Add decompression bomb security warning to README.
-
Fix RMagick loading issue on case sensitive filesystems.
-
Some compatibility fixes for the upcoming Ruby 2.0.
-
Allow more data-url notations for
ChunkyPNG::Canvas.from_data_url
.
1.2.5 - 2011-09-23¶ ↑
-
Edge case bugfix in
Color.decompose_alpha_component
that could get triggered in thechange_theme_color!
method.
1.2.4 - 2011-09-14¶ ↑
-
Added data URL importing
Canvas.from_data_url
.
1.2.3 - 2011-09-14¶ ↑
-
Added data URL exporting
Canvas#to_data_url
to easily use PNGs inline in CSS or HTML.
1.2.2 - 2011-09-14¶ ↑
-
Workaround for performance bug in REE.
1.2.1 - 2011-08-10¶ ↑
-
Added bicubic resampling of images.
-
Update resampling code to use integer math instead of floating points.
1.2.0 - 2011-05-08¶ ↑
-
Properly read PNG files with a tRNS chunk in color mode 0 (grayscale) or 2 (true color).
1.1.2 - 2011-05-06¶ ↑
-
Added
Color.to_grayscale
andCanvas#grayscale!
to convert colors and canvases to grayscale. -
Memory footprint improvement of
Canvas#resample!
1.1.1 - 2011-04-22¶ ↑
-
Added
Canvas#to_alpha_channel_bytes
andCanvas#to_grayscale_stream
to export raw pixel data. -
Spec suite cleanup
1.1.0 - 2011-03-19¶ ↑
-
Add bezier curve drawing:
Canvas#bezier_curve
. -
RDoc fixes & improvements.
1.0.1 - 2011-03-08¶ ↑
-
Performance improvements.
1.0.0 - 2011-03-06¶ ↑
There are some API changes for this release. If you are using Canvas#compose
or Canvas#replace
, these methods will no longer operate in place, but will return a new canvas instance instead. The in place versions have been renamed to compose!
and replace!
to be more consistent with the rest of the API.
-
Added image resampling using the nearest neighbor algorithm:
Canvas#resample
. -
Added circle and polygon drawing methods:
Canvas#circle
andCanvas#polygon
. -
Added in place version of
Canvas#crop
,Canvas#rotate_180
,Canvas#flip_horizontally
andCanvas#flip_vertically
. Just add a bang to the method name (e.g.Canvas#crop!
) and it will change the current canvas instead of returning a new one. These implementations are also more memory and CPU efficient. -
Added geometry helper classes:
ChunkyPNG::Point
,ChunkyPNG::Dimension
andChunkyPNG::Vector
. -
Added a list of HTML named colors. Get them by calling
ChunkyPNG::Color(:teal)
or 0.8’) atChunkyPNG::Color('red
-
Added encoding support for 1-, 2-, and 4-bit grayscale images.
-
Cleaned up auto-detection of color mode settings. It will now choose 1 bit grayscale mode if an image only contains black and white. (The other low bitrate grayscale modes are never chosen automatically.)
-
RDoc improvements. See rdoc.info/gems/chunky_png.
-
ChunkyPNG
is now also tested on Ruby 1.8.6.
0.12.0 - 2010-12-12¶ ↑
-
Added support for encoding indexed images with a low bitrate. It will automatically use less bits per pixel if possible.
-
Improved testing setup.
ChunkyPNG
is now tested on Ruby 1.8.7, 1.9.2, JRuby and Rubinius.
0.11.0 - 2010-11-16¶ ↑
-
Decoding of 1, 2 and 4 bit indexed color images.
-
Decoding of 1, 2 and 4 bit grayscale images.
-
Decoding 16 bit images. The extra bits will be discarded, so the image will be loaded as 8 bit.
-
Used the official PNG suite to build a more complete test suite.
0.10.5 - 2010-10-21¶ ↑
-
Bugfix: allow 256 instead of 255 colors for indexed images.
0.10.4 - 2010-10-17¶ ↑
-
Improved handling of binary encoding for strings in Ruby 1.9.
0.10.3 - 2010-10-07¶ ↑
-
Small fix to make grayscale use the B byte consistently.
0.10.2 - 2010-10-04¶ ↑
-
Another small fix for OilyPNG compatibility
0.10.1 - 2010-10-03¶ ↑
-
Small fix for OilyPNG compatibility
0.10.0 - 2010-10-03¶ ↑
-
Refactored decoding and encoding to work on binary strings instead of arrays of integers. This gives a nice speedup and uses less memory. Thanks to Yehuda Katz for the idea.
0.9.2 - 2010-09-16¶ ↑
-
Fixed an issue with interlaced images.
0.9.1 - 2010-09-15¶ ↑
-
Fixed image metadata issue when duplicating images.
0.9.0 - 2010-08-18¶ ↑
-
Added
flip_horizontally
,flip_vertically
,rotate_left
,rotate_right
androtate_180
toChunkyPNG::Canvas
. -
Now raises
ChunkyPNG::OutOfBounds
exceptions when referencing coordinates outside the image bounds. -
Added Gemfile for development dependency management.
0.8.0 - 2010-06-30¶ ↑
-
Added
ChunkyPNG::Image#rect
to draw simple rectangles. -
Fixed composing a transparent color on a fully transparent background.
0.7.3 - 2010-04-28¶ ↑
-
Based on the suggestion of [Dirkjan Bussink](github.com/dbussink), introduced custom exception classes:
-
ChunkyPNG::SignatureMismatch
is raised when the PNG signature could not be found. Usually this means the the file is not a PNG image. -
ChunkyPNG::CRCMismatch
is raised when the a CRC check for a chunk in the PNG file fails. -
ChunkyPNG::NotSupported
is raised when the PNG image uses a feature thatChunkyPNG
does not support. -
ChunkyPNG::ExpectationFailed
is raised when a required expectation failed.
-
0.7.2 - 2010-04-28 [YANKED]¶ ↑
0.7.1 - 2010-03-23¶ ↑
-
Some fixes for 32-bit systems.
0.7.0 - 2010-03-15¶ ↑
-
Added
:best_compression
saving routine to allow creating the smallest images possible. -
Added option to control Zlib compression level while saving.
0.6.0 - 2010-02-25¶ ↑
-
Added methods to easily create different color variants of an image with a color theme. See [[Images with a color theme]] for more information.
0.5.8 - 2010-02-24¶ ↑
-
Ruby 1.8.6 compatibility fixes
-
Improved API documentation.
0.5.5 - 2010-02-15¶ ↑
-
Added alpha decomposition to extract a color mask from a themed image.
-
Improved API documentation.
0.5.4 - 2010-01-17¶ ↑
-
Added
point
andline
anti-aliased drawing functions.
0.5.3 - 2010-01-16¶ ↑
-
Removed last occurrences of floating math to speed up the library.
-
Added importing of ABGR and BGR streams.
-
Added exporting an image as ABGR stream.
0.5.2 - 2010-01-15¶ ↑
-
Ruby 1.9 compatibility fixes.
-
Improved speed of PNG decoding.
-
Bugfix in average scanline decoding filter.
0.5.1 - 2010-01-15¶ ↑
-
Added
:fast_rgba
and:fast_rgb
saving routines, which yield a 1500% speedup when saving an image.
0.5.0 - 2010-01-15¶ ↑
-
Complete rewrite of the earlier versions, now including awesomeness and unicorns.