* support for progressive jpegs added (fixes long standing "bug" of progressive jpegs becoming non-progressive during optimization),
* new options --all-normal & --all-progressive for converting jpegs to non-progressive & progressive,
* new -S / --size option to set target size for output file (enables lossy optimization),
Version 1.6.1beta06 [March 4, 2013]
Better documentation of unknown handling API interactions.
Corrected Android builds and corrected libpng.vers with symbol
prefixing This adds an API to set optimization options externally,
providing an alternative and general solution for the non-portable
run-time tests used by the ARM Neon code. It also makes those tests
compile and link on Android.
The order of settings vs options in pnglibconf.h is reversed to allow
settings to depend on options and options can now set (or override) the
defaults for settings.
Version 1.6.1beta07 [March 7, 2013]
Corrected simplified API default gamma for color-mapped output, added
a flag to change default. In 1.6.0 when the simplified API was used
to produce color-mapped output from an input image with no gamma
information the gamma assumed for the input could be different from
that assumed for non-color-mapped output. In particular 16-bit depth
input files were assumed to be sRGB encoded, whereas in the 'direct'
case they were assumed to have linear data. This was an error. The
fix makes the simplified API treat all input files the same way and
adds a new flag to the png_image::flags member to allow the
application/user to specify that 16-bit files contain sRGB data
rather than the default linear.
Fixed bugs in the pngpixel and makepng test programs.
Version 1.6.1beta08 [March 7, 2013]
Fixed CMakelists.txt to allow building a single variant of the library
(Claudio Bley):
Introduced a PNG_LIB_TARGETS variable that lists all activated library
targets. It is an error if this variable ends up empty, ie. you have
to build at least one library variant.
Made the *_COPY targets only depend on library targets actually being build.
Use PNG_LIB_TARGETS to unify a code path.
Changed the CREATE_SYMLINK macro to expect the full path to a file as the
first argument. When symlinking the filename component of that path is
determined and used as the link target.
Use copy_if_different in the CREATE_SYMLINK macro.
Version 1.6.1beta09 [March 13, 2013]
Eliminated two warnings from the Intel C compiler. The warnings are
technically valid, although a reasonable treatment of division would
show it to be incorrect.
Version 1.6.1rc01 [March 21, 2013]
No changes.
Version 1.6.1 [March 28, 2013]
No changes.
* GIF comments are no longer displaced by 1 for animated GIFs (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=22901).
* A blur kernel with a zero sigma is unity.
* Do not replace gAMA found in input with 1/2.2
* Avoid a libpng16 warning about storing unknown chunks.
* Improve performance when rendering a caption.
* The compare 'map' image should not be transparent.
* Use only major version for decorating include path.
February 19, 2013: Release 1.11
A GeoJSON backend was added; thanks to Christoph Hormann for
contributing this. Support for bitfields in the BMP format was
added. A minor change was made to the behavior of the alphamax
parameter; a value of 0 now gives a true polygon.
Changelog:
Bug fix update
Over 80 bugs fixed since 2.66 release:
Interface
Fix#34357: Image editor scope and clip editor track preview did not resize properly with different DPI settings. (r54760)
Fix#33466: Alt+MouseWheel changes frame as well as buttons (r54929)
Fix UI/DPI: user preferences window size now takes into account DPI, otherwise the buttons don't fit properly. (r54945)
Fix soft shadow at top edge incorrectly drawn (r54954)
Fix#34418: Screencast could be started twice (r54961)
Fix#34509: Panel color were not updated from old files properly (r54996)
Allow trackpad and magic mouse swipes to control brush size for circle select. (r55027)
Fix (regression) #34391: Window position not saving correctly for next start-up (r54879)
Fix#34390: quicktime video codec menu showing blank (r54942)
Viewport
Fix#34378: GLSL materials using multiple UV layers fail in editmode (r54783)
Fix#34347: View3D Mini-Axis drawing in error with overlay (r54789)
Fix#34426: Manipulator handles drawn incorrectly by depth (r54923)
Fix glitch rotating the camera in camera mode drawing helper-line in random locations (r54928)
Animation
Fix zoom for graph-editor (and other editors) (r54910)
Sequencer
Fix#34439: Strip modifier - Mask multiply failure (r54901)
Fix#34453: Added RGBA|RGB channels toggle to sequencer preview (r54904)
Fix sequencer crash when pasteing strips after creating new file (r54935)
Composite/Nodes
Fix#34356: Inputs list in file output doesn't appear properly. (r54754)
Fix#34359: Crash when using image output node (r54746)
Fix#34474: "Record Composite" image op segfaults in compositor code (r54948)
Fix#34461: Inconsistent behavior of "Color Mix Node" and "Alpha Over Node" (r54960)
Fix#34507: Adding reroute node into invalid links would crash the compositor (r55047)
MovieClip/Tracking
Fix memory leak when loading multilayer EXR as movie clip (r54934)
Fix for incorrect subpixel precision of marker when using track offset (r55028)
Render
Fix#34351: Displacement map Bake margin does not work (r54748)
Fix#34436: Node editor delete texture crash (r54908)
Fix#34493: Image Sequence texture didn't allow "Offset" with fcurves. (r55012)
Fix#34475: Weird noise bug with Texture nodes (r55021)
Fix for texture preview render with show alpha enabled (r55026)
Fix image transparency backwards compatibility. Now the texture datablock has a 'Use Alpha' option again. (r55022)
Render (Cycles)
Fix#34421: viewport render stuck with no objects in the scene. (r54885)
Fix#34480: hair render in dupligroup did hide the emitter properly in some cases. (r54959)
Modifiers
Fix#34358: Shrinkwrap modifier project along normal did not work correctly (r54793)
Fix#34369: applying screw modifier turns object to black (r55004)
Tools
Fix#34384: Border select in UV Image window crashed (r54816)
Fix for weight paint using values over 1.0 when blending (r54833)
Fix for regression in 'object.shape_key_transfer' operator since BMesh merge (r54834)
Fix#34415: Edge slide results in segmentation fault on certain mesh (r54875)
Fix#34455: Origin to Center of Mass is missing in menu Object > Transform (r54891)
Fix selecting linked faces (r54920 r54921)
Fix#34366: mesh.select_mode operator could not be configure the use_extend and use_expand properly. (r54944)
fix#34486: Selection of bones in armature edit mode only toggles between two bones (r54969)
Fix#34534: Copy/Paste objects hangs (r55051)
Fix (regression) #34438: Solidify crease error (r54882)
Fix missing select menu for weight, vertex, texture paint modes. (r54883)
Fix joining meshes could loose crease/bevel weights (r54899)
Fix (regression) #34449: Edge toggline bevel failed (r54900)
Sculpt
Fix#34370: Collapse-Edges crash in dyntopo (r54827)
Fix#34431: Crash when dyntopo enabled and using view plane mode (r54971)
Fix#34473: Blender Crashes on toggling modes, dynatopo sculpt/object mode. (r55007)
Game Engine
Fix projection clipping (r54733)
Fix#34349: Character walkDirection ADD mode -#INF error. (r54738)
Fix#18967: Enable alpha buffer (useful for TV broadcasting). (r54745)
Fix#34353: Ray cast on Triangle mesh bounded Rigid Body Object crashes (r54757)
Fix#34219: Webcam support under Linux in Standalone broken (r54764)
Fix#34330: Action Actuator "caching" the previous ran actions (r54766 r54767 r54769)
Fix error using actions with multiple scenes (r54767)
Fix object color channels can now be animated separately without zeroing out the other channels (r54772)
Fix error using uninitialized variables for rendering (r54776 r54781)
Fix#34377: Game-Engine - Multi UV mesh's materials not backwards compatible (r54780)
Fix Game-Engine crashing when on material conversions (r54837)
Fix#34440: Motion blur (2d filter) not working in osx (r54912)
Fix#34428#20856#20281: converting multi-uv layers. (r54972)
Fix#34523: 2D-Filter produces render error (r55010)
Fix#34517: 2D-Filter causes mouselook script drifting effect (r55011)
Rigid Body
Fix motion paths calculation being incorrect for rigid bodies (r54799)
Allow rigidbody collision groups to be animated (r54818)
Fix#34410: Planes with Rigid Body always keep distance to colliding objects (r54855)
Fix#34420: Rigid objects not resetting original properly after running a simulation. (r54862)
Fix inconsistency with world rebuilding with the start frame (r54990)
Text Editor
Fix Fix text editor bug: ctrl+F is not configurable (r54878)
Fix#54907: freeze when turning on syntax highlight (r54907)
Fix crash when overwriting ascii character with multibyte character (r54917)
Python
Fix Python console bug: "autocomplete" doesn't advance cursor properly when completion includes UTF8 characters (r54824)
Fix#34423: foreach_get crash for any non existant attribute (r54865 r54866)
Fix#34372: mesh.verts.foreach_set not working with normals (r54943)
Fix for python exception getting the ID from an operator button (r54835)
Other
Fix freeing all bakes in particle mode (r54822)
Fix file with packed images crashes on load (r54790)
Fix image alpha version patch with library linked files (r54794)
Fix#34427: Collada export crash with armature (r54856)
Fix X3D import error loading UV's (r4325)
Fix X3D import for images (r4327)
Rigify fixes (r4321 r4334 r4335)
Special Issues:
Due to GCC bug 53967, several key agorithms (e.g. convolution) may execute much faster (e.g. 2-3X) for x86-64 and/or when SSE is enabled for floating point math (-mfpmath=sse) if the GCC option -frename-registers is used. Default 32-bit builds do not experience the problem since they use '387 math. It is not clear in what version of GCC this problem started but it was not noticed by the developers until the GCC 4.6 timeframe. Other compilers do not suffer from this bug.
Security Fixes:
None.
Bug fixes:
Fixed bug with format substitutions if input string ends with a single '%'.
BMP: Fixed an old bug with decoding chromaticity primaries.
PNG: Fixed reading of interlaced images. Fix reading of sub-8-bit palette and grayscale images. Some PNG sub-formats were written incorrectly. Fix crash in PNG8 writer if image colors happened to be non-zero but image was not actually colormapped.
PNG: Configure script now also searches for libpng versions 16 and 17.
TIFF: Fix a crash which was noticed when writing RGBA separated (planar) format.
--enable-symbol-prefix was not prefixing all of the C symbols. Some core C library functions were not prefixed. This option applies to the Wand library API as well now.
C API: When input is from a user-provided file descriptor, the file position is restored after reading the file header bytes. Previously the file position was rewound to the beginning of the file. This allows reading embedded image data from the current offset in a file, and allows continuing to use the stream after GraphicsMagick has returned the image.
C API: It is now possible to invoke CloseBlob() multiple times.
display: Display was supposed to respond to +/-usePixmap, but was not. It was responding to +/-use_pixmap. Now it responds to both.
Windows/VisualMagick: Fix building GraphicsMagick with Intel ICC compiler driven by Visual Studio Professional 2012.
Windows: Avoid a crash and produce a useful diagnostic if Ghostscript is needed but not yet installed.
New Features:
GM utility: New 'batch' command was contributed by Kenneth Xu which supports executing any number of other GM utility sub-commands in a single invokation in a sort of "batch" script. Input may be piped from standard input, from a specified file, or from a 'GM >' command prompt. This utilities front-end allows any other program/script to drive 'gm' using a co-process model and speeds up execution by eliminating utility start-up/shut-down time.
WIN64 (64-bit Windows): Windows 64-bit is now officially supported.
convert/mogrify: Now support -auto-orient to automatically rotate the image upright for viewing based on its current orientation setting. Also support -orient to support setting the current image orientation. Please note that the orientation property of EXIF profiles is not yet updated so the EXIF profile will be wrong after using -auto-orient.
C API: AutoOrientImage(), new New function to automatically orient the image so that it is upright for normal viewing.
Wand API: MagickGetImagePage()/MagickSetImagePage(), new functions to support getting and setting the image page size and offsets.
PNG: Added PNG48 and PNG64 support. Added PNG00 support (png encoder that inherits its color-type and bit-depth from the input, if the input was a PNG datastream).
Feature improvements:
GraphicsMagick TAP tests may now be run stand-alone using Perl's 'prove' TAP test driver.
Performance Improvements:
Detection of glob specifications in file names is more efficient.
Windows Delegate Updates:
None.
Behavior Changes:
ltdl: Libltdl is no longer bundled. Libltdl must be previously installed on the system in order to build the modules configuration.
AppendImages() now converts subsequent images to the colorspace of the first image, and no longer converts the first image to RGB. Instead, it is assumed the user knows what she is doing.
SetImageColorRegion() no longer automatically converts the image to RGB. The user is responsible for assuring that the provided color is in the same colorspace as the image.
Revision history for Image::Info
2012-02-29 Slaven Rezic <slaven@rezic.de>
Release 1.34
Stable release with all changes in 1.33_50..1.33_51
2013-01-28 Slaven Rezic <slaven@rezic.de>
Release 1.33_51
Handle corrupt JPEG files with extraneous bytes
2013-01-25 Slaven Rezic <slaven@rezic.de>
Release 1.33_50
Limited support for WBMP files.
2012-11-03 Slaven Rezic <slaven@rezic.de>
Release 1.33
Added test image for RT #78471.
2012-10-25 Slaven Rezic <slaven@rezic.de>
Release 1.32_52
Handle BMP files with negative heights (RT #78471).
2012-10-24 Slaven Rezic <slaven@rezic.de>
Release 1.32_51
Signature fix.
2012-10-23 Slaven Rezic <slaven@rezic.de>
Release 1.32_50
Repacked because of Module::Install 1.04 problems (see mail from
Miyagawa). Now Image::Info is again using good old EUMM.
* Removed plte_len stuff from the "To do" list because it is done.
* Shorten the indexed-PNG tRNS chunk length if it has more entries than the PLTE chunk.
* Bilinear resampling in C.
* Removed debugging printf.
* Set bounds correctly, add tests.
* Store pixels in uint32_t instead of long. Saves space and works
on 32-bit systems
* Bump chunky_png dependency to 1.2.7.
This is a bugfix release, with the only significant change being
changing compiler flags to work around what is probably a bug in gcc,
tending to show up on ubuntu/amd64.
Added license info for cexcept.h, libpng, and zlib.
Added consideration of "zopfli" compression to the "To do" list.
Fixed a typo that caused a cHRM chunk to be "found" if an iCCP chunk
were present.
Reset best_byte_count before trial loop.
Revise global png_set_keep_unknown_chunks() calls to avoid a libpng16
warning.
Reset "intent" to "specified_intent" before trial loop.
Reset "plte_len" to "specified_plte_len" before trial loop.
Initialize length of each trial to 0x7fffffff so any untried method
is not the "best method".