G'MIC is an open and full-featured framework for image processing,
providing several different user interfaces to
convert/manipulate/filter/visualize generic image datasets, from
1d scalar signals to 3d+t sequences of multi-spectral volumetric
images.
The package contains a command line tool and a gimp plugin.
2.5.1 (2014-07-10)
------------------
- Fixed install issue if Multiprocessing.Pool is not available
[wiredfool]
- 32bit mult overflow fix#782
[wiredfool]
----
- Added ``ObjectGraph.edgeData`` to retrieve the edge data
from a specific edge.
- Added ``AltGraph.update_edge_data`` and ``ObjectGraph.updateEdgeData``
to update the data associated with a graph edge.
== 2.1.3: 2014-08-03
A drawing performance improved release.
=== Improvements
==== rabbit
* Improved input encoding detection for UTF-8 case.
[GitHub#34] [Reported by Colin Dean]
* Markdown: Supported no text item list.
[GitHub#37] [Reported by Colin Dean]
* Improved drawing performance when vertical centering isn't used.
[GitHub#35] [Reported by Colin Dean]
* Avoided memory usage growing.
[GitHub#41] [Reported by Enrico Rivarola]
==== Theme
* default-preformatted: Changed text size element to
(({PreformattedBlock})) from (({PreformattedText})).
* tag: Supported (({xx-small})) tag and (({xx-large})) tag.
[GitHub#39] [Patch by Enrico Rivarola]
* syntax-highlighting: Supported float literal.
==== Document
* Updated Ruby Installer version. [Masafumi Yokoyama]
* Updated how to install with Homebrew.
[GitHub#30] [Patch by Bert Chang]
* Improved English and translated into English.
[GitHub#33] [Patch by Tomohiro Imaizumi]
* Added a description about Rabbit doesn't support 64bit Ruby on Windows.
[GitHub#43] [Patch by YUKI Hiroshi]
=== Fixes
==== rabbit
* Fixed a bug that rabbit command's exit code is always non-zero.
* Fixed a crash bug when rabbit command is ran on no window system
environment.
[shocker-ja:1189] [Reported by Kazuhiro NISHIYAMA]
* Information window: Fixed a bug that note text isn't changed when
window size is changed.
[shocker-en:71][shocker-en:74] [Reported by Enrico Rivarola]
* Information window: Fixed a bug that long word in note text is cut.
[shocker-en:78] [Reported by Enrico Rivarola]
* Information window: Fixed a bug that markup in note text isn't applied.
[GitHub#38] [Patch by Enrico Rivarola]
* Fixed a bug that temporary files aren't removed when they aren't needed.
[GitHub#40] [Patch by Enrico Rivarola]
==== rabbit-slide
* Fixed a bug that tags are ignored on uploading SlideShare.
=== Thanks
* Masafumi Yokoyama
* Kazuhiro NISHIYAMA
* Bert Chang
* Enrico Rivarola
* Colin Dean
* YUKI Hiroshi
Adobe Illustrator SVG files containing entities can be loaded again
Support for Poppler 0.26
Support for Boehm-GC 7.4.0 and later
Several crash bugs were fixed
64-bit compilation is now possible on Windows
Rosenvik.
LibPGF is a library for encoding and decoding the progressive graphics
file (PGF) format. PGF is is based on discrete, fast wavelet transform
with progressive coding features and has both lossy and lossless
compression.
1.44
Modern g++ seems to dislike *printf without a constant format string if there
are no other aguuments and was causing compiles to fail. Fixed warning
and patch from Tobias Quathamer.
Manpage spelling fix from Tobias Quathamer.
John Heidemann pointed out that plot doesn't accept modifiers to strings
(though he didn't phrase it that way). The short form is that
plot bullet at x,y
wasn't working. I've adjusted plot to make the string modifiers into
active keywords, which fixes the problem.
Someone named Y T pointed out that there was no mod operator (%). There
is now.
This marks the transition from my home brewed Makefiles to automake-generated
makefiles. A couple largely unused options went away, but with any luck
we still build everywhere.
Robert Daasch submitted a patch to include floor and ceil fuctions.
That's been incorporated. (His patch also included adding a mod
operator, but I'd already done that.)
Added minimal support for dates, by adding versions of strftime and
strptime that return and accept seconds since the unix epoch.
1.43
Bruce Lilly pointed out that g++ 4.3.1 was emitting all sorts of dire
warnings about the hash_map data structure and associated support being
pulled from g++ in the future. SuSe seems to ship with this and there's
no point scaring people (or letting a time bomb tick). Grap now detects
and uses unordered_map if it's present on your system, which stops the
wailing and gnashing of teeth from g++ 4.3.1 . That g++ version also
requires a compiler option to support that include file, which we also
autodetect and use. (This is essentially autodetecting the flags described in
the changes to grap 1.41 below, along with some code changes to make that
actually function correctly.)
A fellow named Fergus had a Cygwin compilation problem as well. His
system apparently had rand but not random (a very rare configuration
these days). This led me to find a corner of the autoconf code that I
apparently hadn't checked sufficiently. If rand was found and a
declaration made in the system files, the grap config stuff failed to
note the declaration and made its own incompatible one. This should be
gone now.
Fergus's system also seemed to be lacking snprintf - which again is very
odd. I hadn't reflected the change to grap sprintf in version 1.23 into
the code that emulates snprintf on systems without it. That code has
been added.
Changed the examples to include a brief tutorial on string matching in
grap. Suggested by John Heidemann.
1.42
There's been a long standing bug with how different versions of pic
interpret the "line from (x,y) then down 5" construct. There was once a
bug report at
http://lists.gnu.org/archive/html/groff/2008-03/msg00003.html
about this. As of version 1.42 grap no longer outputs this pic construct.
Dan Lasley pointed out that the key was incomplete for the bar graph example.
His fix to restore the key is included.
John Heidemann points out that bars in coordinate systems other than the
default just didn't work. This was a bug in my yacc grammer - for
heaven's sake. It's corrected to match the manual page.
For loops were strange in that
.G1
for xx from 15 to 13 do { print "YYY" }
print "ZZZZ"
.G2
would loop infinitely. xx never passes 13. Added a test to make that a
null loop as well as making
.G1
for xx from 13 to 13 do { print "YYY" }
print "ZZZZ"
.G2
print one "YYY". You can still confuse loops, using strange by clauses
- for example "by 0" or "by * -1" but common cases should be covered.
Spotted by a fellow named Yuval.
Found a lurking initializer bug while fixing the for loop thing.
I added references to standard plot strings in a couple places to make
them somewhat easier to find.
===========
* Speed optimizations.
* Change the output when using the ``qr`` script to use ASCII rather than
just colors, better using the terminal real estate.
* Fix a bug in passing bytecode data directly when in Python 3.
* Substation speed optimizations to best-fit algorithm (thanks Jacob Welsh!).
Version 5.0.1
-------------
* Update version numbers correctly.
Based on PR pkg/48992 by NONAKA Kimihiro.
MComix is a user-friendly, customizable image viewer. It is
specifically designed to handle comic books, but also serves as a
generic viewer. It reads images in ZIP, RAR, 7Zip or tar archives as
well as plain image files.
This package provides encoder/decoder implementation for DEC SIXEL graphics, and
some converter programs.
SIXEL is one of image formats for printer and terminal imaging introduced by
Digital Equipment Corp. (DEC).
Its data scheme is represented as a terminal-friendly escape sequence.
So if you want to view a SIXEL image file, all you have to do is "cat" it to
your terminal.
Changelog:
Release 1.4.10 (20 Jun 2014 -- compared to 1.4.9)
-------------------------------------------------
* Fix for portrait-orientation RAW image reads. (#878)
* maketx: Fix case typo for LatLong env map creation when in 'prman'
mode (#877).
* New Strutil string comparison functions: starts_with, ends_with.
* Make 3.0 compatibility fixes on OSX.
* New Strutil simple parsing functions: skip_whitespace, parse_char,
parse_until_char, parse_prefix, parse_int, parse_float, parse_string,
parse_word, parse_identifier, parse_until.
* New Filesystem functions: create_directory, copy, remove, remove_all,
temp_directory_path, unique_path.
Release 1.4.9 (6 Jun 2014 -- compared to 1.4.8)
-----------------------------------------------
* Allow in-source build (not recommended, but necessary for MacPorts). (#863)
* CPack improvements. (#863)
* Fixes to docs-building makefiles. (#873)
* Make ImageSpec::get_float_attribute correctly convert many integer types.
(#862)
* Fixed some alloca calls that did not get the right amount of memory. (#866)
* OpenEXR: Improve the quality of lossy b44 compression by more correctly
using the pLinear value of channels (we were incorrectly using the flag
to indicate linear channels, but it's really for channels that are
perceptually linear). (#867)
* More robust build when OpenEXR and IlmBase have installed their
respective header files in different directories rather than the
expected behavior of being installed together. (#861)
* Fix an off-by-one loop in IBA::resize that would not get the wrong
image result, but might trigger debuggers to flag it as touching the
wrong memory. (#868)
* Fix build break in DEBUG compiles for ustring internals. (#869)
* Fix warnings about potentially uninitialized variables. (#871)
* Make thread.h use more modern gcc intrinsics when gcc >= 4.8, this
allows correct thread.h operations for PPC and MIPS platforms that
were't working before. (#865)
* Fix Windows build when OIIO_STATIC_BUILD is used. (#872)
* Fixes to get a clean compile on Windows + MSVC 9. (#872)
* New filters available to direct users of filter.{h,cpp} and for
ImageBufAlgo, oiiotoo, and maketx: "cubic", "keys", "simon", "rifman". (#874)
* OpenEXR: Fix potential build breaks due to incorrect use of
Imf::isDeepData() which apparently was not intended to be an
externally-visible function. (#875)
* JPEG: Fix broken recognition of .jfi extension. (#876)
Release 1.4.8 (23 May 2014 -- compared to 1.4.7)
------------------------------------------------
* Fix several compiler warnings and build breakages for a variety of
platforms and compiler versions. No new feature or true bug fixes.
#857, #858, #859
Release 1.4 (19 May 2014) -- compared to 1.3.x
----------------------------------------------
Major new features and improvements:
* The PNM reader now supports "PFM" files, which are the floating point
extension to PNM. (1.4.1)
* Preliminary support for reading a wide variety of digital camera "RAW"
files. (1.4.1)
* New oiiotool commands:
--cpow : raise pixel values to a power (1.4.1)
--label : give a name to the top-of-stack image, can be referred
to later in the command line (1.4.1)
--cut : combine --crop, --origin +0+0, and --fullpixels. (1.4.3)
--pdiff : perceptual diff (#815) (1.4.4)
--polar, --unpolar : complex <-> polar conversion. (#831) (1.4.5)
* oiiotool --resize and --fit, and also maketx when using "good" filters
for downsizing, have been significantly sped up. When downsizing
with large filters, we have seen up to 3x improvement. (#808) (1.4.3)
Public API changes:
* New ImageBufAlgo functions:
- pow() raises pixel values to a power. (1.4.1)
- cut() cuts a region of pixels and moves it to the origin (combines
crop, reset origin, and set full res = data resolution). (1.4.3)
- complex_to_polar() and polar_to_complex() convert from (real,imag)
to (amplitude,phase) and back. (#831) (1.4.5)
* New string_view class (in string_view.h) describes a non-owning
reference to a string. The string_view is now used in many places
throughout OIIO's APIs that used to pass parameters or return values
as char* or std::string&. Read string_view.h for an explanation of why
this is good. (1.4.2, 1.4.3) (N.B. this was called string_ref until 1.4.6,
when it was renamed string_view to conform to C++17 draft nomenclature.)
* New array_view<>, array_view_strided<>, strided_ptr<>, and image_view<>
templates are great utility for passing bounded and strided arrays. (1.4.3)
* Removed deprecated PT_* definitions from typedesc.h.
* Removed the quantization-related fields from ImageSpec. (1.4.3)
* Dither: If ImageOutput::open() is passed an ImageSpec containing the
attribute "oiio:dither" and it is nonzero, then any write_*() calls
that convert a floating point buffer to UINT8 output in the file will
have a hashed dither added to the pixel values prior to quantization
in order to prevent the appearance of visible banding. The specific
nonzero value passed for the attribute will serve as a hash seed so
that the pattern is repeatable (or not). (1.4.3)
Fixes, minor enhancements, and performance improvements:
* Improved oiiotool features:
* --stats on deep files now prints additional info, such as the minimum
and maximum depth and on which pixels they were encountered, as well
as which pixel had the maximum number of depth samples. (1.4.1)
* --resize and --resample allow WIDTHx0 or 0xHEIGHT, where the '0'
value will be interpreted as automatically computing the missing
dimension to preserve the aspect ratio of the source image.
(#797, #807) (1.4.3)
* Fixed possible crash when using --origin with tiled, cached
images. (1.3.12/1.4.2)
* --pdiff does a perceptual diff (like 'idiff -p'). (#815) (1.4.4)
* --dumpdata takes a noptional modifier empty=0 that will cause empty
deep pixels to not produce any output. (#821) (1.4.5)
* --polar, --unpolar convert from complex (real,imag) to polar
(amplitude, phase) and vice versa. (#831) (1.4.5)
* View wildcards: similar to frame range wildcards, "%V" is replaced by
new names, "%v" by the first letter of each view. The view list is
{"left","right"} by default, but may be set with the --views argument.
(1.4.5)
* --over and --zover set the resulting display/full window to the union
of those of the inputs; previously it set the display window to that
of the foreground image, which is often a poor default. (1.4.7)
* ImageCache/TextureSystem:
- The multi-point version of environment() was broken. (1.3.9/1.4.1)
- Don't honor the SHA-1 fingerprint found in a file if the "Software"
metadata doesn't indicate that the file was written by maketx or
oiiotool. (1.4.3)
* OpenEXR:
- Multi-part EXR (2.0) didn't write the required "name" attribute for
each part. (1.3.10/1.4.1)
- Fix crashing bug when reading stringvector attributes in the
file. (1.3.11/1.4.2)
- Add .sxr and .mxr as possible filename extensions (1.3.12/1.4.2)
- Smarter channel ordering of input of files with ZBack, RA, GA, or BA
channels (#822) (1.4.5).
- Adhere to the misunderstood limitation that OpenEXR library doesn't
allow random writes to scanline files. (1.4.6)
- More robust with certain malformed metadata. (#841) (1.4.6)
* TIFF: Give a more explicit error message for unsupported tile sizes (1.4.4)
* GIF: Fixes to subimage generation; GIF frames are treated as sequential
windows to be drawn on canvas rather than as independent images; respect
"disposal" method; initial canvas is now transparent and all GIFs are
presented as 4-channel images. (#828) (1.4.5)
* iconvert: properly handle multi-image files for formats that can't
append subimages. (1.3.10/1.4.1)
* iv info window should print native file info, not translated
ImageBuf/ImageCache info. (1.3.10/1.4.1)
* Fix ImageCache::get_pixels() for the chbegin != 0 case, when cache
and output buffer types were not identical. (1.3.10/1.4.1)
* DPX:
- Fixed several places in the where it could have had buffer
overruns when processing certain malformed string fields. (1.4.1)
- Fixed inappropriate use of "dpx_ImageDescriptor" could make invalid
DPX files (especially when reading metadata from one DPX file,
changing the number of channels, then writing out again as a DPX
file). (1.3.10/1.4.1)
- For output, honor the "Software" metadata attribute passed in.
(1.3.11/1.4.2)
- Ignore negative image origin values, which are not allowed by the
DPX spec which states they are unsigned. (#813) (1.4.4)
- Fix improper handling of unsupported pixel data types. (#818) (1.4.5)
- Accept pixel ratio (x/0) to mean 1.0, not NaN. (#834) (1.4.5/1.3.13)
- Pad subimages to 8k boundaries, as suggested by the DPX spec (1.4.7)
- Properly write "userdata" field to DPX files if set. (1.4.7)
* PNG:
- add "png:compressionlevel" and "compression" strategy attributes.
(1.3.12/1.4.2)
- output properly responds to "oiio:UnassociatedAlpha"=1 to indicate
that the buffer is unassociated (not premultiplied) and therefore it
should not automatically unpremultiply it. (1.4.5)
* Make ImageBuf iterators return valid black pixel data for missing
tiles. (1.3.12/1.4.2)
* Make the ImageOutput implementations for all non-tiled file formats
emulate tiles by accepting write_tile() calls and buffering the image
until the close() call, at which point the scanlines will be output.
(1.4.3)
* All ImageBufAlgo functions, and oiiotool, strip any "oiio:SHA-1" hash
values in the metadata in order not to confuse the TextureSystem. (1.4.3)
* IFF: accept write_scanline, even though IFF is tile only. (1.4.3)
* The implementation of the Lanczos filter (and any operations using it)
have been sped up by using an approximate fast_sinpi instead of the
more expensive sin() (1.4.3).
* Speed up iinfo --hash / oiiotool --hash by about 20%. (#809) (1.4.4)
* All format writer plugins: ensure that calling close() twice is safe.
(#810) (1.4.4)
* oiiotool --info and iinfo output have been altered slightly to make them
match and be consistent. Also, oiiotool didn't say that deep files were
deep (1.4.4).
* Fixed bad bugs in IBA::flatten() and oiiotool --flatten. (#819) (1.4.5)
* Fix Parameter neglect of properly copying the m_interp field for assignment
and copy construction. (#829) (1.4.5/1.3.13)
* Fix ImageBufAlgo::circular_shift (and oiiotool --cshift) that did not
wrap correctly for negative shifts. (#832) (1.4.5/1.3.13)
* The "gaussian" flter incorrectly had default width 2 (correct = 3),
and the "mitchell" filter incorrect had default width 3 (correct = 4).
These were bugs/typos, the new way is correct. If you were using those
filters in ways that used the default width value, appearance may change
slightly. (1.4.6)
Build/test system improvements:
* libOpenImageIO_Util is now built that only has the utility functions
in libutil (in addition to the libOpenImageIO, which contains everything).
This is handy for apps that want to use OIIO's utility functions (such
as ustring or Filesystem) but doesn't really need any of the image
stuff. A build flag BUILD_OIIOUTIL_ONLY=1 will cause only the util
library to be built. (1.4.1)
* New build option OIIO_THREAD_ALLOW_DCLP=0 will turn off an
optimization in thread.h, resulting in possibly worse spin lock
performance during heavy thread contention, but will no longer get
false positive errors from Thread Sanitizer. The default is the old
way, with full optimization! (1.4.1)
* More robust detection of OpenEXR library filenames. (1.4.1)
* Always reference OpenEXR and Imath headers as <OpenEXR/foo.h> rather
than <foo.h>. (1.4.1)
* Unit test strutil_test now comprehensively tests Strutil. (1.4.1)
* Fix broken build when EMBEDPLUGINS=0. (1.4.3/1.3.13)
* Fix broken build against OpenEXR 1.x. (1.4.3/1.3.13)
* version.h has been renamed oiioversion.h. For back compatibility, there
is still a version.h, but it merely includes oiioversion.h. (#811) (1.4.4)
* Moved all the public header files from src/include to
src/include/OpenImageIO, so that the src/include area more closely
matches the layout of an OIIO install area. (#817) (1.4.4)
* Fix compilation problems for PowerPC (#825). (1.4.5/1.3.13)
* Fixes for OpenBSD compilation. (#826/#830) (1.4.5/1.3.13)
* Fixes for Linux compilation when building with BUILDSTATIC=1. (1.4.6)
* Fixes for compilation against IlmBase/OpenEXR 2.1. (1.4.6)
* Improve finding of Freetype on some systems (1.4.6).
* Add to top level Makefile the option STOP_ON_WARNING=0 to let it cleanly
compile code that generates compiler warnings, without stopping the build.
(1.4.7)
Developer goodies / internals:
* TBB has been removed completely. (1.4.2)
* Slightly faster timer queries in timer.h for OSX and Windows. (1.4.1)
* Strutil :
- safe_strcpy() -- like strncpy, but copies the terminating 0 char. (1.4.1)
- split() fixes bug when maxsplit is not the default value. (1.3.10/1.4.1)
* ParamValue/ParamValueList :
- ParamValue now allows get/set of the internal 'interp' field. (1.3.9/1.4.1)
- ParamValueList::push_back is not properly const-ified. (1.4.1)
- New PVL::find() lets you search on the PVL. (1.4.6)
* fmath.h :
- New fast_sin, fast_cos, fast_sinpi, fast_cospi are much faster
polynomial approximations (with max absolute error of ~0.001). (1.4.3)
- round_to_multiple_of_pow2 - a faster version of the existing
round_to_multiple(), but only works when the multiple is known to be
a power of 2. (1.4.6)
* TypeDesc now has operator<, which makes it easier to use STL data structures
and algorithms that expect an ordering, using TypeDesc as a key. (1.4.6)
* thread.h
- Slight thread.h portability tweaks. (1.4.1)
- spin_rw_lock now has more standard lock()/unlock() as synonym for
for exclusive/write lock, and lock_shared()/unlock_shared() as
synonym for "read" locks. (1.4.6)
* ustring :
- new ustringLess and ustringHashIsLess functors make it easier to use
ustring as keys in STL data structures and algorithms that require
an ordering function. (1.4.6)
- improve thread performance significantly by using an
unordered_map_concurrent internally for the ustring table. (1.4.6)
* unordered_map_concurrent.h :
- Allow umc template to specify a different underlying map for the
bins. (1.4.6)
- Add retrieve() method that's slightly faster than find() when you just
need a value, not an iterator. (1.4.6)
- Align bins to cache lines for improved thread performance. (1.4.6)
* ImageBuf iterators have a new rerange() method that resets the iteration
range, without changing images or constructing a new iterator. (1.4.6)
Release 1.3.14 (19 May 2014 -- compared to 1.3.13)
--------------------------------------------------
* OpenEXR output: More robust with certain malformed metadata. (#841) (1.4.6)
* Rename the string_ref class to string_view. (This is unused in OIIO, it
is for compatibility with OSL.)
* Build fixes on Linux when using BUILDSTATIC=1.
* Add round_to_multiple_of_pow2 to fmath.h
* Add STOP_ON_WARNING option to the top level Makeile wrapper.
* Add documentation on the Python binding for IBA::cut.
* oiiotool --over and --zover now set the output image's display window to
the union of the inputs' display window, rather than to the foreground.
Changelog:
2.4.9
April, 2014
Several improvements in OpenCL optimizations (ocl::sum, ocl::countNonZero, ocl::minMax, bitwise operationss, Haar face detector, etc)
Multiple fixes in Naitve Camera (NativeCameraView, cv::VideoCapture);
Improved CUDA support for all CUDA-enabled SoCs.
New VTK-based 3D visualization module viz stabilized and back-ported to 2.4 branch.
The module provides a very convenient way to display and position clouds, meshes, cameras and trajectories, and simple widgets (cube, line, circle, etc.).
Full demo video can be found at Itseez Youtube channel
Numerous bugfixes in code and docs from community
156 pull requests have been merged since 2.4.8
55 reported bugs have been closed since 2.4.8
2.4.8
December, 2013
User provided OpenCL context can be used by OpenCV ( ocl::initializeContext )
A separate OpenCL command queue is created for every CPU thread (allows concurrent kernels execution)
Some new OpenCL optimizations and bug-fixes
NVidia CUDA support on CUDA capable SoCs;
Android 4.4 support, including native camera;
Java wrappers for GPU-detection functions from core module were added;
New sample with CUDA on Android was added;
OpenCV Manager and apps hanging were fixed on Samsung devices with Android 4.3 (#3368, #3372, #3403, #3414, #3436).
Static linkage support for native C++ libraries;
139 pull requests have been merged since version:2.4.7!
32 reported bugs have been closed since version:2.4.7
2.4.7
November, 2013
Now 'ocl' module can be built without installing OpenCL SDK (Khronos headers in OpenCV tree);
Dynamic dependency on OpenCL runtime (allows run-time branching between OCL and non-OCL implementation);
Changing default OpenCL device via OPENCV_OPENCL_DEVICE environment variable (without app re-build);
Refactoring/extending/bug-fixing of existing OpenCL optimizations, updated documentation;
New OpenCL optimizations of SVM, MOG/MOG2, KalmanFilter and more;
New optimization for histograms, TV-L1 optical flow and resize;
Updated multi gpu sample for stereo matching;
Fixed BGR<->YUV color conversion and bitwize operations;
Fixed several build issues;
Android NDK-r9 (x86, x86_64) support;
Android 4.3 support: hardware detector (Bugs #3124, #3265, #3270) and native camera (Bug #3185);
MediaRecorder hint enabled for all Android devices with API level 14 and above;
Fixed JavaCameraView slowdown (Bugs #3033, #3238);
Fixed MS Certification test issues for all algorithmical modules and highgui, except OpenEXR and Media Foundation code for camera;
Implemented XAML-based sample for video processing using OpenCV;
Fixed issue in Media Foundation back-end for VideoCapture (#3189);
382 pull requests have been merged since 2.4.6!
54 reported bugs have been fixed since 2.4.6 (issue tracker query).
Fixes the build on systems with a native harfbuzz library, where the
library will otherwise be auto-detected.
Add: USE_TOOLS+=pkg-config
Not identified as fixing any real-world problems, but it corrects build
behaviour if buildlinking harfbuzz for diagnostic purposes.
Helps with working around the problems identified in PR pkg/48919.
No PKGREVISION bump - I believe all the problems fixed here prevent this
package from building at all if on an affected platform, and unaffected
platforms will not be affected by these changes.
2.5.0 (2014-07-01)
------------------
- Imagedraw rewrite
[terseus, wiredfool]
- Add support for multithreaded test execution
[wiredfool]
- Prevent shell injection #748
[mbrown1413, wiredfool]
- Support for Resolution in BMP files #734
[gcq]
- Fix error in setup.py for Python 3
[matthew-brett]
- Pyroma fix and add Python 3.4 to setup metadata #742
[wirefool]
- Top level flake8 fixes#741
[aclark]
- Remove obsolete Animated Raster Graphics (ARG) support
[hugovk]
- Fix test_imagedraw failures #727
[cgohlke]
- Fix AttributeError: class Image has no attribute 'DEBUG' #726
[cgohlke]
- Fix msvc warning: 'inline' : macro redefinition #725
[cgohlke]
- Cleanup #654
[dvska, hugovk, wiredfool]
- 16-bit monochrome support for JPEG2000
[videan42]
- Fixed ImagePalette.save
[brightpisces]
- Support JPEG qtables
[csinchok]
- Add binary morphology addon
[dov, wiredfool]
- Decompression bomb protection
[hugovk]
- Put images in a single directory
[hugovk]
- Support OpenJpeg 2.1
[al45tair]
- Remove unistd.h #include for all platforms
[wiredfool]
- Use unittest for tests
[hugovk]
- ImageCms fixes
[hugovk]
- Added more ImageDraw tests
[hugovk]
- Added tests for Spider files
[hugovk]
- Use libtiff to write any compressed tiff files
[wiredfool]
- Support for pickling Image objects
[hugovk]
- Fixed resolution handling for EPS thumbnails
[eliempje]
- Fixed rendering of some binary EPS files (Issue #302)
[eliempje]
- Rename variables not to use built-in function names
[hugovk]
- Ignore junk JPEG markers
[hugovk]
- Change default interpolation for Image.thumbnail to Image.ANTIALIAS
[hugovk]
- Add tests and fixes for saving PDFs
[hugovk]
- Remove transparency resource after P->RGBA conversion
[hugovk]
- Clean up preprocessor cruft for Windows
[CounterPillow]
- Adjust Homebrew freetype detection logic
[jacknagel]
- Added Image.close, context manager support.
[wiredfool]
- Added support for 16 bit PGM files.
[wiredfool]
- Updated OleFileIO to version 0.30 from upstream
[hugovk]
- Added support for additional TIFF floating point format
[Hijackal]
- Have the tempfile use a suffix with a dot
[wiredfool]
- Fix variable name used for transparency manipulations
[nijel]
PDF, or PNG charts. It currently supports line plots, bar plots, range-fill
plots, and pie charts. Because it is based on Python, you can make full use
of Python's scripting power.