Commit graph

12955 commits

Author SHA1 Message Date
schmonz
db9c83a78d Add and enable ruby-screengif. 2018-11-16 00:16:42 +00:00
schmonz
a81295b398 Initial import of ruby-screengif, a command-line tool to convert
SCREENCAST.mov into ANIMATED.gif.
2018-11-16 00:16:15 +00:00
schmonz
810fb064e8 Update to 1.91. From the changelog:
* Several security bug fixes with malicious GIFs.
* Kill a use-after-free error reported by @junxzm1990.
* Add SIMD support for resizing. When enabled this improves resize
  performance enormously for complex resize methods.
* Add thread support for resizing. `-j[NTHREADS]` tells gifsicle to use
  up to NTHREADS threads to resize an input image. There are several
  caveats---multiple threads can be only used on unoptimized images.
  Thanks to Github user @wilkesybear.
* Quashed several crashes and undefined behaviors. Thanks to Github users
  including @pornel, @strazzere, and @b0b0505.
* Minor bug fixes.
2018-11-15 22:06:42 +00:00
kleink
37adcac0ae Restore a PYPKGPREFIX that got expanded in the cairo revbump. 2018-11-15 10:24:52 +00:00
taca
45651be69a graphics/php-gd: Fix a syntax error of Makefile
Fix a syntax error of USE_TOOLS line.
2018-11-15 02:32:22 +00:00
kleink
b85550f8c8 Revert revbump of cairo (after cairo update) as well. 2018-11-14 23:12:51 +00:00
kleink
3ac6b9f18c Revert the revbump of cairo-gobject, which is coupled to cairo anyway. 2018-11-14 22:56:11 +00:00
kleink
f1a683c990 Revbump after cairo 1.16.0 update. 2018-11-14 22:20:58 +00:00
markd
bdcc387673 php-gd: use pkg-config rather than freetype-config to test for freetype2 2018-11-14 21:26:53 +00:00
kleink
2deaad4ef5 cairo-gobject: Update BUILDLINK_ABI_DEPENDS for 1.16.0.
Revbump for cairo update about to proceed.
2018-11-14 19:01:48 +00:00
kleink
f8a73dfaf2 cairo-gobject: Update to 1.16.0.
Belatedly ride the version-coupled cairo update, just removing
PKGREVISION.
2018-11-14 18:50:47 +00:00
kleink
7a8a3d4ef0 cairo: Update to 1.16.0.
Release 1.16.0 (2018-10-19 Bryce Harrington <bryce@bryceharrington.org>)
========================================================================
This new stable release incorporates a number of improvements made in
the four years since 1.14.0.

Of particular note is a wealth of work by Adrian Johnson to enhance PDF
functionality, including restoring support for MacOSX 10.4, metadata,
hyperlinks, and more.

Much attention also went into fonts, including new colored emoji glyph
support, variable fonts, and fixes for various font idiosyncrasies.

Other noteworthy changes include GLESv3 support for the cairo_gl
backend, tracking of SVG units in generated SVG documents, and cleanups
for numerous test failures and related issues in the PDF and Postscript
backends.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.16.0


Features and Enhancements
-------------------------
* Add support for OpenGL ES 3.0 to the gl backend.
* The PDF backend has gained support for a range of widely used
  features, including thumbnails, page labels, metadata, document
  outlines, structured text, hyperlinks, and tags.  Tags permit adding
  logical info such as headings, tables, figures, etc. that facilitates
  indexing, accessibility, text reflow, searching, and extraction of the
  tagged items to other software.  For details on this new PDF
  functionality, see:
    https://lists.cairographics.org/archives/cairo/2016-June/027427.html
* Variable font support.  Variable fonts are single font files with
  various typography characteristics, such as weight or slant, that users
  of the font can adjust between two points.  Effectively this enables a
  single font to behave as multiple fonts.
* Restore MacOSX 10.4 support.  Cairo had dropped 10.4 support when
  moving to the CoreText API.  Now we automatically detect which API to
  use via dynamic linking, so can resume supporting this older version
  of MacOSX.
* Support colored emoji glyphs, stored as PNG images in OpenType fonts.
* Skia backend is removed
* Use Reusable streams for forms in Level 3 Postscript.
* Add CAIRO_MIME_TYPE_EPS mime type for embedding EPS files.
* Add CCITT_FAX mime type for PDF and PS surfaces
* svg: add a new function to specify the SVG document unit
  (Bug #90166)
* Use UTF-8 filenames on Windows


API Changes
-----------
Several new APIs were added.  No existing APIs were altered.

New PDF functionality:

  * cairo_pdf_surface_add_outline
  * cairo_pdf_surface_set_metadata
  * cairo_pdf_surface_set_page_label
  * cairo_pdf_surface_set_thumbnail_size
  * cairo_tag_begin
  * cairo_tag_end
  * CAIRO_STATUS_TAG_ERROR

New error status items for problems relating to PDF tagging:

  * CAIRO_STATUS_WIN32_GDI_ERROR
  * CAIRO_STATUS_FREETYPE_ERROR
  * CAIRO_STATUS_PNG_ERROR

    New error status items for handling of GDI, libfreetype, and libpng
    errors, respectively.


Setting up Win32 surfaces for HDC with alpha channels:

  * cairo_win32_surface_create_with_format

    New API for added PDF functionality (see above), and new error
    status item for problems relating to PDF tagging.

Variable fonts:

  * cairo_font_options_get_variations
  * cairo_font_options_set_variations

Tracking units in SVG documents:

  * cairo_svg_surface_set_document_unit
  * cairo_svg_surface_get_document_unit



Dependency Changes
------------------
None


Performance Optimizations
-------------------------
None


Notable Bug Fixes
-----------------
* Fix thin lines that don't show up when printing in Inkscape due to
  overly aggressive culling.
  (Bug #77298)
* Fix playback of recording surfaces into PDF surfaces, where objects
  with negative coordinates were not getting drawn.  To address this,
  the coordinate systems for PDF and PS have been changed to match
  cairo's coordinate system.  This allows recording surfaces to be
  emitted in cairo coordinates, and results in the same origin being
  used for all operations when using the recording surface XObject.
  Test cases for PDF and PS have also been updated accordingly.
  (Bug #89232)
* Fix "invalidfont" error on some printers when printing PDFs with
  embedded fonts that have glyphs (such as spaces) with
  num_contours == 0.  (Bug #79897)
* Fix missing glyphs such as thin dashes, which get scaled to 0 in
  userspace and thus have their drawing operations culled.  (Bug #94615)
* Fix other oddities caused by variously idiosyncratic fonts.
* Fix a data race in freed_pool discovered by Firefox's cairo usage.
  The patch adads atomic int load and store functions, with relaxed
  memory ordering.  (Bug #90318)
* Handle SOURCE and CLEAR operators when painting color glyphs.
  (Bug #102661)
* Fix falling back to system font with PDFs using certain embedded
  fonts, due to truncated font names.
  (Bug #103249)
* Prevent curved strokes in small ctms from being culled from vector
  surfaces
  (Bug #103071)
* Fix assertion hit with PDFs using Type 4 fonts rendered with user
  fonts, due to error when destroying glyph page.
  (Bug #103335)
* Prevent invalid ptr access for > 4GB images.
  (Bug #98165)
* pdf: Fix internal links pointing to other pages, by pre-calculating
  page heights so that link positions can be calculated more accurately.
* Fix error reporting in the xcb backend if fallback fails.  Instead of
  returning NULL when the X11 server can't do some operation, return a
  surface in an error state.
* Clarify documentation regarding device scale inheritance and the units
  used in cairo_surface_create_similar_image.
  (Bug #99094)
* Call XSync in the xlib backend before setting the error handler to
  ignore errors for certain requests, to make sure all pending errors
  are handled first.
* Fix regression with text containing space character on Win32.
  (Bug: https://gitlab.freedesktop.org/cairo/cairo/issues/339)

For a more comprehensive listing of fixed bugs, see the release notes for the
individual 1.15.x releases.


Release 1.15.14    (2018-09-19 Bryce Harrington <bryce@bryceharrington.org>)
============================================================================
We're nearly ready to finalize the 1.16.0 release, so this snapshot
can be considered a beta for 1.16.

The most notable change this release is a performance optimization for
windows, discussed below.  Other than that, much of the development
focus was on final polish and stability as we prepare for 1.16.

Some attention went into getting the testsuite passing at least for the
image backend.  The Cairo testsuite depends on external software like
Pixman, and changes in the rendering behavior of these dependencies
change test behavior, leading to false positives.

Results from the Coverity static testing tool were also reviewed.  Most
of the issues flagged were false positives, but there were several
legitimate problems found and fixed.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.15.12

Features and Enhancements
-------------------------
* Add more FreeeType font color conversions to support COLR/CPAL
* Update test reference images against current pixman

API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
Vasily Galkin introduced a Win32 performance optimization for
CAIRO_OPERATOR_SOURCE when copying data from a backbuffer to an argb32
surface corresponding to a Win32 DC.  With this, argb32 drawing should
perform as fast as typical dibsection-buffered GDI drawing.  See the
Cairo mailing list for April 2018 for data and discussion of the
performance improvements.


Bug Fixes
---------
* Fix crash when rendering Microsoft's Segoe UI Emoji Regular font.
* Fix build breakage with glesv3 enabled due to non-existant glesv3.pc.
* Fix memory leaks found by Coverity
* Fix incorrect null ptr handling found by Coverity
* Fix test compilation when font-config is disabled
* Use _cairo_malloc instead of malloc (Bug #101547) (CVE-2017-9814)
* Fix assertion failure in the freetype backend (Bug #105746)


Release 1.15.12    (2018-04-04 Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
The main focus for this release is the addition of Variable Font
support.  Variable fonts are single font files with various typography
characteristics, such as weight or slant, that users of the font can
adjust between two points.  Effectively this enables a single font to
behave as multiple fonts.

The Skia backend is disabled in this release, due to severe bitrot, and
will be removed in future releases.  Contact the cairo team if you have
a need of this backend.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.15.12

Features and Enhancements
-------------------------
* Variable font support
* Skia backend is disabled

API Changes
-----------
* cairo_font_options_get_variations() and
  cairo_font_options_set_variations() are added.

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Fix errors in csi-trace --help and --version options
* Fix a 'memory leak' in the image compositor, with
  pixman_glyph_cache_t.
* Fix access of uninitialized memory found by valgrind
  (Bug #91271)
* Fix improper initialization of memory in
  _cairo_ft_font_face_create_for_pattern()
  (Bug #105084)
* Fix multi-monitor virtual desktop with negative coords on Win32
  (Bug #100793)
* Fix issues occuring with older FreeType versions.


Release 1.15.10    (2017-12-07 Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
This release adds GLESv3 support to the cairo_gl backend, adds
tracking of SVG units in generated svg documents, and cleans up numerous
test failures and related issues in the PDF and Postscript backends.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.15.10

Features and Enhancements
-------------------------
* Add support for OpenGL ES 3.0 to the gl backend.
* Use Reusable streams for forms in Level 3 Postscript.
* Add CAIRO_MIME_TYPE_EPS mime type for embedding EPS files.
* Add CCITT_FAX mime type for PDF and PS surfaces
* svg: add a new function to specify the SVG document unit
  (Bug #90166)
* Use UTF-8 filenames on Windows

API Changes
-----------
* cairo_svg_surface_set_document_unit() and
  cairo_svg_surface_get_document_unit()

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Fix regression in gles version detection
* Fix undefined-behavior with integer math.
* Handle SOURCE and CLEAR operators when painting color glyphs.
  (Bug #102661)
* Convert images to rgba or a8 formats when uploading with GLESv2
* Use _WIN32 instead of windows.h to check for windows build.
* Fix sigabrt printing documents with fonts lacking the mandatory .nodef
  glyph.
  (Bug #102922)
* Prevent curved strokes in small ctms from being culled from vector
  surfaces
  (Bug #103071)
* Fix painting an unbounded recording surface with the SVG backend.
* Fix falling back to system font with PDFs using certain embedded
  fonts, due to truncated font names.
  (Bug #103249)
* Fix handling of truetype fonts with excessively long font names
  (Bug #103249)
* Fix race conditions with cairo_mask_compositor_t
  (Bug #103037)
* Fix build error with util/font-view
* Fix assertion hit with PDFs using Type 4 fonts rendered with user
  fonts, due to error when destroying glyph page.
  (Bug #103335)
* Set default creation date for PDFs
* Prevent invalid ptr access for > 4GB images.
  (Bug #98165)
* Prevent self-copy infinite loop in Postscript surface.
* Fix padded image crash in Postscript surface.
* Fix annotation bugs in PDFs and related memory leaks
* Fix test failures and other assorted issues in ps and pdf code.
* Fix code generation when using GCC legacy atomic operations
  (Bug #103559)
* Fix various compilation warnings and errors.
* Fix various distcheck errors with private symbols, doxygen formatting,
  etc.

Release 1.15.8     (2017-08-29 Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
This small snapshot provides new colored emoji glyph support, and a
handful of minor fixes.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.15.8

Features and Enhancements
-------------------------
* Support colored emoji glyphs, stored as PNG images in OpenType fonts.


API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------

* pdf: Fix internal links pointing to other pages, by pre-calculating
  page heights so that link positions can be calculated more accurately.

* image: Fix crash on negative lengths

* win32: Fix initialization of mutexes for static builds

* pdf: Don't emit /PageLabel dict when no labels defined

* font: Fix color font loading on big-endian systems

* font:	Fix color font support infinite-loop with empty glyphs

* Fix off by one check in cairo-image-info.c



Release 1.15.6     (2017-06-13 Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
This new snapshot incorporates changes over the past half-year since the
1.15.4 snapshot, including all the fixes from the 1.14 release series.

The PDF code continues to be enhanced, and we're restored MacOSX 10.4
support.  Font-related fixes and improved error handling for X round out
the release.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.15.6


Features and Enhancements
-------------------------
* Detect if variable fonts have	synthesized bold/italic	or non-default
  variants, and	     use a fallback font where needed.

* Restore MacOSX 10.4 support.	    Cairo had dropped 10.4 support when
  moving to the CoreText API.  Now we automatically detect which API to
  use via dynamic linking, so can resume supporting this older version
  of MacOSX.


API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Fix error reporting in the xcb backend if fallback fails.  Instead of
  returning NULL when the X11 server can't do some operation, return a
  surface in an error state.

* Call XSync in the xlib backend before setting the error handler to
  ignore errors for certain requests, to make sure all pending errors
  are handled first.

* Fix text-glyph-range for quartz-font.	 Use 0xFFFF instead of 0 for
  invalid index	       tracking.

* Fix handling of Supplementary Multilingual Plane (SMP) Unicode
  characters in quartz-font.

* Fix various issues in the drm backend	including updating API usage and
  general code cleanup.

* Clarify documentation	regarding device scale inheritance and the units
  used in cairo_surface_create_similar_image.
  Bug #99094.


Release 1.15.4     (2016-12-9 Bryce Harrington <bryce@osg.samsung.com>)
=======================================================================
This new snapshot incorporates changes over the past year since the
1.15.2 snapshot, including all the fixes from the 1.14 release series.

Of particular note in this snapshot is a wealth of work by Adrian
Johnson to enhance PDF support, as well as numerous bug fixes provided
by him and other contributors.

For a complete log of changes since the last release, please see:

    https://cairographics.org/releases/ChangeLog.1.15.4

Features
--------
* The PDF backend has gained support for a range of widely used
  features, including thumbnails, page labels, metadata, document
  outlines, structured text, hyperlinks, and tags.  Tags permit adding
  logical info such as headings, tables, figures, etc. that facilitates
  indexing, accessibility, text reflow, searching, and extraction of the
  tagged items to other software.  For details on this new PDF
  functionality, see:

    https://lists.cairographics.org/archives/cairo/2016-June/027427.html


API Changes
-----------

  cairo_win32_surface_create_with_format

    Added a cairo API to set up Win32 surfaces for HDC with alpha channels.

  cairo_pdf_surface_add_outline
  cairo_pdf_surface_set_metadata
  cairo_pdf_surface_set_page_label
  cairo_pdf_surface_set_thumbnail_size
  cairo_tag_begin
  cairo_tag_end
  CAIRO_STATUS_TAG_ERROR

    New API for added PDF functionality (see above), and new error
    status item for problems relating to PDF tagging.

  CAIRO_STATUS_WIN32_GDI_ERROR
  CAIRO_STATUS_FREETYPE_ERROR
  CAIRO_STATUS_PNG_ERROR

    New error status items for handling of GDI, libfreetype, and libpng
    errors, respectively.

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Bug fixes from 1.15.2 (see the 1.15.2 NEWS for details)

* Fix playback of recording surfaces into PDF surfaces, where objects
  with negative coordinates were not getting drawn.  To address this,
  the coordinate systems for PDF and PS have been changed to match
  cairo's coordinate system.  This allows recording surfaces to be
  emitted in cairo coordinates, and results in the same origin being
  used for all operations when using the recording surface XObject.
  Test cases for PDF and PS have also been updated accordingly.
  (Bug #89232)

* Fix "invalidfont" error on some printers when printing PDFs with
  embedded fonts that have glyphs (such as spaces) with
  num_contours == 0.  (Bug #79897)

* Fix missing glyphs such as thin dashes, which get scaled to 0 in
  userspace and thus have their drawing operations culled.  (Bug #94615)

* Fix other oddities caused by variously idiosyncratic fonts.

* Fix deadlock when destruction of a scaled font indirectly triggers
  destruction of a second scaled font, causing the global cache to be
  locked twice.  (Bug #93891)

* Fix X errors reported to applications when shmdt() is called before
  the Attach request is processed, due to missing xcb and xlib calls.

* Fix random failure in record-paint-alpha-clip-mast test case, caused
  by an incorrect assumption that a deferred clear can be skipped.
  (Bug #84330)

* Fix crash when dealing with an XShmGetImage() failure, caused by a
  double free in _get_image_surface().  (Bug #91967)

* Fix invalid execution of ASCII85 data by the PS interpreter that the
  image operator didn't use, by flushing the extraneous data after
  drawing the image.  (Bug #84811)

* Fix decoding of Adobe Photoshop's inverted CMYK JPEG files in PDF
  export.

* Fix unbounded surface assertion in win32-print code.

* Fix a data race in freed_pool discovered by Firefox's cairo usage.
  The patch adads atomic int load and store functions, with relaxed
  memory ordering.  (Bug #90318)

* Cleanup debugging text sent to stdout instead of log.  (Bug #95227)

* Fix build issue when using non-GNU strings utility.  (Bug #88639)

* Fix build of cairo modules as regular modules, not as versioned shared
  libaries.  (Bug #29319)

* Fix build on win32 using gcc 5.4.

* Fix build of script backend to require zlib.

* Update test suite reference images using Debian Jessie 64-bit and
  poppler current as of June, 2016.

* Various improvements to documentation and tests, compiler warning
  fixes, and an assortment of code refactoring and cleanup.


Release 1.15.2     (2015-12-10 Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
This release is largely a rollup to include a variety of fixes that
didn't make the cut for the stable 1.14.2 and 1.14.4 releases, as well
as all the fixes from those releases.  Notably this includes a highly
requested new API for Win32 surfaces.

For a complete log of changes since the last release, please see:

    https://cairographics.org/releases/ChangeLog.1.15.2

Features
--------
None

API Changes
-----------

  cairo_win32_surface_create_with_format

    Added a cairo API to set up Win32 surfaces for HDC with alpha channels.

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* All the bug fixes from 1.14.2, 1.14.4, and 1.14.6

* Fix xcb/xlib compilation and calls.  Make image boxes behave when SHM
  is not available.

* Fix various issues with printing and transparent images on Win32.

* Fix thin lines that don't show up when printing in Inkscape due to
  overly aggressive culling.
  (Bug #77298)

* Fix broken printing via pdf when glyph 0 is used for rendering,
  resulting in missing spaces and letters.
  (Bug #89082)

* Fix crash for certain glyphs in opentype fonts.
  (Bug #91902)

* Fix incorrect rendering of SVG paths with more than one subpath.  If
  more than one trap is passed in then it's guaranteed that the returned
  traps will have their left edge to the left of their right edge, but
  if only one trap is passed in then the function always returns without
  doing anything.
  (Bug #90984)

* Improve rendering with Quartz to better match pixman's blending and
  filtering behavior.


Release 1.14.6    (2015-12-09  Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
Simple bugfix release to fix one Windows issue.

For a complete log of changes since 1.14.4, please see:

    https://cairographics.org/releases/ChangeLog.1.14.6

Features
--------
None

API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Fix failure on Windows due to reference of the function
  cairo_win32_surface_create_with_format(), which isn't included in the
  1.14.4 release. (Bug #92771)


Release 1.14.4    (2015-10-28  Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
Just in time for Halloween we see another bug-fix release for Cairo.
This brings a few dozen straightforward bug fixes with no API changes.

In addition, this includes a typical assortment of fixes to tests,
cleanup of warnings and memory leaks, correction of misspellings,
updates to documentation, etc.

For a complete log of changes since 1.14.2, please see:

    https://cairographics.org/releases/ChangeLog.cairo-1.14.4

Features
--------
None

API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Avoid appending empty slots to user data arrays.  Fixes a memory
  consumption regression since commit 9341c254a.

* Return a better error (file-not-found) when setting up pango on
  devices where the font files don't have read permissions.

* Fix regression in the font size of canvas text in Inkscape when
  compiled with the Quartz backend.  (Bug #84324)

* Fix _cairo_gl_shader_bind_matrix() to maintain compatibility with
  OpenGL ES 2.0.  Manually transpose the matrix.

* Fix incorrect font descriptor conversion when the font matrix yy is
  negative. (Bug #90538)

* Fix crash when using a complex path for clip and stroke due to
  discarding the intersection exactly at the top edge.
  (Bug #74779)

* Fix cairo_get_locale_decimal_point() on Android

* Fix compilation problem on AIX due to conflicting usage of symbol
  'jmpbuf'.  (Bug #89339)

* Fix broken rendering with XCB due to snapshotting of uploaded part of
  surfaces.  (Bug #67505)

* Fix loss of alpha when copying a mask for a cairo recording surface,
  resulting in a double copy.  (Bugs #73038, #73901)

* Fix incorrect recording of certain paths with script surfaces.
  (Bug #91054)

* Fix typo in definition of MAYBE_WARN in configure script.
  (Bug #89750)

* Fix use of filename variable after it's been freed.
  (Bug #91206)

* Fix out of bounds access when printing pattern.
  (Bug #91266)

* Fix incorrect size calculation in glyph cache unlocking for Cairo GL
  compositor.
  (Bug #91321)

* Fix memory leak in _cairo_gl_pattern_texture_setup()
  (Bug #91537)

* Fix transparent images in win32-print.
  (Bug #91835)

* Fix _put_shm_image_boxes and _put_image_boxes when no SHM available
  with XCB.
2018-11-14 17:14:52 +00:00
jaapb
fd6ceb8a4c Revbumps associated with update of lang/ocaml. 2018-11-12 16:10:16 +00:00
jperkin
6db6f6b0af *: Add CTF_SUPPORTED/CTF_FILES_SKIP where necessary. 2018-11-12 14:40:20 +00:00
kleink
bd12b031c6 py-cairocffi: Update to 0.9.0.
Version 0.9.0
.............

Released on 2018-08-06

* Drop Python 3.2 and 3.3 support
* Test with PyPy and PyPy3
* `#114 <https://github.com/Kozea/cairocffi/pull/114>`_:
  Fix test compatibility with Cairo 1.15.12
* `#112 <https://github.com/Kozea/cairocffi/pull/112>`_:
  Add cairo library name from PyGObject for Windows
* Fix ``pango_example.py``
* `#85 <https://github.com/Kozea/cairocffi/issues/85>`_:
  Fix crash with xbc tests
* Clean documentation
* Support Cairo features up to 1.15.12
2018-11-12 14:35:23 +00:00
ryoon
b86dfe6873 Recursive revbump from hardbuzz-2.1.1 2018-11-12 03:51:07 +00:00
maya
310726e7d9 tiff: update to 4.0.10
It has been a year since the previous release.  This is the first
release made from the Git repository at
https://gitlab.com/libtiff/libtiff using a collaborative process.

Since the previous release, a number of security issues have been
fixed, and some significant new features have been added.

This release adds support for Zstd and WebP compression algorithms.
In their own way, each of these compression algorithms is highly
complimentary to TIFF.

Zstd provides improved compression and decompression speed vs zlib's
Deflate as well as a broader range of compression ratios.  Zstd is
developed by Facebook and the implementation continues to be improved.

WebP is optimized for small/medium 8-bit images while offering
improved compression performance vs traditional JPEG.  WebP works well
in strips or tiles to compress large images down to very small files,
while preserving a good looking image.  WebP is developed by Google,
and its implementation continues to be improved.

Due to Adobe's TIFF tag registration interface going off-line, we have
had to assign our own tags for Zstd and WebP.
2018-11-10 21:14:53 +00:00
kleink
5a64cf65d1 Update potrace to 1.15.
v1.15 2017/08/05
	(2017/08/05) PS1 - use round() instead of rint()
	(2017/08/05) PS1 - portability: set both _POSIX_C_SOURCE and
	_NETBSD_SOURCE to enable strdup prototype in string.h, as
	_XOPEN_SOURCE=500 doesn't work on macOS, _XOPEN_SOURCE=600 doesn't
	work on SunOS, and _POSIX_C_SOURCE alone doesn't work on Minix.
	(2017/08/02) PS1 - fixed a potential arithmetic overflow.
	(2017/06/17) PS1 - fixed a bug with very large bitmaps. Reported
	by Michael Voříšek.
	(2017/03/05) PS1 - autoconf: added --enable-local-getopt to avoid
	using the system-wide getopt library (it may still end up being
	used on GNU systems).
	(2017/03/05) PS1 - portability: moved getopt.h to a subdirectory,
	to be included only when needed. Reported by Daniel Macks.
	(2017/03/05) PS1 - portability: use _XOPEN_SOURCE=600 to fix macOS
	warning.
	(2017/02/27) PS1 - fixed more buffer overflows (not security
	critical), including one reported by Agostino Sarubbo. This also
	fixes CVE-2017-12067.
2018-11-08 14:40:20 +00:00
bsiegert
97936e109a Fix build with gtk-3.24.
Bump revision.
2018-11-05 16:58:32 +00:00
bsiegert
ac232c7df5 Revbump all Go packages after go111 update. 2018-11-04 18:37:54 +00:00
adam
c7ab36c3d8 tesseract: updated to 4.0.0
V4.0.0:
New OCR engine
- Added a new OCR engine that uses neural network system based on LSTMs, with major accuracy gains.
- This includes new training tools for the LSTM OCR engine. A new model can be trained from scratch or by fine tuning an existing model.
- Added trained data that includes LSTM models to 123 languages.
- Added optional accelerated code paths for the LSTM recognizer:
  * Using OpenMP
  * Using SIMD: AVX2 / AVX / SSE4.1
- Added a new parameter lstm_choice_mode that allows to include alternative symbol choices in the hOCR output.
- The new LSTM engine still does not support all features from the old legacy engine (see missing features).

Other OCR engines
- The pattern matching OCR engine that was the primary OCR engine in previous versions is still available in this version.
- Removed the 'Cube' OCR engine from the codebase. It was used for Hindi and for Arabic. The New LSTM engine performs much better, thus the Cube engine was no longer needed.

Updated build system
- Tesseract now uses semantic versioning.
- Tesseract now requires Leptonica 1.74.0 or a higher version.
- For building Tesseract from source code, a compiler with good C++ 11 support is required. See here for a list of officially supported compilers.
- Added unit tests to the main repo. The unit tests require Git submodules and the code for training.
- Added an option to compile Tesseract without the code of the legacy OCR engine.
- Update minimum required autoconf version to 2.63.
- Training tools dependencies - Update minimum required versions: ICU 52.1, Pango 1.22.0.
- Reorganized Tesseract's source tree. Most sources are now below the src directory.

Bug fixes and enhancements
- Fixed many issues that triggered compiler warnings.
- Fixed many issues reported by Coverity Scan or LGTM.
- Fixes to trainingdata rendering.
- Fixed damage to binary images when processing PDFs.
- Don't trigger a deliberate segmentation fault for fatal errors in release code.
- Fixed some issues in OpenCL code. OpenCL now works for the legacy Tesseract OCR engine, but does not improve the performance. It is not implemented for the LSTM OCR engine.
- Improved multi-page TIFF handling.
- Improvements to PDF rendering.
- Added version information and improved help texts to the training tools.
- Added faster version of log2().
- Documented in tesseract man page the option to use an input text file which contains lists of images.
- Made 'osd' the default traineddata when psm 0 is requested (currently this feature is only implemented in the command line interface, but not in the API).
- Removed tessedit_pageseg_mode 1 from hocr, pdf, and tsv config files. The user should explicitly use --psm 1 if that is desired.
- The list of available languages and scripts is now sorted alphabetically.
- Parameter unlv_tilde_crunching changed to false, because of default values cause issues in cases of unlv output in Tesseract 4.
- Removed obsolete code.
2018-11-03 09:13:07 +00:00
adam
5acc806198 libimagequant: updated to 2.12.2
2.12.2:
Unknown changes
2018-11-02 23:03:46 +00:00
adam
932f9239c6 SDL2_image: updated to 2.0.4
2.0.4:
* Fixed memory issues in the XCF loader
* Fixed a number of security issues, including TALOS-2018-0645
2018-11-01 21:10:22 +00:00
tsutsui
ce3ebf8459 ruby-gnome2: update to 3.3.0.
Upstream changes (from NEWS):

== Ruby-GNOME2 3.3.0: 2018-10-31

This is a release for fixing memory leak bugs of cairo-gobject,
improving macOS support and adding support for GEGL.

=== Changes

==== Ruby/GLib2

  * Improvements

    * Added support for the same constant name and class name for error.

  * Fixes

    * Fixed wrong constant values:

      * (({GLib2::MINLONG}))

      * (({GLib2::MAXLONG}))

      * (({GLib2::MAXULONG}))

      * (({GLib2::MINUINT64}))

      * (({GLib2::MAXSIZE}))

      * (({GLib2::MINFLOAT}))

      * (({GLib2::MINDOUBLE}))

      [GitHub#1244][Reported by cobodo]

==== Ruby/CairoGObject

  * Fixes

    * Fixed a memory leak.
      [GitHub#1232][Reported by Jean-Christophe Le Lann]

    * Stopped to increase needless reference.
      [GitHub#1079][Reported by noanoa07]

==== Ruby/GObjectIntrospection

  * Improvements

    * Added support for transfer full output parameter.

  * Fixes

    * Fixed a bug that class method closure doesn't work.
      [GitHub#1245][Reported by kojix2]

==== Ruby/GdkPixbuf2

  * Improvements

    * (({GdkPixbuf::Pixbuf.new})): Added support for auto row stride
      detection for (({[Integer]})) data.

==== Ruby/Pango

  * Improvements

    * Made test more robust.
      [GitHub#1239][Reported by Michael Hudson-Doyle]

==== Ruby/GTK3

  * Improvements

    * Improved backward compatibility for (({Gtk::ListStore#set_column_types})).
      [GitHub#1240][Reported by Edward Hennessy]

  * Fixes

    * Fixed wrong size used bug on HiDPI.
      [GitHub#1079][Reported by noanoa07]

==== Ruby/Poppler

  * Improvements

    * Added support for Popper 0.70.0.

==== Ruby/GEGL

  * Improvements

    * Added.

=== Thanks

  * Jean-Christophe Le Lann

  * Michael Hudson-Doyle

  * Edward Hennessy

  * cobodo

  * kojix2

  * noanoa07
2018-11-01 14:22:58 +00:00
tsutsui
3b58341123 ruby-cairo: update to 1.16.2.
pkgsrc changes:
* Take maintainership.

Upstream changelog:
(from https://github.com/rcairo/rcairo/blob/v1.16.2/NEWS)

Release 1.16.2 (2018-10-31) Kouhei Sutou <kou@cozmixng.org>
============================================================

Improvements
------------

  * Stopped to provide fat gem for Windows. Windows users should use
    MSYS2 packages.

Release 1.16.1 (2018-10-31) Kouhei Sutou <kou@cozmixng.org>
============================================================

Improvements
------------

  * Added Cairo::Context#destroyed?.

Release 1.16.0 (2018-10-28) Kouhei Sutou <kou@cozmixng.org>
============================================================

Improvements
------------

  * Added support for cairo 1.16.0.

  * Removed Cairo::SkiaSurface.
2018-11-01 14:10:37 +00:00
spz
3e282f43fa patches from upstream for
CVE-2017-11613 CVE-2017-18013 CVE-2018-5784 CVE-2018-10963
CVE-2018-17100 CVE-2018-17101
2018-10-28 09:45:07 +00:00
jperkin
cc2d5a03c2 py-openexr: Fix build on SunOS. 2018-10-26 12:45:47 +00:00
maya
11860eb9d5 tiff: apply fix for CVE-2018-18557
From 681748ec2f5ce88da5f9fa6831e1653e46af8a66 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sun, 14 Oct 2018 16:38:29 +0200
Subject: [PATCH 1/1] JBIG: fix potential out-of-bounds write in JBIGDecode()

JBIGDecode doesn't check if the user provided buffer is large enough
to store the JBIG decoded image, which can potentially cause out-of-bounds
write in the buffer.
This issue was reported and analyzed by Thomas Dullien.

Also fixes a (harmless) potential use of uninitialized memory when
tif->tif_rawsize > tif->tif_rawcc

And in case libtiff is compiled with CHUNKY_STRIP_READ_SUPPORT, make sure
that whole strip data is provided to JBIGDecode()

The last part (CHUNKY_STRIP_READ_SUPPORT) was adapted by myself to fit
the libtiff release.

Bump PKGREVISION.
2018-10-25 22:58:05 +00:00
leot
de40f56e33 opencv-contrib-face: Record patch-modules_python_src2_cv2.cpp in distinfo 2018-10-25 07:08:33 +00:00
leot
401a563e49 openimageio: Add missing `Size' field in distinfo 2018-10-25 07:07:35 +00:00
leot
7f7915487e *: (belatedly) revbump for net/libsoup update
Thanks to <wiz>!
2018-10-24 21:11:45 +00:00
schmonz
94091e8310 Add and enable p5-Graph-Easy. 2018-10-22 14:40:33 +00:00
schmonz
9b7b48e5d9 Initial import of p5-Graph-Easy, which lets you generate graphs
consisting of various shaped nodes connected by edges (with
optional labels).

It can read and write graphs in a variety of formats, as well as render
them via its own grid-based layouter.

Since the layouter works on a grid (manhattan layout), the output is
most useful for flow charts, network diagrams, or hierarchy trees.
2018-10-22 14:39:55 +00:00
jperkin
49f90f26af glut: Requires zlib. 2018-10-17 18:03:48 +00:00
jperkin
a0e22f5554 girara: SunOS needs -D__EXTENSIONS__ 2018-10-17 14:10:29 +00:00
jperkin
c408982161 glu: Requires zlib. 2018-10-17 10:04:31 +00:00
jperkin
fd43f47a3c MesaLib18: Various fixes for the SunOS build. 2018-10-16 15:21:20 +00:00
adam
06c94f2ac6 py-imagesize: updated to 1.1.0
1.1.0:
add TIFF support (experimental)
2018-10-16 08:54:50 +00:00
leot
4a388cb013 libexif: Add a patch from upstream to address CVE-2017-7544
Bump PKGREVISION
2018-10-13 10:17:30 +00:00
leot
cbbc2218ab jbig2dec: Update graphics/jbig2dec to 0.15
pkgsrc changes:
 - Update MASTER_SITES according HOMEPAGE links
 - Add auto* tools to USE_TOOLS and add a pre-configure target in order to
   generate the configure script
 - Add support for the tests

Changes:
Version 0.15 (2018 September 04)
* Bug fix release, with many security related and stability fixes
  as well as better tolerance/behaviour with out of spec files
2018-10-12 10:25:51 +00:00
adam
7164f47bb7 py-graphviz: updated to 0.9
Version 0.9
-----------
Use sys.stderr to write stderr output from rendering process to stderr (instead
of file descriptor inhertiance). Ensures stderr is passed in special
enviroments such as IDLE.

Suppress rendering process stdout in render().

Make quiet=True also suppress stderr on success of render() and pipe() (zero
exit-status).

Include stderr from rendering process in CalledProcessError exception.
2018-10-11 10:14:47 +00:00
adam
ebce4998e0 py-pygraphviz: updated to 1.5
pygraphviz-1.5:
Python 3.7 support
2018-10-11 10:11:31 +00:00
maya
8bd5ed776c MesaLib18: adjust pthread stubs patch to ensure no OS picks it up, as we
don't provide libpthread stubs.

Note that the name is misleading, libpthread stubs refers to a library
that only pulls in libpthread if a set of functions is not available as
stubs as libc. It is only a pkgconfig file that answers the question
"pull in libpthread? Y/N".

Replace non-existent libpthread stubs buildlink3.mk with the pthread
buildlink3.mk, we should be linking with libpthread for most (all?)
OSes.
2018-10-10 11:03:02 +00:00
maya
32da9fc142 MesaLib18: remove workaround for pkgsrc GCC already fixed in GCC (upstream
and in pkgsrc)
2018-10-10 10:56:11 +00:00
maya
285ec1c615 MesaLib: remove workaround for pkgsrc GCC already fixed in GCC (upstream
and in pkgsrc)
2018-10-10 10:54:58 +00:00
maya
c9942bbee9 xsane: use a mirror, xsane.org is down. 2018-10-09 20:05:43 +00:00
ryoon
8d2b4df2a6 Add MesaLib18 2018-10-07 23:50:21 +00:00
ryoon
20ddd43af8 graphics/MesaLib18: import MesaLib-18.2.0 from wip/MesaLib
MesaLib is a 3-D graphics library with an API which is very similar to
that of OpenGL*.  To the extent that Mesa utilizes the OpenGL command syntax
or state machine, it is being used with authorization from Silicon Graphics,
Inc.  However, the author makes no claim that Mesa is in any way a
compatible replacement for OpenGL or associated with Silicon Graphics, Inc.
2018-10-07 23:49:31 +00:00
ryoon
0793ae3aad Update to
* Fix startup

Changelog:
2.79
In this release:

    Cycles: Built-in Denoising, Shadow catcher, Principled shader, AMD OpenCL optimizations.
    Grease Pencil: New frame interpolation tools, per-layer onion skinning.
    Alembic: Improvements to compatibility, stability and support.
    User Interface: Initial support for reusable custom configurations, automatic DPI scaling.
    Twenty Three new and several updated add-ons.
    And: 100s of bug fixes and other improvements!

2.78
In this release:

    Cycles: Cycles now supports rendering spherical stereo images for VR.
    Grease Pencil: Reworked to be similar to other 2D drawing softwares.
    Alembic: Initial basic support in Blender.
    Improvements to Bendy Bones for Easier and Simpler Rigging.
    Eleven new add-ons.
    And: 100s of bug fixes and other improvements!
2018-10-07 23:44:49 +00:00
ryoon
20a6cbc053 Update to 1.8.15
Changelog:
Release 1.8.15 (1 Oct 2018) -- compared to 1.8.14
-------------------------------------------------
* Change to internal thread pool to fix rare crash when lowering number of
  threads. #2013
* Build: Use pkgconfig in FindOpenEXR.cmake if available. #2008
* ImageBufAlgo::channel_append now will work with mixed input data types.
  #2022

Release 1.8.14 (1 Sep 2018) -- compared to 1.8.13
-------------------------------------------------
* Support compilation by clang 7.0. #1995
* Bug fix to ImageBuf::roi_cointains(). #1997
* Fix ImageSpec constructor from an ROI, display/"full" window did not get
  the right default origin. #1996
* GIF read: fix crash when reading GIF with comment extension but no
  comment data. #2001
* JPEG write: robust to accidentally setting the "density" metadata to
  values larger than JPEG's 16 bit integer field will accommodate. #2002
* ImageSpec::erase_attribute() fix bug where it got case-sensitivity of the
  search backwards when built using std::regex rather than boost::regex.
  #2003

Release 1.8.13 (1 Aug 2018) -- compared to 1.8.12
-------------------------------------------------
* Improved finding LibRaw on Windows #1959
* Ensure FFMPEG (if found) is the minimum supported version 2.6.  #1963
* Developer goodies: `intrusive_ptr<>` given a dangerous `release()`
  method (use with caution). #1986

Release 1.8.12 (1 Jun 2018) -- compared to 1.8.11
-------------------------------------------------
* Build fix for 32 bit Windows -- disable SSE that was making trouble. #1933
* Improved UTF-8 filename support for OpenEXR filenames. #1941
* filesystem.h: Improve UTF-8 handling for unique_path and temp_directory
  functions. #1940
* Fixes to un-break the build when EMBEDPLUGINS=0. #1942
* Fix iv (especially on OSX) for various ways it has been broken since the
  shift to Qt5. #1946
* Improvements in finding the location of OpenJPEG with Macports. #1948
* ImageCache and TextureSystem now have close(filename) and close_all()
  methods, which for one file or all files will close the files and release
  any open file handles (also unlocking write access to those files on
  Windows), but without invalidating anything it knows about the ImageSpec
  or any pixel tiles already read from the files, as would happen with a
  call to the much more drastic invalidate() or invalidate_all(). #1950

Release 1.8.11 (1 May 2018) -- compared to 1.8.10
-------------------------------------------------
* Fix to strtof, strtod for non-C locales. #1918
* Add up-to-date Nuke versions to FindNuke.cmake. #1920
* Allow building against ffmpeg 4.0. #1926

Release 1.8.10 (1 Apr 2018) -- compared to 1.8.9
-------------------------------------------------
* oiiotool frame sequence wildcard improvements: fix handling of negative
  frame numbers and ranges, also the `--frames` command line option is not
  enough to trigger a loop over those frame numbers, even if no other
  arguments appear to have wildcard structure. #1894
* TIFF bug fix: read_tile() and read_tiles() input of un-premultiplied tiles
  botched the "shape" of the tile data array. #1907
* Windows/MSVC build fix: use the `/bigobj` option on some large modules
  that need it. #1900, #1902
* fmath.h, hash.h, color.h: changes to make it friendly to Cuda compilation
  (#1888, #1896, #1905).
* fmath.h avx-512 improvements. #1893
* testsuite is not Python 2/3 agnostic.

Release 1.8.9 (1 Mar 2018) -- compared to 1.8.8
-------------------------------------------------
* Properly find newer openjpeg 2.3. #1871
* Bug fix in IBA::copy where uninitialized dst image botched its ROI. #1876
* RAW: Important bug fix when dealing with rotated (and vertical) images,
  which were not being re-oriented properly and could get strangely
  scrambled. #1854

Release 1.8.8 (1 Feb 2018) -- compared to 1.8.7
-------------------------------------------------
* OpenEXR: gracefully detect and reject files with subsampled channels,
  which is a rarely-to-never-used OpenEXR feature that we don't support
  properly. #1849
* Field3d: Prevent crashes when open fails. #1848
* RAW: Add "raw:HighlightMode" configuration hint to control libraw's
  handling of highlight mode processing. #1851
* zfile: more careful gzopen on Windows that could crash when given bogus
  filename. #1839
* DICOM: Fix dcmtk build errors on some platforms. Also, the minimum dcmtk
  version we suport is 3.6.1. #1843
* simd.h: Minor fixes especially for avx512. #1846
* iv: Drop GLEW and obsolete GL stuff from iv in favor of QOpenGLFunctions,
  and fix broken pixelview text rendering. #1834
* On Unix/Linux, add explicit DL library dependency to libOpenImageIO.so
  itself instead of only to the binaries and test utilities. #1860
* Build fixes for Hurd OS. #1850

Release 1.8.7 (1 Jan 2018) -- compared to 1.8.6
-------------------------------------------------
* All string->numeric parsing and numeric->string formatting is now
  locale-independent and always uses '.' as decimal marker. #1796
* oiiotool outputs are now written to temporary files, then atomically moved
  to the specified filename at the end. This makes it safe for oiiotool
  to "overwrite" a file (i.e. `oiiotool in.tif ... -o out.tif`) without
  problematic situations where the file is truncated or overwritten
  before the reading is complete. #1797
* Python bindings for ImageBuf.get_pixels and set_pixels fixed some bugs
  when passed an ROI without a channel range specified. #1802
* More robust parsing of XMP metadata for unknown metadata names. #1816
* strutil.h now includes a to_string<> utility template. #1814

Release 1.8.6 (1 Nov 2017) -- compared to 1.8.5
-------------------------------------------------
* oiiotool: Improved logic for propagating the pixel data format through
  multiple operations, especially for files with multiple subimages.
  #1769
* ImageCache/TextureSystem: improved stats on how long we wait for
  ImageInput mutexes. #1779
* Build: Fix build bug where if the makefile wrapper got CODECOV=0, it would
  force a "Debug" build (required for code coverage tests) even though code
  coverage is instructed to be off. (It would be fine if you didn't specify
  CODECOV at all.) #1792
* Build: minor fixes for Windows build. #1793, #1794
* Developers: The ParamValue class has added get_int_indexed() and
  get_float_indexed() methods. #1773
* Developers: array_view added begin(), end(), cbegin(), cend() methods,
  and new constructors from pointer pairs and from std::array.
* Developers: Fixed build break in simd.h when AVX512VL is enabled. #1781
* Developers: fmath.h now defined OIIO_FMATH_H so other files can easily
  detect if it has been included.
* Build: Fix broken build when Freetype was not found or disabled. #1800
* Python: fixed missing exposure of RATIONAL enum value. #1799


Release 1.8 (1.8.5 - 1 Oct 2017) -- compared to 1.7.x
----------------------------------------------
New minimum dependencies:
 * **C++11** (should also build with C++14 and C++17)
 * **Compilers**: gcc 4.8.2 - gcc 7, clang 3.3 - 5.0, or MSVS 2013 - 2017
 * **Boost >= 1.53** (tested up through 1.65)
 * **CMake >= 3.2.2** (tested up through 3.9)
 * **OpenEXR >= 2.0** (recommended: 2.2)
 * (optional) **Qt >= 5.6**
 * (optional) **Python >= 2.7** (3.x is also ok)

**Changes to install layout**: fonts now get installed to
  `PREFIX/share/fonts/OpenImageIO`, OIIO docs now get installed to
  `PREFIX/share/doc/OpenImageIO`, and the Python module gets installed to
  `PREFIX/lib/pythonMAJ.MIN/site-packages`. #1747 #1760 (1.8.5)

Major new features and improvements:
* New oiiotool features:
   * `--info:format=xml` format option requests what format the info
      is printed. Current choices: `"text"`, `"xml"`. #1504 (1.8.0)
   * `--info:verbose=1` verbose option make file info print full metadata,
     but without needing to make other oiiotool operations verbose as would
     happen with `--info -v`. #1504 (1.8.0)
   * `--colormap` applies a color map based on the input values; the
     map can be one of several named ones, or given explicitly with
     numerical values. #1552 (1.8.1)
   * `-i:type=...` lets you override the internal buffer type that will be
     used for an input image. #1541 (1.8.1)
   * `-i:ch=a,...` lets you restrict the input to only the listed channels.
     This is semantically equivalent to following the input with a `--ch`
     command, but by integrating into the input itself, it can sometimes
     avoid using memory and I/O for unneeded channels. #1541 (1.8.1)
   * `--echo STRING` prints the string to the console. This can contain
     expressions! So you can do something like
         oiiotool file.exr -echo "Size is {TOP.width}x{TOP.height}"
     #1633 (1.8.3)
   * `--eraseattrib REGEX` erases all metadata attributes from the top image
     whose names match the regular expression. #1638 (1.8.3)
   * `--text` takes new optional modifiers: `xalign=` (left, right, center)
     and `yalign=` (baseline, top, bottom, center) to control how the text
     is aligned to the (x,y) position specified, `shadow=` (default = 0)
     than when nonzero controls the width of a "drop shadow" that makes the
     text clearer when rendered on a background image of similar color.
     #1646 (1.8.3)
   * `--deepholdout` culls all samples that are farther away than the
     opaque depth of a second holdout image. #1691 (1.8.4)
* New ImageBufAlgo functionality:
   * `color_map()` applies a color map based on the input values; the
     map can be one of several named ones, or given explicitly with
     numerical values. #1552 (1.8.1)
   * Added implementation of ImageBufAlgo::to_IplImage(). #1461 (1.7.9/1.8.1)
   * `render_text()` has added parameters controlling text alignment and
     drop shadows. #1646 (1.8.3)
   * `deep_holdout()` culls all samples that are farther away than the
     opaque depth of a second holdout image. #1691 (1.8.4)
* DICOM file format support (currently read-only). DICOM is the standard for
  medical imaging data. Will only build if dependency "dcmtk" is found at
  build time. #1534 (1.8.1)
* Experimental: The TextureSystem API has been extended to support batches
  of texture lookups in a SIMD fashion. At present, only the new API was
  added, a full implementation is in progress and may not be forthcoming
  or reliable until 1.9. Even the API is experimental, and may change for
  future releases. #1733 (1.8.5)

Public API changes:
* TypeDesc:
   * Rational support: new 'semantic' hint RATIONAL and TypeDesc::Rational.
     A rational is an int of aggregate VEC2 and hint RATIONAL, and should
     be interpreted as val[0]/val[1]. #1698 (1.8.5)
   * Added OIIO-scoped `static constexpr` versions of preconstructed
     TypeDescs (e.g., `TypeFloat`). We are deprecating the ones that were
     static data members of TypeDesc (e.g., TypeDesc::TypeFloat), they will
     be removed in some future release. (1.8.5)
* ImageSpec:
   * New `ImageSpec::serialize()` returns a string with a serialized version
     of the contents of the ImageSpec. It may be text (human readable, like
     is printed by `oiiotool -info -v`) or XML. #1504 (1.8.0)
   * `ImageSpec` has a new constructor that accepts a `ROI` for image
     dimensions and channels. #1646 (1.8.3)
   * New `ImageSpec::channelspec()` retrieves the index of a named channel.
     #1691 (1.8.4)
   * New `ImageSpec::channelname(int)` safely retrieves the index of a named
     channel. #1706 (1.8.5)
* ColorConig::createLookTransform() and createDisplayTransform() have been
  extended to allow multiple key/value context pairs, by making them
  comma-separated lists. The createColorProcessor() method has also been
  extended to take context key/value pairs. #1542 (1.7.8, 1.8.0)
* `ImageBuf::read()` now has a variety that takes a channel range, allowing
  you to populate an ImageBuf with a subset of channels in a file,
  potentially saving memory and I/O for the unneeded channels. #1541 (1.8.1)
* Python: Fix unimplemented ImageBufAlgo.computePixelStats. #1596
  (1.8.2/1.7.11)
* imageio.h: Fix incorrect declaration of declare_imageio_format().
  #1609 (1.8.2/1.7.11)
* `ImageBuf::wrap_mode_from_string()` converts string wrap mode names
  (such as "black") into `ImageBuf::WrapMode` enum values. #1615 (1.8.3)
* New `OIIO::getattribute()` queries:
   * `"input_format_list"` and `"output_format_list"` return comma-separated
     lists of all formats that support input and output, respectively.
     #1577 (1.8.3)
   * `"oiio:simd"` returns a comma-separated list of SIMD capabilities that
      were enabled at build time, and `"hw:simd"` returns the list of
      capabilities available on the currently running hardware. #1719 (1.8.5)
* `ImageBufAlgo::render_text()` API call has been overhauled, in addition
  to new alignment and shadow aprameters, the color has changed from a raw
  pointer to an `array_view<const float>` for better memory safety. Also,
  it is now valid for the destination image to be uninitialized, in which
  case it will be initialized to be just big enough for the text.
  #1646 (1.8.3)
* DeepData:
   * New `DeepData::opaque_z()` returns the depth value at which a pixel
     becomes fully opaque. #1691 (1.8.4)
   * New `DeepData::initialized()` and `allocated()` return whether the
     DD is initialized and allocated, respectively. #1691 (1.8.4)
   * `DeepData::split()` has been changed to return a `bool` indicating
     whether any split occurred. #1691 (1.8.4)
* Remove some long-deprecated varieties of `ImageBufAlgo::colorconvert()`,
  `ociolook()`, and `ociodisplay()`. #1695 (1.8.4)
* TypeDesc now allows specification of "rational" values, using a vec2i
  (aggregate 2-vector of int) with a semantic hint of RATIONAL, i.e.,
  `TypeDesc(INT, VEC2, RATIONAL)`, which is also aliased as
  `TypeDesc::TypeRational`. The value is understood to be val[0]/val[1].
  #1698 (1.8.5)
* ParamValueList::get_float will automatically convert rational values to
  float. #1698 (1.8.5)
* The standard metadata "FramesPerSecond" has had its definition changed
  from `float` to `rational`. Retrieving it as `float` should still work
  as always. But apps and plugins that wish to treat it as a true rational
  with no loss of precision are able to do so. This is only known to
  directly affect the OpenEXR, GIF, and FFMPEG metadata. #1698 (1.8.5)

Fixes, minor enhancements, and performance improvements:
* oiiotool:
   * `--chappend` resolves redundant channel names by using the subimage
     name, if available. #1498 (1.8.0/1.7.8)
   * `--mosaic` now gracefully handles the case of not having enough
     images to completely fill the MxN matrix, with "left over" slots
     black. #1501 (1.8.0/1.7.8)
   * When command line arguments fail to parse properly, `oiiotool` will
     exit with a non-zero shell status. #1540 (1.8.0)
   * `--colorconvert`, `--ociodisplay`, and `--ociolook` can now take
     multiple context key/value pairs (by allowing `key=` and `value=`
     optional paramters be comma-separated lists). #1504 (1.8.0)
   * Handle 'oiiotool --colorconvert X X' (transform from and to spaces that
     are the same) without considering it an error. #1550 (1.8.0/1.7.8)
   * Expression substitution now recognizes the following new metadata
     names: MINCOLOR, MAXCOLOR, AVGCOLOR. An example use is to stretch
     the value range of an image to fill the full [0-1] range:
        oiiotool in.exr -subc {TOP.MINCOLOR} -divc {TOP.MAXCOLOR} -o out.exr
     #1553 (1.8.1)
   * `--fit:exact=1` use of the new `exact=1' option will perform the resize
     to preserve exact aspect ratio and centering of the fit image to true
     sub-pixel precision (at the possible risk of slight blurring,
     especially of the edges), whereas the default (`exact=0`) will keep
     the image sharper but round the size and offset to the nearest whole
     pixel values. (1.8.1).
   * `-i:type=...` optional modifier to `-i` forces a read of the input
     file into a particular data type. #1541 (1.8.1)
   * `-i:ch=...` optional modifier to `-i` specifies that only certain named
     channels should be read from the file. Under extreme circumstances
     when only a small subset of channels is needed from an image file with
     many channels, this may improve speed and I/O. #1541 (1.8.1)
   * Improved logic governing output data formats: non-cached inputs didn't
     set default output data format correctly, and per-channel output
     formats updated defaults when they shouldn't have. #1541 (1.8.1)
   * `--diff` : in addition to the pixel coordinates and differences of the
      biggest differing pixel, it now also prints the full values of all
      channels of that pixel for both images. #1570 (1.8.1)
   * `oiiotool -d` giving per-channel formats is no longer confused by
     channel renaming with `--chnames`. #1563 (1.8.1/1.7.9)
   * `--debug` nor prints the total runtime and peak memory use after each
     individual op. #1583 (1.8.1)
   * `-iconfig` not in all cases correctly propagate the input config
     attribute to the file read. #1605 (1.8.2/1.7.11)
   * Fixed `--crop`: it did not honor the `-a` flag to apply the crop to
     all subimages. #1613 (1.8.2/1.7.11)
   * In the case of runtime errors, `oiiotool` now echoes the entire command
     line. This is helpful for debugging mangled oiiotool command lines
     assembled by scripts. #1614 (1.8.3)
   * Improved error reporting of file open errors when -iconfig is used.
     #1626 (1.8.3/1.7.13)
   * Expression evaluation now substitutes `FRAME_NUMBER` with the numeric
     frame number for frame sequence wildcards, and `FRAME_NUMBER_PAD`
     with the frame number 0-padded to the number of total digits specified
     by the command line `--framepadding` argument. #1648 (1.8.3)
   * `--resize` and `--resample` now have more intuitive behavior for images
     where the display and pixel data windows are not the same, especially if
     the data window had a nonzero origin (such as with crop or overscan).
     #1667 (1.8.4/1.7.14)
   * `--resample` has been extended to work for "deep" images. #1668
     (1.8.4/1.7.14)
   * `--deepmerge` now will give a useful error message when the image do
     not have the same number of channels. #1675 (1.8.4/1.7.14)
   * `--autocc` more gracefully handles unknown color spaces with a warning,
     rather than a full error and termination. #1681 (1.8.4)
   * `--resample` now takes an optional modifier `interp=0` to control
     whether bilinear sample is used (default) or true closest-pixel point
     sampling. #1694 (1.8.4)
   * You can set rational metadata on the command line like this:
      `oiiotool foo.exr --attrib:type=rational onehalf "50/100" -o rat.exr`
      #1698 (1.8.5)
   * `--fillholes` fixed a bug where, if asked to operate on an image with
      nonzero origin (crop, overscan, shrink-wrap), it would incorrectly
      move the pixels to the origin. #1768 (1.8.5)
* ImageBufAlgo:
   * `channel_append()` resolves redundant channel names by using the
     subimage name, if available. #1498 (1.8.0/1.7.8)
   * `colorconvert()`, `ociodisplay()`, and `ociolook()` can now take
     multiple context key/value pairs (by allowing they `context_key` and
     `context_value` paramters be comma-separated lists). #1504 (1.8.0)
   * `draw_rectangle()` (and `oiiotool --box`) wasn't drawing properly for
     the degenerate case of a rectangle that takes up just one
     pixel. #1601 (1.8.2)
   * `resample()` has been extended to work for "deep" images.
      #1668 (1.8.4/1.7.14)
   * `deep_merge()` now will give a useful error message when the images do
     not have the same number of channels. #1675 (1.8.4/1.7.14)
   * `deep_merge()` performance has been greatly improved. #1739 (1.8.5)
   * `resample()` fixed a subtle 1/2 pixel shift, now it more closely
      aligns with `resize()`. #1694 (1.8.4)
   * `fillholes_pushpull()` fixed a bug where, if asked to operate on an
      image with nonzero origin (crop, overscan, shrink-wrap), it would
      incorrectly move the pixels to the origin. #1768 (1.8.5)
* ImageBuf:
   * Fix broken threads(n) method, which didn't correctly pass the right
     number of threads along. #1622. (1.8.3/1.7.12)
   * Copy constructor from another ImageBuf was previously broken for
     IB's that wrap application buffers. #1665 (1.8.4/1.7.13)
* TextureSystem / ImageCache / maketx:
   * `IC::get_image_info` (or `TS::get_texture_info`) queries for "channels"
     on UDIM file patterns now succeed, returning the value for the first
     matching file it finds. (N.B.: Relies on all textures within the same
     UDIM set having the same nchannels.) #1502, #1519, #1530 (1.8.0/1.7.8)
   * maketx: multiple simultaneous maketx process trying to create the same
     texture will no longer clobber each other's output. #1525 (1.8.0/1.7.8)
   * ImageCache: make robust to changes in autotile after opening and reading
     from untiled files. #1566 (1.8.1/1.7.9)
   * ImageCache: fix initialization bug that made the reported stats output
     nonsensical in the numbers it gave for "redundant reads". #1567
     (1.8.1/1.7.9)
   * get_image_info queries of "displaywindow" and "datawindow" did not
     correctly return a 'true' value when the data was found.
     #1574 (1.8.1/1.7.9)
   * maketx fix: two textures that had identical source pixels but differed
     in whether they resized with "highlight compensation" incorrectly
     ended up with identical hashes, and thus could be confused by the
     TextureSystem at runtime into thinking they were duplicates. The hash
     is now fixed. #1599 (1.8.2/1.7.11)
   * Statistics no longer list as "BROKEN" files which were invalidated, or
     files that were initialized with an ImageCacheFile but never opened.
     #1655 (1.8.4)
   * ImageCache::get_image_info() will now return a proper error (and not
     hig an assertion) if asked for information about a subimage or MIP
     level that does not exist in the file. #1672 (1.8.4/1.7.14)
   * TextureSystem::get_texels fixes crashing behavior. #1669 (1.8.4/1.7.14)
   * Big performance improvement on Windows with MSVC by removing certain
     empty destructors in simd.h that was preventing MSVC from fully inlining
     those classes. #1685 (1.8.4/1.7.15)
   * maketx now supports `--colorconfig` option to explicitly point it to
     an OpenColorIO config file, just like `oiiotool `--colorconfig`.
     #1692 (1.8.4)
   * Fix rare edge case crash in ImageCache. #1696 (1.8.4/1.7.15)
   * Improved error messages for broken files. Specifically, it's much more
     clear now when a file is broken because it's being rejected as a
     texture because it's untiled or not MIP-mapped. #1751 (1.8.5)
   * The maketx-generated metadata "oiio:SHA-1", "oiio:ConstantColor" and
     "oiio:AverageColor" are ignored if the file has signs that it was not
     directly generated by `maketx` or `oiiotool -otex` (specifically, if
     it's not tiled, has no "textureformat" tag, or if its "software" tag
     doesn't mention maketx or oiiotool). This helps for the case where a
     maketx-generated file is loaded into PhotoShop (or otherwise altered),
     saved with different pixel values but the old SHA-1, which would no
     longer be valid and therefore cause the new file to be misidentified
     as a duplicate texture even though it's not. #1762 (1.8.5)
* Bug fix to possible crashes when adding dither to tiled file output
  (buffer size miscalculation). #1518 (1.8.0/1.7.8)
* Make sure that sRGB<->linear color transform still work (in the obvious
  way) even when OpenColorIO is present but that its configuration for some
  reason doesn't know about "sRGB" space. #1554 (1.8.1)
* Improved performance of input of many-channel files with differing
  per-channel data formats. #1541 (1.8.1)
* `idiff` : in addition to the pixel coordinates and differences of the
  biggest differing pixel, it now also prints the full values of all
  channels of that pixel for both images. #1570 (1.8.1)
* ImageInput::read_tiles when only a channel subset is read, fixed case
  with certain data sizes where the copy to user buffer got mangled.
  #1595 (1.8.2/1.7.11)
* BMP:
   * Add support for version 5 of the BMP format header. $1616 (1.8.3/1.7.12)
* FFMpeg/movies:
   * "FramesPerSecond" metadata has had its type changed to rational.
     #1709 (1.8.5)
* GIF:
   * "FramesPerSecond" metadata has had its type changed to rational.
     #1709 (1.8.5)
* IFF:
   * Fix IFF output that didn't correctly save the "Author" and "Date"
     metadata. #1549 (1.8.1/1.7.8)
* JPEG:
  * Be more reslient to malformed Exif data blocks with bogus offsets
    #1585 (1.8.1/1.7.10) and #1639 (1.8.3/1.7.13).
  * When you ask the JPEG writer to output files with unsupported channel
    counts (JFIF files only allow 1 or 3 channels), it will just silently
    drop extra channels, rather than having a hard error. #1643 (1.8.3)
* OpenEXR:
  * Fix global attribute "exr_threads" value, -1 should disable IlmImf's
    thread pools as advertised. #1582 (1.8.1)
  * Allow compression "none" for deep exr files. (1.8.2/1.7.11)
  * Fixed input problem with sorting order of spectral alpha channels (RA,
    GA, BA, or AR, AG, AB). #1674 (1.8./1.7.14)
  * Can handle true rational metadata, including FramesPerSecond and
    captureRate. #1698 (1.8.5)
  * Fix problem with 2-channel images putting the channels in the wrong
    order. #1717 (1.8.5/1.7.16)
* PNG: Better extraction of XMP from PNG files. #1689 (1.8.4)
* PSD:
   * Support has been added for "cmyk", "multichannel", and "grayscale"
     color modes. And support was fixed for rgb and grayscale 32 bit per
     sample bit depth. #1641 (1.8.3/1.7.13)
   * Fix issue for layer mask channels. #1714 (1.8.5)
* RAW:
   * Fix possible crash when reading certain raw metadata. #1547 (1.7.8/1.8.0)
   * The default value for missing "raw:use_camera_matrix" has been changed
     to 1 (not 0) to better match default behavior of libraw/dcraw.
     #1629 (1.8.3/1.7.13)
   * Add support for selecting new demosaicing algorithms: "DMT" (mode 11)
     and "AAHD" (mode 12). Renamed the "Modified AHD" to "AHD-Mod" to
     simplify and match libraw terminology. Made matching of demosaicing
     algorithms case-insensitive. #1629 (1.8.3/1.7.13)
   * Support "ACES" color space for direct conversion while reading RAW
     images (supported in libraw 0.18 or newer). #1626 (1.8.3/1.7.13)
   * Add "raw:user_sat" configuration attribute to the reader.
     #1666 (1.7.15/1.8.4)
   * The pixels are now decoded (expensive) only when they are read, not
     when the file is first opened. This makes raw reading much faster for
     apps that are only interested in the metadata and not the pixel data.
     #1741 (1.8.5)
   * Unpack pixels when they are needed, not when the file is opened. This
     makes it much faster to read RAW file only to extract the metadata,
     if you don't need the pixel values. #1741 (1.8.5)
* RLA:
   * Fix RLA reading and writing with certain channel orders and mixded data
     formats. #1499 (1.8.0/1.7.8)
* TIFF:
   * Fix to TIFF handling of certain unusual tags. #1547 (1.7.8/1.8.0)
   * Now has a way to read raw pixel values from CMYK files, without
     the automatic conversion to RGB (pass configuration attribute
     "oiio:RawColor" set to nonzero). #1605 (1.8.2/1.7.11)
   * Improved I/O of color separation images, particularly those with
     custom InkSet attributes. #1658 (1.8.4/1.7.15)
   * Fix typo that prevented correct reading of some Exif fields. #1625
     (1.8.3/1.7.12)
   * TIFF output omitted setting the "Make" and "Model" metadata tags.
     #1642 (1.8.3/1.7.13)
   * Images with fewer than 4 channels, but one of those channels was alpha,
     were not correctly marking spec.alpha_channel. #1718 (1.8.5/1.7.16)
   * The XPOSITION and YPOSITION tags are now interpreted as relative to
     the RESOLUTIONUNIT, whereas before it was assumed to be measured in
     pixels. We are confident that the new way is more in line with the
     intent of the TIFF spec. #1631 (1.8.5)
* webp:
   * Several new sanity checks prevent the webp reader from spending too
     much I/O time and memory reading bogus files (malformed, corrupted,
     or not a webp after all). #1640 (1.8.3/1.7.13)
* Nuke plugin: Fix txReader to properly restore saved MIP level knob value.
  #1531 (1.8.0)
* Fixed several (so far unnoticed) buffer overruns and memory leaks.
  #1591 (1.8.2)
* TIFF, JPEG, others: Improved reading Exif meatdata from XMP blocks, now it
  does a better job of discerning the proper data types. #1627 (1.8.3/1.7.13)
* In several places, the formatting of date metadata has been changed to
  have a leading zero rather than leading space for hours < 10, i.e.,
  "02:00:00" rather than " 2:00:00". #1630 (1.8.3)
* Improve XMP parsing (for any format): for malformed XMP, still honor the
  parts that could be parsed properly; recognize additinoal tags for
  GPano (Google's Photo Sphere metadata schema) and camera raw (crs: prefix)
  metadata; improve speed of XMP parsing.  #1679 (1.8.4)
* Improved handling and color conversion of gamma-corrected images (DPX,
  HDR, PNG, RLA, Targa) by supporting linearization correctly even in the
  presence of OCIO configs that don't know about it. #1684 (1.8.4)
* Fixed static initialization order fiasco error involving interaction
  between ColorConfig and Strutil. #1757 (1.8.5)

Build/test system improvements:
* **Changes to install layout**: fonts now get installed to
  `prefix/share/fonts/OpenImageIO`, OIIO docs now get installed to
  `prefix/share/doc/OpenImageIO`, and the Python module gets installed to
  `prefix/lib/pythonMAJ.MIN/site-packages`. #1747 #1760 (1.8.5)
* Support for building against ffmpeg 3.1 (their API has changed).
  #1515 (1.8.0/1.7.8)
* Build no longer gets confused about include files from older installations
  of OIIO elsewhere on the system. #1524 (1.8.0/1.7.8)
* Improvements in finding OpenJPEG. #1520 (1.8.0/1.7.8)
* Improved finding of OCIO headers. #1528 (1.8.0/1.7.8)
* Fix compile warnings for Clang 3.9. #1529 (1.8.0/1.7.8)
* Minimum C++ standard of C++11 is expected and enforced. #1513 (1.8.0)
* Minimum Boost is now 1.53. #1526 (1.8.0)
* Fix compiler warning on Fedora aarch64. #1592 (1.8.1)
* Tweak OpenJPEG include file search rules to prefer newer versions when
  multiple are installed. #1578 (1.8.1)
* Build option `SANITIZE=...` lets us use the sanitizers. #1591 (1.8.2)
* Big refactoring of the cmake build files. #1604 (1.8.2)
* When using a recent enough C++ compiler and standard library, OIIO will
  now use C++11 std::regex rather than boost regex. #1620,#1644 (1.8.3)
* Support for clang-tidy using build time flags CLANG_TIDY=1,
  CLANG_TIDY_ARGS=..., and optionally CLANG_TIDY_FIX=1. #1649 (1.8.4)
* Fix Windows warnings about SIMD types as function arguments
  and about bool vs int. #1659 (1.8.4)
* Changed the way namespaces work. Instead of a 2-level namespace, make a
  one-level namespace, and automatically embed the major and minor version
  in it. (Can stll override the basename.) #1662 (1.8.4)
* Fixes to OSX rpath behavior of linked binaries. #1671
* Upgraded the local PugiXML (when not using an external system version)
  to release 1.8.1.  #1679 (1.8.4)
* Beef up Strutil unit tests. (1.8.5)
* `iv` has been upgraded to use Qt 5.x. Support for Qt 4.x is hereby
  deprecated. #1711 (1.8.5)
* Make the search for boost_python3 more reliable. #1727 (1.8.5)
* Fix python site-packages path for installation. #1722 (1.8.5)
* Fixes for building with gcc 7. (1.8.5)
* Support and fixes for building with clang 5.0. #1746 (1.8.5)
* Support/fixes for Boost 1.65. #1553 (1.8.5)
* Simplify CMake scripts by using GNUInstallDirs to set standard installation
  paths. #1747 (1.8.5)

Developer goodies / internals:
* Sysutil::Term formatting now works properly in Windows (though is only
  functional for Windows 10 or above). (1.8.0/1.7.8) #1527
* C++11 idioms:
   * We now eschew BOOST_FOREACH, in favor of C++11 "range for". #1535
   * We now use std::unique_ptr, no longer use boost::scoped_ptr or
     boost::scoped_array. #1543 (1.8.0) #1586 (1.8.1)
   * Instead of the various boost components, we now use `std::` versions of
     unordered_map, unordered_set, shared_ptr, hash, bind. #1586 (1.8.1)
   * Change deprecated C headers (such as `<ctype.h>`) to C++ (`<cctype>`).
     #1649 (1.8.4)
   * Use `std::vector<>::emplace_back()` where applicable. #1657 (1.8.4)
   * Mark ImageInput/ImageOutput derived classes as 'final'. (1.8.5)
* array_view.h:
   * Add front() and back() methods. #1724 (1.8.5)
   * Simplified array_view template to be 1D only. #1734 (1.8.5)
* atomic.h:
   * Added atomic_min and atomic_max. #1661 (1.8.4)
   * Added atomic_fetch_add for `std::atomic<float>` and double. #1661 (1.8.4)
   * Assume std::atomic is available, remove all code that is only needed
     for pre-C++11. #1661 (1.8.4)
* benchmark.h:
   * New `Benchmarker` class utility for micro-benchmarking. #1577 (1.8.5)
   * Moved time_trial, timed_thead_wedge, DoNotOptimize, clobber_all_memory
     to benchmark.h. #1577 (1.8.5)
* errorhandler.h: Change all ErrorHandler methods to use variadic templates
  rather than varargs. #1653 (1.8.4)
* filesystem.h:
   * Better exception safety for Filesystem::searchpath_find. #1680 (1.8.4/1.7.15)
* fmath.h:
   * Fixed typo in fmath.h that made bitcast_to_float incorrect. #1543 (1.8.0)
   * Templatize round_to_multiple() so it works with types other than `int`.
     #1548 (1.8.0)
   * `interpolate_linear()` utility linearly interpolates from a list of
     evenly-spaced knots. #1552 (1.8.1)
   * Slight reformulation of clamp() ensures sane results even with NaN
     parameters. #1617 (1.8.3)
   * Bug fixes to `ifloor()` and `floorfrac()`, which turned out to give
     incorrect results for exact negative integer values. Also added
     simd vector-based versions of `floorfrac`. #1766 (1.8.5)
* paramlist.h:
   * ParamValueList has been refactored and now inherets from, rather than
     containts, a `std::vector<ParamValue>`. This removes most of the
     additional code from the class. #1677 (1.8.4)
   * ParamValue new methods: `get<>()`, `get_int()`, `get_float()`,
     `get_string()`, `get_ustring()` retrieve and convert. #1686 (1.8.4)
   * ParamValueList new methods: `get_int()`, `get_float()`, `get_string()`,
     `get_ustring()` search, retrieve, and convert (much like the
     equivalent versions in ImageSpec did). #1686 (1.8.4)
   * Remove the pointless typedefs `ImageIOParameter` and
     `ImageIOParameterList` in favor of `ParamValue` and `ParamValueList`,
     respectively. #1690 (1.8.4)
* platform.h:
   * More `cpu_has_...()` tests for newer CPU capabilties. #1719 (1.8.5)
   * Remove deprecated OIIO_NOTHROW macro, which should now simply be
     C++11 `noexcept`. #1736 (1.8.5)
* strutil.h / Strutil:
   * Add `Strutil::printf()` and `Strutil::fprintf()`, typesafe and
     non-thread-jumbled replacements for C versions. #1579, #1656 (1.8.1, 1.8.4)
   * `from_string<>` has been extended to 'unsigned int'. (1.8.3/1.7.13)
   * `Strutil::parse_identifier_if` #1647 (1.8.3)
   * safe_strcpy now takes a string_view, and more closely conforms to the
     behavior of strncpy by filling in the extra space with 0 padding.
     (1.8.5)
* simd.h:
   * Add a matrix44 constructor from 16 floats. #1552 (1.8.1)
   * Renamed files floatN, intN, boolN to vfloatN, vintN, vboolN, to avoid
     confusion with bit lengths of scalars. #1719 (1.8.5)
   * Overhaul to support AVX-512 via vfloat16, vint16, vbool16 classes.
     #1719 (1.8.5)
   * load_mask, store_mask, and scatter/gather added for all types.
     #1732 (1.8.5)
   * Renamed `floori()` to `ifloor()` to match the analogous scalar function
     in fmath.h. #1766 (1.8.5)
* strided_ptr.h: The `strided_ptr<>` template is now also templated on
     the stride units -- the default is to measure strides in units of
     sizeof(T), but it's possible to override and measure in bytes (the old
     behavior). #1758 (1.8.5)
* thread.h:
   * thread_pool class offers true persistent thread pool.
     #1556, #1581 (1.8.1)
   * Lots of C++ modernization of thread_group and spin_mutex. #1556 (1.8.1)
   * Environment variable `OPENIMAGEIO_THREADS` can artificially raise or
     lower the default number of threads (otherwise, it defaults to the
     number of processor cores available). #1581 (1.8.1)
* timer.h: added timed_thread_widge() that benchmark code and prints
  statistics about thread scaling. #1660 (1.8.4)
* typedesc.h:
   * Modernized TypeDesc with C++11 constexpr where applicable. #1684 (1.8.4)
   * New `TypeDesc::basevalues()` method. #1688 (1.8.4)
* unittest.h:
   * Colored error messages and auto error return on completion. #1731 (1.8.5)
* *NEW* parallel.h:
   * parallel_for, parallel_for_chunked, parallel_for_each offer simple
     thread_pool-based parallel looping in 1 and 2 dimensions.
     #1556, #1581 (1.8.1)
* Internal `OIIO::debugmsg()` call has been renamed to `OIIO::debug()`,
  and setting env variable OPENIMAGEIO_DEBUG_FILE can redirect the debug
  messages to a file. #1580 (1.8.1)
* Upgraded tinyformat to the latest master, also changed all the places
  where we used TINYFORMAT_WRAP_FORMAT to use of C++11 variadic templates.
  #1618 (1.8.3)
* *NEW* function_view.h : function_view<> is a very lightweight, non-owning,
  generic callable object view. Cheaper than std::function, but the view
  is not allowed to outlive the callable object it references. #1660 (1.8.4)
* Deprecate the pre-C++11 macros OIIO_CONSTEXPR, OIIO_CONSTEXPR_OR_CONST,
  and OIIO_NOEXCEPT. #1678 (1.8.4)

Docs:
* Improve docs about deep IBA functions. (1.8.1)
* Fix 'Building OIIO on Windows' link. #1590 (1.8.1)



Release 1.7.19 (1 Jun 2018) -- compared to 1.7.18
-------------------------------------------------
* Build fix for 32 bit Windows -- disable SSE that was making trouble. #1933
* Improved UTF-8 filename support for OpenEXR filenames. #1941
* filesystem.h: Improve UTF-8 handling for unique_path and temp_directory
  functions. #1940
* Clean up some warnings on modern Clang versions.
* Improvements in finding the location of OpenJPEG with Macports. #1948
* ImageCache and TextureSystem now have close(filename) and close_all()
  methods, which for one file or all files will close the files and release
  any open file handles (also unlocking write access to those files on
  Windows), but without invalidating anything it knows about the ImageSpec
  or any pixel tiles already read from the files, as would happen with a
  call to the much more drastic invalidate() or invalidate_all(). #1950

Release 1.7.18 (1 May 2018) -- compared to 1.7.17
-------------------------------------------------
* Update to build against ffmpeg 4.0

Release 1.7.17 (1 Sep 2017) -- compared to 1.7.16
-------------------------------------------------
* Repair build breaks against Boost 1.65. #1753
* Fix a subtle static initialization order problem. #1757
* Build: Improved finding LibRaw. #1749

Release 1.7.16 (1 Aug 2017) -- compared to 1.7.15
-------------------------------------------------
* OpenEXR: fix problem with 2-channel images putting the channels in the
  wrong order. #1717
* TIFF: images with fewer than 4 channels, but one of those channels was
  alpha, were not correctly marking their spec.alpha_channel. #1718
* Several minor updates to simd.h backported from mater.

Release 1.7.15 (1 Jun 2017) -- compared to 1.7.14
-------------------------------------------------
* Add "raw:user_sat" configuration attribute to the reader. #1666
* Better exception safety for `Filesystem::searchpath_find()`. #1680
* Improved I/O of color separation images, particularly those with custom
  InkSet attributes. #1658
* Big TextureSystem performance improvement on Windows with MSVC by removing
  certain empty destructors in simd.h that prevented MSVC from fully
  inlining the class. #1685
* Fix rare case TextureSystem crash. #1685

Release 1.7.14 (1 May 2017) -- compared to 1.7.13
-------------------------------------------------
* oiiotool expression substitution now recognizes FRAME_NUMBER and
  FRAME_NUMBER_PAD. #1648
* oiiotool -resize and -resample now have more intuitive behavior for images
  where the display and pixel data windows are not the same, especially if
  the data window had a nonzero origin (such as with crop or overscan).
  #1667
* oiiotool --resample and ImageBufAlgo::resample() have been extended to
  work for "deep" images. #1668
* ImageCache::get_image_info() will now return a proper error (and not hit
  an assertion) if asked for information about a subimage or MIP level that
  does not exist in the file. #1672
* ImageBuf copy constructor from another ImageBuf was previously broken for
  IB's that wrap application buffers. #1665
* TextureSystem::get_texels fixes crashing behavior. #1669
* Fixes to OSX rpath behavior of linked binaries. #1671
* OpenEXR file input: fixed problem with sorting order of spectral alpha
  channels (RA, GA, BA, or AR, AG, AB). #1674
* ImageBufAlgo::deep_merge() (and oiiotool --deepmerge) now will give a
  useful error message if you try to merge two deep images that do not have
  the same number of channels. #1675
* ImageCache/TextureSystem statistics no longer list as "BROKEN" files which
  were invalidated, or files that were initialized with an ImageCacheFile
  but never opened. #1655
* Fix Windows warnings about SIMD types as function args, and about
  int vs bool. #1659

Release 1.7.13 (1 Apr 2017) -- compared to 1.7.12
----------------------------------------------
* TIFF, JPEG, others: Improved reading Exif meatdata from XMP blocks, now it
  does a better job of discerning the proper data types. #1627
* RAW: The default value for missing "raw:use_camera_matrix" has been changed
  to 1 (not 0) to better match default behavior of libraw/dcraw. #1629
* RAW: Add support for selecting new demosaicing algorithms: "DMT" (mode 11)
  and "AAHD" (mode 12). Renamed the "Modified AHD" to "AHD-Mod" to
  simplify and match libraw terminology. Made matching of demosaicing
  algorithms case-insensitive. #1629
* RAW: Support "ACES" color space for direct conversion while reading RAW
  images (supported in libraw 0.18 or newer). #1626
* oiiotool: Improved error reporting of file open errors when -iconfig is
  used. #1626
* oiiotool `--echo STRING` prints the string to the console. This can contain
  expressions! So you can do something like
      oiiotool file.exr -echo "Size is {TOP.width}x{TOP.height}"
  #1633
* JPEG: Be more reslient to malformed Exif data blocks with bogus offsets.
  #1585, #1639
* TIFF output omitted setting the "Make" and "Model" metadata tags. #1642
* webp: Several new sanity checks prevent the webp reader from spending too
  much I/O time and memory reading bogus files (malformed, corrupted,
  or not a webp after all). #1640
* PSD: Support has been added for "cmyk", "multichannel", and "grayscale"
  color modes. And support was fixed for rgb and grayscale 32 bit per
  sample bit depth. #1641

Release 1.7.12 (1 Mar 2017) -- compared to 1.7.11
----------------------------------------------
* BMP: add support for version 5 headers. #1616
* TIFF: Fix typo that prevented correct reading of some Exif fields. #1625
* ImageBuf: Fix broken threads(n) method, which didn't correctly pass the
  right number of threads along. #1622.
* Fix build warnings about undefined OIIO_MSVS_AT_LEAST_2013 symbol.

Release 1.7.11 (1 Feb 2017) -- compared to 1.7.10
----------------------------------------------
* maketx fix: two textures that had identical source pixels but differed
  in whether they resized with "highlight compensation" incorrectly
  ended up with identical hashes, and thus could be confused by the
  TextureSystem at runtime into thinking they were duplicates. The hash
  is now fixed.  (1599)
* OpenEXR: Allow compression "none" for deep exr files.
* Fix unimplemented python ImageBufAlgo.computePixelStats. (1596)
* IBA::draw_rectangle (and oiiotool --box) wasn't drawing properly for
  the degenerate case of a rectangle that takes up just one
  pixel. (1601)
* Fixed several (so far unnoticed) buffer overruns and memory leaks. (1591)
* ImageInput::read_tiles when only a channel subset is read, fixed case
  with certain data sizes where the copy to user buffer got mangled. (1595)
* oiiotool -iconfig fixed, did not in all cases correctly propagate the
  input config attribute to the file read. (1605)
* TIFF: now has a way to read raw pixel values from CMYK files, without
  the automatic conversion to RGB (pass configuration attribute
  "oiio:RawColor" set to nonzero). (1605)
* imageio.h: Fix incorrect declaration of declare_imageio_format(). (1609)
* `oiiotool --crop` did not properly honor the `-a` flag and apply the crop
  to all subimages. (1613)

Release 1.7.10 (1 Jan 2017) -- compared to 1.7.9
----------------------------------------------
* Fix "exr_threads" value, -1 should disable IlmImf's thread pools. #1582
* Be more reslient to malformed Exif data blocks with bogus offsets. #1585
* Build: Fix regarding iv man page.
* Build: Fix compiler warning on Fedora aarch64. #1592
* Docs: improve docs about deep IBA functions.
* Docs: fix 'Building OIIO on Windows' link. #1590

Release 1.7.9 (1 Dec 2016) -- compared to 1.7.8
----------------------------------------------
* Make sure that sRGB<->linear color transform still work (in the obvious
  way) even when OpenColorIO is present but that its configuration for some
  reason doesn't know about "sRGB" space. #1554
* ImageCache: make robust to changes in autotile after opening and reading
  from untiled files. #1566
* ImageCache: fix initialization bug that made the reported stats output
  nonsensical in the numbers it gave for "redundant reads". #1567
* IC/TS get_image_info queries of "displaywindow" and "datawindow" did not
  correctly return a 'true' value when the data was found. #1574
* oiiotool -d giving per-channel formats is no longer confused by channel
  renaming with --chnames. #1563
* Added implementation of ImageBufAlgo::to_IplImage(). #1461

Release 1.7.8 (1 Nov 2016) -- compared to 1.7.7
----------------------------------------------
* Fix gcc warnings when compiling for AVX2. #1511
* Fix a variety of Windows warnings and breaks. #1512, #1523
* Added support for new API introduced with ffmpeg 3.1. #1515
* Improve oiiotool --mosaic, wasn't reliably clearing the blank spaces
  for missing images.
* Smarter channel_append channel renaming: try to resolve redundant
  channel names by using the subimage name, if available. #1498
* Texture: get_image_info queries for "channels" on UDIM file patterns
  now succeeds, returning the value for the first matching file it finds.
  (Relies on all textures within the same UDIM set having the same
  nchannels.) #1502, #1519
* Bug fix to possible crashes when adding dither to tiled file output
  (buffer size miscalculation). #1518
* maketx: multiple simultaneous maketx process trying to create the same
  texture will no longer clobber each other's output. #1525
* Build no longer gets confused about include files from older installations
  of OIIO elsewhere on the system. #1524
* Improvements in finding OpenJPEG. #1520
* Sysutil::Term formatting now works properly in Windows (though is only
  functional for Windows 10 or above). #1527
* Fix RLA reading and writing with certain channel orders and mixded data
  formats. #1499
* Improved finding of OCIO headers. #1528
* Better recognition of C++11 features in MSVS.
* Fix compile warnings with Clang 3.9. #1529
* Texture: Fix UDIM channels query. #1530
* nuke: Fix txReader to properly restore saved mip level knob value (#1531)
* Fix warnings on some 32 bit platforms #1539
* Exit oiiotool with non-zero status when command-line args fail to
  parse properly. #1540
* Fix typo in fmath bitcast_to_float declaration #1543
* Allow multiple key/value pairs in OCIO wrappers. #1542
* colorconvert API extended to take context key/values #1542
* Fix to TIFF handling of certain unusual tags, which also affected raw
  files. #1547
* fmath.h: templatize round_to_multiple so it works with other types
  (like size_t). #1548
* Fix IFF output that didn't correctly save the "Author" and "Date"
  metadata. #1549
* Handle 'oiiotool --colorconvert X X' (transform from and to spaces that
  are the same) without considering it an error. #1550

Release 1.7 (1 Oct 2016) -- compared to 1.6.x
----------------------------------------------
Major new features and improvements:
 * New oiiotool commands:
    * `-otex` and `-oenv` allow oiiotool to directly output proper texture
      maps, and it can now do everything that maketx can do. #1351 (1.7.2)
    * `--line` can draw polylines into an image. #1319 (1.7.1)
    * `--box` can draw a filled or unfilled box into an image. #1319 (1.7.1)
    * `--laplacian` computes the Laplacian. #1332 (1.7.1)
    * `--deep_merge` does a full merge/composite of deep images. #1388 (1.7.2)
    * `-i` inputs a file. Options `autocc=`, `now=`, `info=` control aspects
      of reading that one file. #1389 (1.7.2)
    * `--dilate` and `--erode` perform the basic morphological operations
      of dilation and erosion. #1486 (1.7.5)
 * New ImageBufAlgo functions: render_point(), render_line(), render_box()
   #1319 (1.7.1); laplacian() #1332 (1.7.2); copy() #1388 (1.7.2);
   deep_merge() #1388,1393 (1.7.2); dilate() and erode() (1.7.5).
 * UDIM support for textures: filenames like `"tex_<UDIM>.exr"` will
   automatically be resolved to the correct UTIM tile based on the s,t
   coordinates. #1426 (1.7.3)
 * Behavior change: When reading files without explicit channel names,
   single channel images now name their channel "Y" (no longer "A",
   which was confusing to algorithms that treat alpha in special ways).
   Similarly, 2-channel images name their channels "R" and "G". #1434 (1.7.3)

Public API changes:
 * DeepData internals and API overhaul: struct internals hidden, now you
   must use the API; DeepData declaration is now in deepdata.h, not in
   imageio.h; DD methods now allow insertion and erasure of individual
   samples. #1289 (1.7.0) New DeepData methods: split, sort, merge_overlaps,
   merge_deep_pixels, occlusion_cull. #1388,1393 (1.7.2)
 * imageio.h: Removed items deprecated since 1.4: a version of convert_types()
   that took alpha and z channel indices (but never used them). #1291
 * fmath.h: Removed safe_sqrtf, safe_acosf, fast_expf, which have been
   deprecated since 1.5. (1.7.0) #1291
 * Removed ImageBufAlgo::flipflop(), which was deprecated since 1.5 and
   is now called rotate180. #1291 (1.7.0)
 * Several varieties of ImageCache and TextureSystem getattribute methods
   were noticed to not be properly declared 'const'. This was fixed.
   #1300 (1.7.0/1.6.9)
 * For API calls that are deprecated but not yet removed, we now mark
   them with deprecated attributes for compilers that support it,
   meaning that you will get compile warnings and explanations when you
   use deprecated OIIO API functions. #1313,#1318 (1.7.1)
 * ImageBuf::contains_roi() reveals whether an ROI is completely contained
   in the data region of the IB. #1310 (1.7.1)
 * TypeDesc::is_signed() return true of the TypeDesc returns a type that
   can represent negative values. #1320
 * Python: improve: reading with request for type UNKNOWN returns native
   data in an unsigned char array. Also, requesting HALF returns the half
   bits in an unsigned short array (since there is no 'half' type in Python).
   #1362 (1.7.2/1.6.11)
 * Deprecate ImageCache/TextureSystem clear() methods, which never did
   anything useful. #1347 (1.7.3)
 * ImageSpec::set_format() clears any per-channel format information. #1446
   (1.7.4)
 * OIIO::getattribute("library_list", ...) can retrieve a list of all the
   dependent libraries used when OIIO was built. #1458 (1.7.5)
 * simd::mask4 class has been renamed simd::bool4 (though the old name
   is still typedef'ed to work for now). #1484 (1.7.5)
 * Python bindings for ImageBuf.reset() now properly understands the
   argument names and default values. #1492 (1.7.6)

Fixes, minor enhancements, and performance improvements:
 * oiiotool:
    * oiiotool --subimage now takes as an argument either the subimage
      numeric index, or a subimage name. #1287 (1.7.0)
    * oiiotool's image cache was smaller than intended because of typo.
      (1.7.0/1.6.9)
    * Allow command-line expression metadata names to contain ':'. #1321
      (1.7.1/1.6.10)
    * --info more clearly prints info about subimage formats. #1320 (1.7.1)
    * --ch: when the channels were only renamed, not reordered, the
      renaming didn't happen properly. #1326 (1.7.1/1.6.10)
    * Improved error message propagation from the underlying IBA functions
      and from errors encounered during --stats. #1338 (1.7.2)
    * --dumpdata:empty=0 now does something for non-deep files: skips
      reporting of pixels where all channels are black. Also fixed errors
      for dumpdata of deep, but non-float, files. #1355 (1.7.2/1.6.11)
    * '--attrib:type=t name value' lets you explicitly name the top of
      the attribute you're seting. This helps for ambiguous cases, and also
      lets you create aggregate types (such as 'matrix' or 'int[2]' --
      the value can be a comma-separated list in those cases). #1351 (1.7.2)
    * --fixnan can now take option "error", meaning that upon finding a
      NaN, the program considers it an error (rather than fixing).
      #1351 (1.7.2)
    * -o now takes optional arguments that control the output of just that
      one file, including :datatype=, :bits=, :dither=, :autocc=,
      :autocrop=, :autotrim=, :separate=, :contig=.  #1351 (1.7.2)
    * --resize and --fit sped up by approximately 2x. #1372 (1.7.2)
    * --runstats not tracks and reports max memory usage. #1385 (1.7.2)
    * New --cache and --autotile options let you set the ImageCache size and
      autotile options. #1385 (1.7.2)
    * --native results in slightly different behavior: does not force float,
      but still uses the ImageCache as backing if the native data type
      is one of the types directly supported by IC. #1385 (1.7.2)
    * --fixnan now works with deep images. #1397 (1.7.3)
    * --stats when used with deep images, if it encounters any nonfinite
      values, will print the location of a representative one. #1397 (1.7.3)
    * --add, --sub, and --absdiff, when its two image operands have differing
      number of channels, now try to do the "correct" thing and have the
      result have the larger number of channels, treating any "missing"
      channels in either input as if they were 0-valued. #1402 (1.7.3)
    * --attrib:type-timecode lets you set timecodes in "human-readable" form:
        oiiotool in.exr -attrib:type=timecode TimeCode 11:34:03:00 -o out.exr
      #1415 (1.7.3)
    * -info -v will print timecodes in human-readable form. #1415 (1.7.3)
    * Bug fix: --fullsize didn't work properly when followed by --attrib.
      #1418 (1.7.3/1.6.14)
    * Easily understandable warnings for common mistakes: no output specified,
      an image that's modified but never output, or when -autocc causes
      output to be a data format that overrides a previous -d directive.
      #1419 (1.7.3)
    * --origin, --croptofull, and --trim all do their thing to all subimages,
      if the image at the top of the stack has multiple subimages.
      #1440 (1.7.3)
    * --crop operates on all subimages if either the -a flag was used, or
      if the specific optinoal override `--crop:allsubimages=1` is used.
      #1440 (1.7.3)
    * --trim will trim all subimages to the same region, containing the
      union of all nonzero pixels in all subimages. #1440 (1.7.3)
    * --help now prints all of the dependent libraries for individual
      formats. #1458 (1.7.5)
    * Bug fix: make sure to propagate per-channel formats from input
      to output. #1491 (1.7.6)
    * -o:all=n will output all images currently on the stack, and the
      filename argument will be assumed to be a pattern containing a %d,
      which will be substituted with the index of the image (beginning with
      n). For example, to take a multi-image TIFF and extract all the
      subimages separately,
          oiiotool multi.tif -sisplit -o:all=1 sub%04d.tif
      will output the subimges as sub0001.tif, sub0002.tif, and so on.
      #1494 (1.7.6)
    * --mosaic MxN would fail mysteriously if the number of images on the
      stack was less then M*N. This has been fixed to handle too-few images
      gracefully and just leave blank spaces as needed. #1501 (1.7.7)
 * ImageBuf:
    * ImageBuf::iterator performance is improved -- roughly cutting in half
      the overhead of iterating over pixels. #1308 (1.7.1/1.6.10)
    * ImageBuf reads from disk have been improved substantially (in some
      cases cutting read time in half) in many cases. #1328 (1.7.1)
    * ImageBuf::copy_pixels() has been sped up. #1358 (1.7.2)
 * ImageBufAlgo:
    * The varieties of add(), sub(), mul(), and div() that take an
      image operand and a per-channel constant operand have all been
      modified to work properly for "deep" images. #1297 (1.7.0/1.6.10)
    * mad() is sped up significantly (10x) for the common case of float
      images already stored in memory (not cached). #1310 (1.6.1)
    * render_point(), render_line(), render_box() can be used to render
      points, lines, and boxes into an image. #1319 (1.7.1)
    * channels(): when the channels were only renamed, not reordered,
      the renaming didn't happen properly. #1326 (1.7.1/1.6.10)
    * computePixelStats: Improved numerical accuracy to avoid getting
      NaN values from imprecision. #1333 (1.7.2/1.6.11)
    * laplacian() computes the laplacian of an image. #1332 (1.7.2)
    * fixNonFinite() takes a new option: NONFINITE_ERROR, which will
      return an error if nonfinite values are encountered. #1351 (1.7.2)
    * convolve() and unsharp_mask() have been sped up by about 35% for
      common cases. #1357 (1.7.2)
    * IBA::resize sped up by approximately 2x. #1372 (1.7.2)
    * IBA::fixNonFinite() now works with deep images. #1397 (1.7.3)
    * dilate() and erode() perform basic morphological operations.
      #1486 (1.7.5)
 * ImageCache / TextureSystem:
    * Less unnecessary pausing after read errors when falure_retries == 0.
      #1336 (1.7.2/1.6.11)
    * Texture: slight improvement in texture sharpness. #1369 (1.7.2/1.6.11)
    * New statistics related to redundant tile reads. #1417 (1.7.3)
    * TextureSystem option "flip_t", if nonzero, will flip the vertical
      direction of all texture lookups. Use this for renderers that adhere
      to the convention that the t=0 texture coordinate is the visible
      "bottom" of the texture. #1428 (1.7.3) #1462 (1.7.5)
    * UDIM support for textures: filenames like `"tex_<UDIM>.exr"` will
      automatically be resolved to the correct UTIM tile based on the
      s,t coordinates. #1426 (1.7.3)
    * Avoid repeated broken texture error messages. #1423 (1.7.3)
    * New IC/TS attribute: "max_errors_per_file" limits how many error
      messages are printed for each file. #1423 (1.7.3)
    * Improved statistics: for the "top 3" stats, print the top 3 that aren't
      broken. Also print a count & list of broken/invalid files. #1433
      (1.7.3/1.6.15)
    * Add ability to retrieve various per-file statistics. #1438 (1.7.3/1.6.15)
    * IC will clamp the max_open_files to the maximum allowed by the
      system, so you can no longer crash a program by incorrectly
      setting this limit too high. #1457 (1.7.5)
    * IC/TS statistics now report separately the total size of images
      referenced, in terms of in-cache data size, as well as on-disk
      size (the latter may be compressed). #1481 (1.7.5)
 * maketx:
    * maketx -u now remakes the file if command line arguments or OIIO
      version changes, even if the files' dates appear to match.
      #1281 (1.7.0)
    * Remove long-obsolete and non-functional command line options: --new,
      --old, --hash. #1351 (1.7.2)
 * iinfo:
    * More clearly prints info about subimage formats. #1320 (1.7.1)
    * Print timecodes in human-readable form. #1415 (1.7.3)
 * ImageOutput: fix cases with native data but non-contiguous strides.
   #1416 (1.7.3/1.6.15)
 * Cineon:
    * Improved deduction/setting of color space info. #1466 (1.7.5)
 * GIF:
    * GIF reader failed to set spec full_width, full_height. #1348
      (1.7.2/1.6.11)
 * JPEG:
    * Fix bad memory access crash when reading specific JPEG files that were
      written without their comment field including a null character to
      end the string. #1365 (1.7.2/1.6.11)
    * Change in behavior writing JPEG files when XResolution & YResolution
      are not provided, but a PixelAspectRatio is requested. Previously, we
      obeyed the JPEG/JFIF spec exactly, but it turns out that popular apps
      including PhotoShop and Nuke use the field differently than the spec
      dictates. So now we conform to how these apps work, rather than to
      the letter of the spec. #1412 (1.7.3/1.6.15)
 * OpenEXR:
    * Fix broken multipart output when parts had different pixel data
      types. #1306,#1316 (1.7.1/1.6.10)
    * Improved error reporting for bad tile reads. #1338 (1.7.2/1.6.11)
    * Fix errors reading tiles for mixed-format EXR files. #1352 (1.7.2/1.6.11)
    * The global OIIO::attribute("exr_threads") has been modified so that 0
      means to use full available hardware, -1 disables the OpenEXR
      thread pool and execute in the caller thread. #1381 (1.7.2)
    * When writing EXR, double check that there are no repeated channel
      names, and if so, rename them so the data is not lost (since the
      underlying libIlmImf will silently drop channels with repeated
      names).  #1435 (1.7.3)
    * More robust detected of when OpenEXR is tiled (for weird files).
      #1441 (1.7.3/1.6.15) (and a fix in #1448/1.7.4)
    * Fixed minor bug with OpenEXR output with correctly setting
      PixelAspectRatio based on the "XResolution" and "YResolution"
      attributes. #1453 (Fixes #1214) (1.7.4/1.6.16)
    * Fix setting "chromaticity" metadata in EXR files. #1487 (1.7.5)
    * When writing OpenEXR, accept compression requests with quality numbers
      appended to the compression algorithm name, such as "dwaa:200" to mean
      dwaa compression with a dwaCompressionLevel set to 200. #1493 (1.7.6)
 * PNG:
    * Per the PNG spec, name 2-channel images Y,A. #1435 (1.7.3)
    * Enforce that alpha premultiplication on output MUST consider alpha
      to be the last channel of 2 or 4 channel images, no other cases
      (as dictated by the PNG spec). #1435 (1.7.3)
 * PNM:
    * Fixed byte swapping when reading 16 but PNM files. #1352 (1.7.2/1.6.11)
 * RAW:
    * Changes to how we instruct libraw to process images when reading:
      Now, by default, auto-bright adjustment is off, camera white
      balance is on, and maximum threshoding is set to 0. There are
      "open with config" overrides for all of these, for anybody who
      doesn't like the default. #1490 (1.7.6)
 * RLA:
    * Fixes for both reading and writing of RLA images that are cropped
      (i.e., data window is a subset of display window). #1224 (1.7.0/1.6.10)
 * TIFF:
    * When outputting a TIFF file, a special attribute "tiff:half", if
      set to nonzero, will enable writing of 16-bit float pixel data
      (obviously, only if the spec.format is HALF). #1283 (1.7.0)
    * TIFF input: erase redundant IPTC:Caption and IPTC:OriginatingProgram
      if they are identical to existing ImageDescription and Software
      metadata, respectively. (1.7.0/1.6.9)
    * Output: "tiff:zipquality" attribute controls time-vs-quality for
      ZIP compression (1-9, defualt 6, higher means more compression).
      #1295 (1.7.1)
    * Fix typo that made TIFF files incorrectly name color space metadata
      "oiio::ColorSpace" instead of "oiio:ColorSpace". #1394 (1.7.2)
    * More robust handling of non-zero origin of full/display window.
      #1414 (1.6.14/1.7.3)
 * Video formats:
    * The ffmpeg-based reader had a variety of fixes. #1288 (1.7.0)
    * Support for reading 10-bit and 12-bit movies. #1430 (1.7.5)
 * Improved accuracy of "lanczos3" filter; speed up blackman-harris filter.
   #1379 (1.7.2)
 * Speed up linear<->sRGB color conversions (as used by any of the IBA color
   conversion functions as well as oiiotool --colorconvert and friends),
   approximately doubling the speed when no OpenColorIO config is found.
   #1383 (1.7.2)
 * ImageInput::create() and ImageOutput::create() will now gracefully
   handle unexpected exceptions inside an ImageInput or ImageOutput
   constructor -- return an error rather than crashing.  #1456 (1.7.4/1.6.16)
 * Nuke txWriter adds UI to let you choose which type of texture you are
   building (ordinary 2D texture, latlong env map, etc). #1488 (1.7.6)

Build/test system improvements:
 * Default build is now C++11! #1344 (1.7.2) You can still (for now) build
   for C++03 using 'make USE_CPP11=0' or 'cmake -DOIIO_BUID_CPP11=0', but
   some time soon we will be C++11 minimum.
 * Fix build break against Boost 1.60. #1299,#1300 (1.7.0/1.6.9/1.5.23)
 * filesystem_test now much more comprehensively tests the contents of
   Filesystem. #1302 (1.7.0)
 * fmath_test adds benchmarks for various data conversions. #1305 (1.7.0)
 * Travis: add DEBUG builds to the matrix to fix any warnings or failures
   that only show up for DEBUG builds. #1309 (1.7.1/1.6.10)
 * Fix build issues on some platforms for SHA1.h, by adding proper include
   of `<climits>`. #1298,#1311,#1312 (1.7.1/1.6.10)
 * Cleanup of include logic in simd.h that fixed build problems for gcc < 4.4.
   #1314 (1.7.1/1.6.10)
 * Fix build breaks for certain 32 bit platforms. #1315,#1322 (1.7.1/1.6.10)
 * imagespeed_test can not specify the data conversion type for reads,
   can optionally allow skipping the IB iteration tests, and can set the
   IC tile cache size. #1323 (1.7.1)
 * Fix build breaks for gcc 6. #1339 (1.7.2/1.6.11) #1436 (1.7.3/1.6.15)
 * Fix errors in finding the correct locaiton of pugixml.hpp when using
   USE_EXTERNAL_PUGIXML=1. #1339 (1.7.2/1.6.11)
 * Rewrite of FindOpenEXR.cmake. Solves many problems and is simpler.
   No more FindIlmbase.cmake at all. #1346 (1.7.2/1.6.11)
 * 'make CODECOV=1; make CODECOV=1 test' can build and test in a way that
   provides a code coverage report. #1356 (1.7.2)
 * Fix Filesystem::open() issues with UTF-8 filenames on MinGW.
   #1353,#1357 (1.7.2/1.6.11)
 * Allow build against a wider range of ffmpeg versions. #1359 (1.7.2)
 * Build correctly against FFMPEG 3.0. #1374 (1.7.2)
 * If found, libjpeg-turbo is used rather than libjpeg; this gives about a
   2x speed improvement for reading & writing JPEG files. #1390 (1.7.2/1.6.13)
 * USE_CPP11=... and USE_CPP14=... are the build flags for both the Make
   wrapper and the CMake scripts. (Before, it was confusing to have USE_CPP11
   for make but OIIO_BUILD_CPP11 for CMake. Now they are one.) #1391 (1.7.2)
 * Improved LINKSTATIC=1, now mostly works. #1395 (1.7.3)
 * Big CMake refactor, got rid of redundancies. #1395 (1.7.3)
 * Remove old embedded Ptex, now must find Ptex externally. Also modified
   the build scripts to correctly handle newer versions of Ptex. #1400
   (1.7.3/1.6.13)
 * Got Appveyor building OIIO. This is a continuous integration service
   much like Travis, but it's for Windows. Hopefully this means that it will
   be much harder for us to make changes that inadvertently break the build
   on Windows. #1399 (1.7.3)
 * Make FindOpenEXR.cmake more robust when the version number is embedded
   in the library name. #1401 (1.7.3/1.6.15)
 * Clear up some inconsistencies in the CMake files and the Makefile wrapper:
   the flag to compile with libc++ is now always called USE_LIBCPLUSPLUS,
   not sometimes OIIO_BUILD_LIBCPLUSPLUS. #1404 (1.7.3)
 * Overhaul OpenCV dependency finding and make it work with OpenCV 3.x.
   #1409 (1.7.3/1.6.13)
 * Allow custom JPEG_PATH to hint location of JPEG library. #1411
   (1.7.3/1.6.13)
 * Windows UTF-8 filename safety fixes. #1420 (1.7.3/1.6.14)
 * Various Windows compilation & warning fixes. #1443 (1.7.3/1.6.15)
 * Now builds correctly against OpenJPEG 2.x, it previously only supported
   OpenJPEG 1.x. #1452  (Fixes #957, #1449) (1.7.4/1.6.16)
 * Fix Filesystem::searchpath_find on Windows with UTF-8 paths.
   #1469 (1.7.51.6.17)
 * Improved the way OpenEXR installations are found. #1464 (1.7.5)

Developer goodies / internals:
 * thread.h has had all the atomic operations split into a separate atomic.h.
   #1443 (1.7.3)
 * atomic.h: add atomic and, or, and xor. #1417 (1.7.2/1.6.14);
 * parallel_image has been improved in several ways: can choose split
   direction; raised minimum chunk size to prevent thread fan-out for
   images too small to benefit; uses the calling thread as part of the
   pool. #1303 (1.7.0)
 * timer.h: DoNotOptimize() and clobber_all_memory() help to disable certain
   optimizations that would interfere with micro-benchmarks. #1305 (1.7.0)
 * simd.h improvements: select(); round(); float4::store(half*),
   int4::store(unsigned short*), int4::store(unsigned char*). #1305 (1.7.0)
   Define insert, extract, and ^ (xor), and ~ (bit complement) for mask4,
   and add ~ for int4. #1331 (1.7.2); madd, msub, nmadd, nmsub, rint,
   andnot #1377 (1.7.2); exp, log #1384 (1.7.2); simd::float3 is like float4,
   but only loads and stores 3 components, it's a good Vec3f replacement (but
   padded) #1473 (1.7.5); matrix44 4x4 matrix class #1473 (1.7.5);
   mask4 renamed to bool4, and addition of float8, int8, bool8 classes
   for 8-wide AVX/AVX2 SIMD #1484 (1.7.5).
 * fmath.h: convert_types has new special cases that vastly speed up
   float <-> uint16, uint8, and half buffer conversions #1305 (1.7.0);
   ifloor (1.7.2); SIMD versions of fast_log2, fast_log, fast_exp2,
   fast_exp, fast_pow_pos #1384 (1.7.2); fix sign of expm1 for small
   arguments #1482 (1.7.5); added fast_log1p #1483 (1.75).
 * Fix pesky precision discrepancy in internal convert_type<> that used
   slightly different math when converting one value at a time, versus
   converting whole arrays. #1350 (1.7.2)
 * thread.h: add mutex_pool #1425 (1.7.3/1.6.15)
 * compute_test: new unit test can be used to benchmark computation
   times. #1310 (1.7.1)
 * filesystem.h: Filesystem::file_size() returns file size in bytes;
   Filesystem::read_bytes() reads the first n (or all) bytes from a file
   into a buffer. #1451 (1.7.4/1.6.16)
 * strutil.h: Strutil::extract_from_list_string is more flixible by
   allowing the vals list to start empty, in which case it will add as
   many values as it finds rather than only replacing existing
   values #1319 (1.7.1); Strutil::replace #1422 (1.7.3/1.6.15);
   utf_to_unicode now takes a string_view rather than a std::string&
   #1450 (1.7.4); add Strutil::base64_encode() #1450 (1.7.4).
 * sysutil.h: Sysutil::getenv() safely gets an env variable as a string_view
   #1451 (1.7.4/1.6.16); terminal_columns() now has a correct implementation
   on Windows #1460 (1.7.5); max_open_files() retrieves the maximum number
   of files the process may open simultaneously #1457 (1.7.5).
 * platform.h: better distinguishing beteen Apple and Generic clang,
   separately set OIIO_CLANG_VERSION and OIIO_APPLE_CLANG_VERSION. Also change
   OIIO_GNUC_VERSION to 0 for clang, only nonzero for true gcc. #1380 (1.7.2)
 * ImageCache: remove unused shadow matrix fields, save space. #1424 (1.7.3)
 * Many documentation files (such as README, CHANGES, LICENSE, CREDITS,
   and INSTALL) have been changed from plain text to MarkDown. #1442 (1.7.3)
 * Sysutil::Term class makes it easy to use color output on the terminal.
   #1479 (1.7.5)



Release 1.6.18 (released 1 Nov 2016 -- compared to 1.6.17)
------------------------------------------------
* Fix setting "chromaticity" metadata in EXR files. #1487
* maketx: multiple simultaneous maketx process trying to create the same
  texture will no longer clobber each other's output. #1525
* Fix compile warnings with Clang 3.9. #1529
* Fix IFF output that didn't correctly save the "Author" and "Date"
  metadata. #1549


Release 1.6.17 (released 1 Sep 2016 -- compared to 1.6.16)
------------------------------------------------
* Fix build for newer ffmpeg release that deprecated functions.
* Improved finding of OCIO installations. #1467
* Fixed Sysutil::terminal_columns() for WIndows. #1460
* Fix build break in Windows when roundf function not found. #1468
* Fix Filesystem::searchpath_find on Windows with UTF-8 paths. #1469

Release 1.6.16 (released 1 Aug 2016 -- compared to 1.6.15)
------------------------------------------------
* Fix EXR tile logic for OpenEXR 1.x (fixes a break introduced in 1.6.15,
  is not an issue for exr 2.x). #1448
* Now builds correctly against OpenJPEG 2.x, it previously only supported
  OpenJPEG 1.x. #1452  (Fixes #957, #1449)
* New utility functions: Sysutil::getenv(), Filesystem::file_size(),
  FileSystem::read_bytes(). #1451
* Fixed minor bug with OpenEXR output with correctly setting
  PixelAspectRatio based on the "XResolution" and "YResolution"
  attributes. #1453 (Fixes #1214)
* Gracefully handle unexpected exceptions inside an ImageInput or
  ImageOutput constructor -- return an error rather than crashing.
  #1456

Release 1.6.15 (released 1 Jul 2016 -- compared to 1.6.14)
------------------------------------------------
* Improved statistics: for the "top 3" stats, print the top 3 that aren't
  broken. Also print a count & list of broken/invalid files. #1433
* Change in behavior writing JPEG files when XResolution & YResolution
  are not provided, but a PixelAspectRatio is requested. Previously, we
  obeyed the JPEG/JFIF spec exactly, but it turns out that popular apps
  including PhotoShop and Nuke use the field differently than the spec
  dictates. So now we conform to how these apps work, rather than to
  the letter of the spec. #1412
* IC/TS: add ability to retrieve various per-file statistics. #1438
* Windows UTF-8 filename safety fixes. #1420
* ImageOutput: fix cases with native data but non-contiguous strides.  #1416
* Make FindOpenEXR.cmake more robust when the version number is embedded
  in the library name. #1401
* Fix build breaks for gcc 6. #1339 (1.7.2/1.6.11) #1436
* More robust detected of when OpenEXR is tiled (for weird files).  #1441
* Various Windows compilation and warning fixes.
* strutil.h: added replace(). #1422
* thread.h: added mutex_pool. #1425

Release 1.6.14 (released 1 Jun 2016 -- compared to 1.6.13)
------------------------------------------------
* More robust handling of TIFF I/O when non-zero origin of full/display
  window. (#1414)
* oiiotool --fullsize didn't work properly when followed by --attrib. (#1418)

Release 1.6.13 (released 1 May 2016 -- compared to 1.6.12)
------------------------------------------------
* Use libjpeg-turbo if found. It's a drop-in replacement for libjpeg, but
  is around 2x faster. #1390
* Fix some Windows compiler warnings and errors.
* Remove old embedded Ptex, now must find Ptex externally. Also modified
  the build scripts to correctly handle newer versions of Ptex. #1400
* Overhaul OpenCV dependency finding and make it work with OpenCV 3.x. #1409
* Allow custom JPEG_PATH to hint location of JPEG library. #1411

Release 1.6.12 (released 1 Apr 2016 -- compared to 1.6.11)
------------------------------------------------
* Build correctly against FFMPEG 3.0. #1374
* The global OIIO::attribute("exr_threads") has been modified so that 0
  means to use full available hardware, -1 disables the OpenEXR thread
  pool and execute in the caller thread. #1381
* Thread-pool counts initialized to hardware_concurrency, not
  physical_concurrency (i.e., they will include hyperthread cores by
  default). #1378
* oiiotool --autocc bug fixed.
* Miscellaneous improvements to simd.h ported from master.
* Fix typo that made TIFF files incorrectly name color space metadata
  "oiio::ColorSpace" instead of "oiio:ColorSpace". #1394

Release 1.6.11 (released 1 Mar 2016 -- compared to 1.6.10)
------------------------------------------------
* Fix potential of IBA::computePixelStats (including oiiotool --stats)
  to end up with NaNs due to numerical imprecision. #1333
* Less unnecessary pausing after read errors when falure_retries == 0.
  #1336
* Fix errors in finding the correct locaiton of pugixml.hpp when using
  USE_EXTERNAL_PUGIXML=1. #1339
* Fix build breaks for gcc 6. #1339
* GIF reader failed to set spec full_width, full_height. #1348
* PNM: Fixed byte swapping when reading 16 but PNM files. #1352
* OpenEXR: Improved error reporting for bad tile reads. #1338
* OpenEXR: Fix errors reading tiles for mixed-format EXR files. #1352
* oiiotool --dumpdata:empty=0 now does something for non-deep files: skips
  reporting of pixels where all channels are black. Also fixed errors
  for dumpdata of deep, but non-float, files. #1355
* Fix Filesystem::open() issues with UTF-8 filenames on MinGW. #1353
* Rewrite of FindOpenEXR.cmake. Solves many problems and is simpler.
  No more FindIlmbase.cmake at all. #1346
* Fix build break for older gcc < 4.4 that didn't have immintrin.h.
* Fix bad memory access crash when reading specific JPEG files that were
  written without their comment field including a null character to
  end the string. #1365
* The ffmpeg-based reader had a variety of fixes. #1288
* Python: improve: reading with request for type UNKNOWN returns native
  data in an unsigned char array. Also, requesting HALF returns the half
  bits in an unsigned short array (since there is no 'half' type in Python).
  #1362
* Texture: slight improvement in texture sharpness. #1369
* Update webp testsuite references for new webp version.

Release 1.6.10 (released 1 Feb 2016 -- compared to 1.6.9)
------------------------------------------------
* ImageBufAlgo add, sub, mul, and div, for the varieties that combine
  an image with a (per-channel) constant, now work for "deep" images.
  #1257
* ImageBuf::iterator performance is improved -- roughly cutting in half
  the overhead of iterating over pixels. #1308
* OpenEXR: Fix broken multipart output when parts had different pixel
  data types. #1306,#1316
* Allow oiiotool command-line expression metadata names to contain ':'.
* Fix oiiotool --ch (or IBA::channels) when the channels were only renamed,
  not reordered, the renaming didn't happen properly. #1326
* Fixes for both reading and writing of RLA images that are cropped
  (i.e., data window is a subset of display window). #1224
* Fix build issues on some platforms for SHA1.h, by adding proper include
  of `<climits>`. #1298,#1311,#1312
* Cleanup of include logic in simd.h that fixed build problems for gcc < 4.4.
  #1314
* Fix build breaks for certain 32 bit platforms. #1315,#1322

Release 1.6.9 (released 5 Jan 2016 -- compared to 1.6.8)
------------------------------------------------
* Several varieties of ImageCache and TextureSystem getattribute methods
  were noticed to not be properly declared 'const'. This was fixed.
  #1300 (1.6.9)
* Fix build break against Boost 1.60. #1299,#1300 (1.6.9/1.5.23)
* The Python bindings for ImageCache was overhauled after several
  of the methods were found to be horribly broken. #1300 (1.6.9)
* oiiotool --subimage now allows a subimage name as argument, as well
  as the numeric index. #1271,#1287 (1.6.9)
* TIFF input: erase redundant IPTC:Caption and IPTC:OriginatingProgram
  if they are identical to existing ImageDescription and Software metadata,
  respectively. (1.6.9)
* Fix oiiotool image cache smaller than intended because of typo. (1.6.9)


Release 1.6 (1.6.8 released Dec 21, 2015 -- compared to 1.5.x)
----------------------------------------------
Major new features and improvements:
 * New oiiotool functionality:
    * Expression evaluation/substitution on the oiiotool command line.
      Anything enclosed in braces { } in a command line argument will be
      substituted by the evaluation of the enclosed expression. Expressions
      may be numbers, simple arithmetic (like 'expr+expr'), or retrieving
      image metadata from named images or images on the stack.
      Please see the PDF documentation, Section 12.1 for details and
      examples.
    * --absdiff, --absdiffc compute the absolute difference (abs(A-B)) of
      two images, or between an image and a constant color. #1029 (1.6.0)
    * --abs computes the absolute value of an image.  #1029 (1.6.0)
    * --div, divc divide one image by another (pixel by pixel), or divides
      the pixels of an image by a constant color. #1029 (1.6.0)
    * --addc, --subc, --mulc, --powc are the new names for --cadd, --csub,
      --cmul, and --cpow. The old ones will continue to work but are
      considered depcrected. #1030 (1.6.0)
    * --pattern supports new patterns: "fill" makes a solid, vertical or
       horizontal gradient, or four-corner interpolated image (just like
       the --fill commmand) (1.6.0); "noise" can generate uniform, gaussian,
       or salt & pepper noise (1.6.2).
    * --fill, in addition to taking optional parameter color=... to give a
      solid color for the fill region, now also takes top=...:bottom=... to
      make a vertical gradient, left=...:right=... to make a horizontal
      gradient, and topleft=...:topright=...:bottomleft=...:bottomright=...
      to make a 4-corner gradient. (1.6.0)
    * --noise adds noise to the current image: additive uniform or gaussian
      noise, or making "salt & pepper" noise. (1.6.2)
    * --trim crops the image to the minimal rectangle containing all
      the non-0 pixels. (1.6.3)
    * --autocc : when turned on, automatic color conversion of input files
      into a scene_linear space, and conversion to an appropriate space
      and pixel type upon output. It infers the color spaces based on
      metadata and filenames (looking for OCIO-recognized color space names
      as substrings of the filenames). #1120 (1.6.3)
    * --mad takes three image arguments, multiplies the first two and then
      adds the third to it. #1125 (1.6.3)
    * --invert computes the color inverse (1-value) for color channels.
      #1125 (1.6.3)
    * --colorconfig allows you to specify a custom OCIO configuration file
      (rather than strictly relying on the $OCIO env variable). #1129 (1.6.3)
    * --deepen converts flat images to "deep". #1130 (1.6.3)
    * -n (no saved output) performs all calculations (including timing and
      stats) but does not write any output files to disk. #1134 (1.6.3)
    * --debug prints debugging information, this is now separate from
      -v which just makes more verbose (non-debugging) output. #1134 (1.6.3)
    * --pixelaspect rescales the image to have the given pixel aspect
      ratio. #1146 (1.6.5)
    * --ociofiletransform() implements OpenColorIO "file" transforms.
      #1213 (1.6.5)
 * New ImageBufAlgo functions:
    * absdiff() computes the absolute difference (abs(A-B)) of two images,
      or between an image and a constant color. #1029 (1.6.0)
    * abs() computes the absolute value of an image. #1029 (1.6.0)
    * div() divides one image by another (pixel by pixel), or divides all
      the pixels of an image by a constant color. #1029 (1.6.0)
    * fill() has been extended with new varieties that take 2 colors (making
      a vertical gradient) and 4 colors (one for each ROI corner, for a
      bilinearly interpolated gradient). (1.6.0)
    * noise() injects noise into an image -- uniform, gaussian/normal,
      or salt & pepper noise. (1.6.2)
    * mad() multiplies the first two arguments and then adds the third to
      it. #1125 (1.6.3)
    * invert() computes 1-val. #1125 (1.6.3)
    * deepen() turns a flat RGBA (and optional Z) image into a "deep"
      image. #1130 (1.6.3)
    * ociofiletransform() implements OpenColorIO "file" transforms.
      #1213 (1.6.5)
 * Some open source fonts are now distributed with OIIO (DroidSans,
   DroidSans-Bold, DroidSerif, DroidSerif-Bold, DroidSerif-Italic,
   DroidSerif-BoldItalic, and DroidSansMono), and so those are always
   available to ImageBufAlgo::render_text() and oiiotool --text, on all
   platforms and even if you don't have any other installed fonts on
   your system. DroidSans is now the default font. #1132 (1.6.3)
 * GIF output support (including writing animated GIF images, just write it
   as a multi-subimage file). For example, this works:
      oiiotool foo*.jpg -siappendall -attrib FramesPerSecond 10.0 -o anim.gif
   #1193 (1.6.4)

Public API changes:
 * TypeDesc:
    * New helper methods: is_array(), is_unsized_array(), is_sized_array().
      #1136 (1.6.3)
    * New constructor and fromstring of a string_view, in addition to
      the old versions that took char*. #1159 (1.6.4/1.5.16)
    * New aggregate type: MATRIX33. #1265,#1267 (1.6.6)
 * ImageSpec:
    * ImageSpec::metadata_val() is now static, rather than simply const,
      since it doesn't need access to *this at all. #1063 (1.6.1)
    * Added a new variety of find_attribute that takes a temporary
      ImageIOParameter as scratch space. The advantage of this call is
      that it can retrieve items from the named ImageSpec fields, such
      as "width", "full_x", etc. Also, the get_int_attribute,
      get_float_attribute, and get_string_attribute can now retrieve
      these fixed fields as well.  #1063 (1.6.1)
 * ImageInput & ImageOutput:
    * New ImageOutput::supports() tags: supports("alpha") should be true
      for image formats that support an alpha channel, supports("nchannels")
      should be true for output formats that support an arbitrary number
      of output channels. (1.6.2/1.5.13)
    * ImageInput and ImageOutput supports() method has been changed to accept
      a string_view (rather than a const std::string&), and return an int
      (rather than a bool). (1.6.2)
    * ImageInput and ImageOutput have added destroy() static
      methods. They are just wrappers around 'delete', but can help you
      to ensure that II and IO objects are deleted on the same side of a
      DLL boundary as where they were created. (Helps with using OIIO
      from DLL-based plugins on Windows.)  (1.6.3)
    * New ImageInput query: "procedural" -- returns 1 if the ImageInput may
      not correspond to an actual file. #1154 (1.6.4/1.5.16)
    * ImageInput and ImageOutput's error() method is changed from protected
      to public, making it easier for an app to set an error on a reader
      or writer. (1.6.4)
    * ImageOutput::copy_to_image_buffer is a helper function that
      generalizes the existing copy_tile_to_image_buffer, but for any
      rectangle.  #1193 (1.6.4)
    * ImageInput::read_image() variant that takes a channel range to
      read just a subset of the channels present. #1222 (1.6.5)
    * ImageInput and ImageOutput now have new method threads(n) that sets
      the thread "fan-out" for the ImageInput or ImageOutput individually,
      overriding any global attribute("threads"). #1259 (1.6.6)
 * ImageBuf:
    * Add make_writeable(), which forces ImageCache-backed read-only
      ImageBuf to read into locally allocated pixels so they can be
      subsequently altered. #1087 (1.6.2)
    * ImageBuf::Iterator has added set_deep_samples() and set_deep_value()
      methods. (1.6.3)
    * ImageBuf::set_pixels() now provides a way to set an arbitrary
      rectancle of an ImageBuf from raw values. #1167 (1.6.4)
    * ImageBuf::get_pixels() now has a variety that takes an ROI to
      describe the rectangle of pixels being requested. #1167 (1.6.4)
    * ImageBuf now has new method threads(n) that sets the thread
      "fan-out" for the ImageInput or ImageOutput individually,
      overriding any global attribute("threads"). #1259 (1.6.6)
 * ImageCache/TextureSystem:
    * Clarified in the docs that TextureSystem::get_texture_info and
      ImageCache::get_image_info "exists" queries should return true, and
      place in *data the value 1 or 0 depending on whether the image exists
      and can be read. (1.6.0/1.5.10)
    * Added handle-based versions of TextureSystem get_texture_info(),
      get_imagespec(), imagespec(), and get_texels(), in addition to the
      existing name-based versions of those methods. Note that
      texture(), environment(), and texture3d() already had both
      name-based and handle-based varieties. #1057 (1.6.1) #1083 (1.6.2)
    * Add create_thread_info() and destroy_thread_info() methods that
      allow an app to manage the per-thread records needed by the IC.
      #1080 (1.6.2)
    * Added ImageCache get_perthread_info() and get_image_handle() to
      return opaque perthread and file handle pointers, much like
      TextureSystem already had, and added handle-based versions of
      get_image_info(), get_imagespec(), imagespec(), get_pixels(), and
      get_tile(), in addition to the existing name-based versions of
      those methods. #1057 (1.6.1)
    * ImageCache get_tile and get_pixels have new varieties that let you
      request channel begin/end range. This allows you to control which
      channel ranges are in the cache, and thus be much more efficient
      with cache storage when only a few channels are needed from a file
      with many channels. #1226 (1.6.5)
 * ImageBufAlgo:
    * New ImageBufAlgo functions: abs, absdiff, div, fill, noise, mad,
      invert, deepen, ociofiletransform.
    * nchannels() now takes an 'nthreads' parameters, just like all the
      other ImageBufAlgo functions. #1261 (1.6.6)
 * Python bindings:
    * Added previously-M.I.A. ImageSpec::erase_attribute(). #1063 (1.6.1)
    * ImageSpec.set_channel_formats() now works when the channel
      type lists are either TypeDesc, in addition to the existing support
      for BASETYPE. #1113 (1.6.3/1.5.13)
    * Added Python bindings for DeepData and deep reads (ImageInput) and
      writes (ImageOutput), as well as additional DeepData and ImageBuf
      methods to fully match the C++ API. #1113 #1122 (1.6.3/1.5.13)
    * ImageBuf.set_pixels, and ImageBuf.get_pixels with ROI. #1167,1179 (1.6.4)
    * Change Python ImageOutput bindings to simplify the write_* methods.
      They no longer take both a TypeDesc and an array; it can figure out
      the type from the array itself. Also get rid of the stride parameters,
      which weren't useful in a Python context. #1184 (1.6.4)
    * ImageBufAlgo colorconvert, ociolook, and ociodisplay now take an
      optional string colorconfig argument. #1187 (1.6.4)
    * Fix missing Python bindings for global OIIO::getattribute(). #1290
      (1.6.8)
 * The ColorConfig wrapper for OCIO functionality has been extended to
   parse color names from filename strings, and to report the recommended
   pixel data type for a color space. #1129 (1.6.3)
 * C++11 definitions: oiioversion.h defines OIIO_BUILD_CPP11 as nonzero
   if OIIO itself was built in C++11 (or later) mode, and platform.h
   defines OIIO_USING_CPP11 as nonzero if at this moment C++11 (or
   later) mode is detected. Note that these can differ if one set of
   compiler flags was used to build OIIO, and a different set is used to
   build a project that uses OIIO headers. #1148 (1.6.4)
 * Renamed the "fps" standard metadata to "FramesPerSecond. #1193 (1.6.4)
 * Removed deprecated header "string_ref.h" (use string_view.h). (1.6.1)
 * oiioversion.h: Renamed the namespace macros OIIO_NAMESPACE_ENTER/EXIT to
   OIIO_NAMESPACE_BEGIN/END, and roll the braces into it. #1196 (1.6.4)
 * array_view.h: Refactor array_view to be more in line with what is slated
   for C++17, in particular it is now templated on Rank and so can be a view
   to a multi-dimensional array. Also change array_view_strided to have
   strides measured in units of sizeof(T), not bytes (to keep with C++17).
   This also adds coordinate.h to give definitions for the offset<>,
   bounds<>, and bounds_iterator<> templates used by array_view. #1205
   (1.6.4)
 * Add top-level OIIO::get_int_attribute(), get_float_attribute(), and
   get_string_attribute() helpers, similar to how they work in many
   of the classes. #1283 (1.6.7)

Fixes, minor enhancements, and performance improvements:
 * oiiotool
    * Bug fix for frame sequences -- could crash in Windows. #1060 (1.6.1)
    * Gracefully handle requests to save an image with more channels than
      the output file format can handle. Instead of being a fatal error,
      now it's just a warning, and extra channels are dropped. It tries to
      to find R, G, B, and A channels, saving them. If those names are
      not found, it just saves the first 3 (or 4) channels. #1058 (1.6.1)
    * Improve error messages when files can't be read. It is now easier
      to to distinguish files that don't exist from those that are an
      unknown format from those that are corrupted or have read
      errors. #1065 (1.6.1)
    * Flag errors properly when -d specifies an unknown data format name.
      #1077 (1.6.2/1.5.13)
    * oiiotool numeric wildcard improvement: allow more digits to match.
      #1082 (1.6.2/1.5.13)
    * Bug fix: input file data format didn't always end up in the output.
      (1.6.3)
    * --channels bugs were fixed when dealing with "deep" images. (1.6.3)
    * All the color space conversion operations run much faster now,
      since the underlying IBA::colorconvert() has been parallelized. (1.6.3)
    * --crop logic bug fixed in cases where the crop region was the same
      size as the original pixel data window. #1128 (1.6.3)
    * oiiotool now gives proper error messages when asked to perform
      unsupported operations on deep images. (1.6.3)
    * Bug fix: --frames incorrectly overrode explicit frame sequence
      wildcards on the command line. #1133 (1.6.3)
    * --crop, --trim, and --autotrim have been extended to work on
      "deep" images. #1137 (1.6.3)
    * For "procedural" ImageInputs, don't give "file doesn't exist"
      errors. (1.6.4)
    * Suppress output/copying of "textureformat" metadata inherited from
      input if it's not plausibly still a valid texture (i.e., if it's
      no longer tiled or MIPmapped). #1206 (1.6.4)
    * oiiotool's full help message lists all supported formats. #1210 (1.6.5)
    * oiiotool --help prints a briefer help screen. Use --help -v for
      the full-detail help. #1214 (1.6.5)
    * Bug fix in --fit when the image didn't need to be resized.
      #1227 (1.6.5/1.5.21)
    * Bug fix in --ch for "deep" files when the channel reordering is
      the same as it already was. #1286 (1.6.7)
 * ImageBufAlgo:
    * compare() (and therefore oiiotool -diff and idiff) did not notice
      image differences when the pixels that differed had NaN or NaN or
      Inf values! Now it is right. #1109 (1.6.3/1.5.13)
    * channels() bugs were fixed when dealing with "deep" images. (1.6.3)
    * colorconvert() has been parallelized, and thus on most systems will
      now run much faster. (1.6.3)
    * render_text() handles UTF-8 input. #1121 (1.6.3)
    * colorconvert(), ociodisplay(), and ociolook() have new varities that
      accept an optional ColorConfig, rather than having no choice but to
      construct a new one internally. (1.6.3)
    * nonempty_region() and crop() have been extended to handle "deep"
      images. #1137 (1.6.3)
    * Fix bug in fft() -- was not always zeroing out the imaginary channel.
      #1171 (1.6.4/1.5.17)
    * Fixed uninitialized variable bugs with rangecompress() and
      rangeexpand() when using luma. #1180 (1.6.4)
    * The lanczos3, radial-lanczos, and catrom filters have been change
      from fixed-width to fully scalable. This fixes artifacts that
      occur when using them as upsizing filters. #1228,#1232 (1.6.5/1.5.21)
 * maketx, TextureSystem, and ImageCache:
    * TextureSystem/IC now directly stores uint16 and half pixel data in
      the cache rather than converting internally to float for tile storage,
      thus effectively doubling the cache capacity for files of those
      formats. (1.6.3)
    * Fix broken bicubic texture sampling with non-power-of-two sized
      tiles. #1035 (1.6.0/1.5.10)
    * maketx: when the source image was a crop (data window != display
      window), and the sharpening filters were used, it would
      incorrectly issue an "unknown filter name" error. #1059 (1.6.1/1.5.12)
    * maketx: Flag errors properly when -d specifies an unknown data
      format name. #1077 (1.5.13)
    * maketx now writes to a temporary file, then moving it to the final
      requested output filename only when the write completed without
      error.  This prevents situations where maketx crashes or is killed
      and leaves behind a file that looks correct but is actually
      corrupted or truncated. #1072 (1.6.2/1.5.13)
    * TextureSystem bug fix that occasionally resulted in NaN in the
      alpha channel result when looking up from 3-channel images. #1108
      (1.6.3/1.5.13)
    * maketx --runstats prints runtime staticstics (deprecating --stats).
      #1152 (1.6.4)
    * Fixed trilinear MIPmap texture lookups that gave invalid alpha fill.
      #1163 (1.6.4/1.5.16)
    * The lanczos3, radial-lanczos, and catrom filters have been change
      from fixed-width to fully scalable. This fixes artifacts that
      occur when using them as upsizing filters. #1228,#1232 (1.6.5)
    * Texture cache memory efficiency is much better for the special case
      of accessing just a few channels from a texture file with large
      numbers of channels. #1226 (1.6.5)
    * Eliminate spurious ImageCache invalidation just because the shared
      cache is requested again. #1157 (1.6.4/1.5.16)
    * Statistics output also shows all the option setting values. #1226 (1.6.5)
    * Data copy error in ImageCache::get_pixels for partial-channel-set
      copies. #1246 (1.6.5)
    * maketx -u now remakes the file if command line arguments or OIIO
      version changes, even if the files' dates appear to match.
      #1281 (1.6.8)
 * GIF:
    * Write support! #1193 (1.6.4)
    * On input, renamed "fps" metadata to "FramesPerSecond". #1193 (1.6.4)
 * IFF:
    * Fix botched output of 16 bit uncompressed data. #1234 (1.6.5/1.5.21)
    * Make "rle" compression the default. #1234 (1.6.5/1.5.21)
 * JPEG:
    * Now properly read/write xdensity and ydensity (what OIIO and TIFF
      call "XResolution" and "YResolution" and, therefore,
      "PixelAspectRatio". #1042 #1066 (1.6.0, 1.6.1)
    * Support JPEG files encoded as CMYK (by converting to RGB upon read)
      #1044 (1.6.1)
    * Fix misdeclared supports() which would make the JPEG plugin appear
      to not support exif or iptc. #1192 (1.6.4)
 * JPEG-2000:
    * Fix handling of un-premultiplied alpha (which is dictated by the
      JPEG-2000 spec). (1.6.3)
    * Fix reading of YUV-encoded files. (1.6.3)
    * Read and write the ICC profile, if present. (1.6.3)
    * Handle all bit depth precisions properly (previously only 8, 10,
      12, and 16 were right). (1.6.3)
    * Set the full/display window correctly. (1.6.3)
    * Deal with differing per-channel data windows and sampling rates. (1.6.3)
 * OpenEXR:
    * Improved handling of density and aspect ratio. #1042 (1.6.0)
    * Fix read_deep_tiles() error when not starting at the image origin.
      #1040 (1.6.0/1.5.10)
    * Fix output of multi-part exr file when some parts are tiled and
      others aren't. #1040 (1.6.0/1.5.10)
    * write_tile() with AutoStride calculated the wrong default strides
      for "edge" tiles when the image width or length was not an integer
      multiple of the tile size. Also clarified the PDF and imageio.h
      docs in how they explain strides for this case. #1055 (1.6.1/1.5.12)
    * Fix bugs in reading deep OpenEXR images with mixed channel types.
      #1113 (1.6.3/1.5.13)
    * OpenEXR output supports("deepdata") now correctly returns 'true'.
      #1238 (1.6.5/1.5.21)
    * A separate global OIIO::attribute("exr_threads") sets the thread pool
      size for OpenEXR's libIlmImf, independent of the OIIO thread fan-out
      attribute OIIO::attribute("threads"). #1244 (1.6.5)
    * Correctly read and write Matrix33 and double (scalar, 2d, 3d, m33, m44)
      metadata. #1265,#1267 (1.6.6)
    * Recognize AR/AG/AB channel names in addition to the old RA/RG/RB
      #1277 (1.6.6)
 * PNG:
    * Writing PNG files now honors the PixelAspectRatio metadata.
      #1142 (1.6.3)
 * PFM:
    * PFM (float extension of PNM) was incorrectly flipped top to bottom.
      Now fixed. #1230 (1.6.5)
 * PSD:
    * Better error handling for files lacking "global layer mask info"
      or "additional layer info". #1147 (1.6.4/1.5.18)
    * Additional PSD signatures for global additional layer info.
      #1147 (1.6.4/1.5.18)
    * Better error handling when dealing with an empty layer mask.
      #1147 (1.6.4/1.5.18)
 * TIFF:
    * Improved handling of density and aspect ratio. #1042 (1.6.0)
    * Improved proper handling of the interplay between "XResolution",
      "YResolution", and "PixelAspectRatio". #1042 (1.6.0)
    * TIFF output: recognize special "tiff:write_exif" metadata, which when
      present and set to 0, will skip writing the Exif directory into the
      TIFF file. This can be helpful when you expect the resulting TIFF
      file to be read with very old versions of libtiff. #1185 (1.6.4/1.5.18)
    * Correct read and write of JPEG-compressed TIFF. #1207 (1.6.4)
    * Correct support for reading LAB, LOG, YCbCr, subsampled chroma.
       #1207 (1.6.4)
    * Make robust to strange TIFF files that have unexpected MIP
      level-to-MIP level changes in planarconfig, photometric, palette,
      extrasamples, etc. #1220,1221 (1.6.5/1.5.20)
    * Support output of 2, 4, 10, and 12 bit unsigned ints into TIFF files.
      #1216 (1.6.5)
    * Make TIFF reading more robust to certain subimage-to-subimage
      changes that were thought to be invariant. #1221 (1.6.5)
    * CMYK is properly read and written. Upon read, CMYK is auto-converted
      to RGB (and the "tiff:ColorSpace" metadata is set to "CMYK"). For
      output, if "tiff:ColorSpace" metadata is set and nonzero, the RGB
      passed in will be auto-converted to CMYK upon writing.
      #1233 #1245 (1.6.5)
    * Recognize Exif tags in the main directory, not only the special
      Exif directory. #1250 (1.6.5)
    * Fix bug in read_scanlines when reading TIFF files with UNassociated
      alpha and unusual ystride values. #1278 (1.6.6)
 * ImageBuf iterator constructors with 0-size ranges or ROIs have been
   fixed to look like they are immediately done(). #1141 (1.6.3)
 * Fix bug in internal convert_image() that could corrupt certain image
   copying of non-contiguous data layouts. #1144 (1.6.3)
 * Also search for OIIO plugins in [DY]LD_LIBRARY_PATH. #1153 (1.6.4/1.5.16)
 * Nuke plugin: don't crash with NULL Knob* in TxReaderFormat::setMipLabels.
   #1212 (1.6.5/1.5.20)
 * idiff -q results in quiet mode -- output nothing for success, only
   minimal errors to stderr for failure. #1231 (1.6.5)

Build/test system improvements:
 * Python plugin is now build as a cmake "module" rather than "library",
   which fixes some things on OSX. #1043 (1.6.0/1.5.10)
 * Various build fixes for Windows. #1052 #1054 (1.6.1)
 * New CMake build-time option to specify the default plugin search path.
   #1056 (1.6.1/1.5.12)
 * Fix build breaks for very old versions of Ilmbase (1.6 and earlier)
   that lack a definition of V4f used by our simd.h. #1048 (1.6.1/1.5.11)
 * Fix signed/unsigned warning on 32 bit platforms in jpeginput.cpp.
   #1049 (1.6.1/1.5.11)
 * New CMake build-time option to specify the default plugin search path.
   #1056 (1.6.1/1.5.12)
 * Fix gcc 5.0 compiler warning in PtexHalf.cpp. (1.6.1/1.5.12)
 * Remove dependency of OpenSSL by default. #1086 (1.6.2/1.5.13)
 * Fix warnings when compiling with C++11. (1.6.3/1.5.13)
 * Dont link Python framework on OSX. #1099 (1.6.3/1.5.13)
 * Changed the way testtex warps the image to give faux perspective to
   test texture mapping. (1.6.3)
 * Build-time USE_SIMD=... has been changed from accepting a single tag to
   a comma-separated list of feature options. So you can, for example, do
   make USE_SIMD=avx,f16c ...  (1.6.3)
 * make USE_NINJA=1 causes CMake to build Ninja build files instead of
   Makefiles (they execute much faster, espectially for incremental builds).
   #1158 (1.6.4)
 * PSD & JPEG plugins fixes for Win32 compilation. #1150 (1.6.4/1.5.16)
 * Fix Nuke plugin build files to not do anything if USE_NUKE=0.
   #1156 (1.6.4/1.5.16)
 * Builds now produce much less console output by default (use VERBOSE=1
   to get all the details, most of which is only useful when debugging
   broken builds). #1162 (1.6.4)
 * Fix support for older ffmpeg version on Ubuntu 14.04. #1168 (1.6.4/1.5.17)
 * Build-time fixes for Nocona CPUs that have SSE3 without SSSE3.
   #1175 (1.6.4/1.5.17)
 * ustring internals fixes for gcc 5.x changs to std::string ABI. #1176 (1.6.4)
 * Fixes for clean build with clang 3.6. #1182,1183 (1.6.4)
 * Fix signed/unsigned comparison error. #1186 (1.6.4)
 * Top-level Makefile option USE_OPENCV=0 to turn off even searching for
   OpenCV components. #1194 (1.6.4/1.5.18)
 * If a system-installed (external) PTex implementation is found, use
   it.  Only use the "bundled" version if no other is found. Also add a
   top-level USE_PTEX=0 that will skip PTex support, even if the library
   is found.  #1195,1197 (1.6.4)
 * Fix compiler warnings about int vs size_t mismatches. 1199 (1.6.4)
 * Improve C++11 and C++14 readiness. #1200
 * Fix build break with certain new versions of libraw. #1204 (1.6.4/1.5.19)
 * Fix build warnings for new Apple tools release that upgrades the standard
   clang release. #1218 (1.6.5/1.5.20)
 * When compiling in C++11 mode, std::unordered_map, mutex,
   recursive_mutex, lock_guard, bind, ref, cref, thread, shared_ptr will
   be used rather than boost equivalents, and our own thread_group and
   intrusive_ptr are now used rather than the boost equivalents. We
   believe that this completely removes all Boost headers and types from
   the OIIO public APIs when in C++11 mode. (Though internals still use
   Boost in some cases.) #1262 #1266 (1.6.6)
 * We are now set up to use Travis-CI (https://travis-ci.org) for continuous
   integration / automatic builds of all merges and pull requests.
   #1268, #1269, #1273 (1.6.6)
 * Don't install fonts if USE_FREETYPE is disabled. #1275 (1.6.6)
 * Use ccache for builds when detected and safe (unless USE_CCACHE=0).
   #1274,#1285 (1.6.7)
 * Failed tests now print their non-matching text output to the console
   when doing 'make test'. This makes it much easier to spot most errors.
   #1284 (1.6.7)

Developer goodies / internals:
 * Strutil additions: parse_until, parse_nested (1.6.1), repeat
   (#1272/1.6.6/1.5.21).
 * Give Strutil::parse_string an option to not strip surrounding quotes.
   (1.6.4)
 * Made TypeDesc::equivalent accept comparisons of arrays of unspecified
   length with ones of definite length. #1072  (1.6.2/1.5.13)
 * Add Filesystem::rename() utility. #1070  (1.6.2/1.5.13)
 * New SIMD methods: insert<>, xyz0, vreduce_add, dot, dot3, vdot, vdot3,
   AxBxCxDx, blend0not (1.6.2)
 * array_view enhancements that let you initialize an `array_view<const float>`
   from a const `std::vector<float>&`.  #1084 (1.6.2/1.5.14)
 * hash.h contains several new hashes in namespaces 'OIIO::xxhash' and
   'OIIO::farmhash'. Also, Strutil::strhash now uses farmhash rather than
   the Jenkins one-at-a-time hash, bringing big speed improvements
   (including ustring creation). Beware that the strhash value returned
   will be different than they were before. #1090 (1.6.3)
 * fmath: safe_fast_pow improves the precision of its results for
   special cases of pow(x,1) and pow(x,2). #1094 (1.6.3/1.5.13)
 * Added TypeDesc::TypeHalf(). #1113 (1.6.3/1.5.13)
 * thread.h: our atomic types have had their API adjusted somewhat to
   more closely conform to C++11's std::atomic. (1.6.3)
 * ustring's internals and underlying hash table have been overhauled,
   yielding much higher performance, especially when many threads are
   simultaneously creating ustrings. (1.6.3)
 * ROI improvement: make intersection & union robust to uninitialized ROIs
   as arguments. (1.6.3)
 * osdep.h is deprecated. Use platform.h instead. (1.6.3)
 * The DISPATCH_TYPES utility macros used internally by IBA have been
   improved, and in particular the DISPATCH_COMMON_TYPES now handle ALL
   types ("uncommon" ones are silently converted to float). (1.6.3)
 * platform.h moves the endian functions into the OIIO namespace. (1.6.3)
 * platform.h adds functions for runtime query of CPU capabilities. (1.6.3)
 * simd.h: float4 and int4 can now construct and load from unsigned short*,
   short*, unsigned char*, char*, and 'half'. (1.6.3)
 * Strutil::utf8_to_unicode (1.6.3)
 * Filesystem::current_path(). #1124 (1.6.3/1.5.21)
 * Filesystem enumerate_file_sequence and scan_for_matching_filenames
   have been modified to clear their result vectors rather than simply
   assume they are empty. #1124 (1.6.3)
 * oiiotool internals have been refactored to be class-oriented and move
   a lot of boilerplate repeated in each op to be part of the base
   class. #1127 (1.6.3)
 * timer.h: Timer and ScopedTimer have changed slightly. This isn't used
   in any public OIIO APIs, but may affect 3rd party programs that like
   to use OIIO's timer.h for convenience. #1201 (1.6.4/1.5.19)
 * dassert.h: added OIIO_STATIC_ASSERT macros for static
   assertion. Doesn't affect existing OIIO apps since they are new
   additions, but feel free to use them! #1202 (1.6.4/1.5.19)
 * New unit test for imagecache. #1246 (1.6.5)
 * Sysutil::hardware_concurrency() and physical_concurrency(). #1263
   (1.6.6/1.5.21)



Release 1.5.24 (1 Mar 2016) -- compared to 1.5.23)
---------------------------------------------------
* Fix oiiotool --dumpdata, didn't work properly for non-float files.
* Fix broken OpenEXR multi-part output when parts have different pixel types.
* Update webp testsuite references for new webp version.

Release 1.5.23 (28 Dec 2015) -- compared to 1.5.22)
---------------------------------------------------
* Fix build break against Boost 1.60. #1299,#1300

Release 1.5.22 (16 Dec 2015) -- compared to 1.5.21)
---------------------------------------------------
* Deep OpenEXR: recognize the newer AR/AG/AB channel name convention. #1277
* Fix ffmpeg plugin compilation in some configurations. #1288
* Bug fix: TIFF read_scanlines of files with unassociated alpha didn't
  honor the 'ystride' parameter and could run off the end of the buffer
  for nonstandard stride arranagements. #1278
* Fix missing Python bindings for global OIIO::getattribute(). #1290

Release 1.5.21 (1 Dec 2015) -- compared to 1.5.20)
---------------------------------------------------
* Bug fix in --fit when the image didn't need to be resized. #1227
* IFF: Fix botched output of 16 bit uncompressed data. #1234
* IFF: Make "rle" compression the default for output. #1234
* OpenEXR output supports("deepdata") now correctly returns 'true'. #1238
* The lanczos3, radial-lanczos, and catrom filters have been changed
  from fixed-width to fully scalable. This fixes artifacts that
  occur when using them as upsizing filters. #1228,#1232
* Filesystem::current_path(). #1124
* Sysutil::hardware_concurrency() and physical_concurrency(). #1263
* Strutil::repeat() #1272

Release 1.5.20 (28 Sep 2015) -- compared to 1.5.19)
---------------------------------------------------
* Nuke plugin: don't crash with NULL Knob* in TxReaderFormat::setMipLabels.
  #1212
* Fix build warnings for new Apple tools release that upgrades the standard
  clang release. #1218
* Make TIFF reader robust to strange TIFF files that have unexpected MIP
  level-to-MIP level changes in planarconfig, photometric, palette,
  extrasamples, etc. We previously assumed these things would never vary
  between MIP levels of the same file, and Murphy called our bluff. #1220,1221

Release 1.5.19 (8 Sep 2015) -- compared to 1.5.18)
--------------------------------------------------
* Fix compile warnings on some platforms/compilers.
* Fix build break with certain new versions of libraw. #1204
* Internals: Timer and ScopedTimer have changed slightly. This isn't used
  in any public OIIO APIs, but may affect 3rd party programs that like
  to use OIIO's timer.h for convenience. #1201
* Internals: dassert.h has added OIIO_STATIC_ASSERT macros for static
  assertion. Doesn't affect existing OIIO apps since they are new
  additions, but feel free to use them! #1202

Release 1.5.18 (4 Aug 2015) -- compared to 1.5.17)
---------------------------------------------------
* PSD input improvements: better error handling for files lacking "global
  layer mask info" or "additional layer info"; additional PSD signatures
  for global additional layer info; better error handling when dealing
  with an empty layer mask. #1147
* TIFF output: recognize special "tiff:write_exif" metadata, which when
  present and set to 0, will skip writing the Exif directory into the TIFF
  file. This can be helpful when you expect the resulting TIFF file to be
  read with very old versions of libtiff. #1185
* Top-level Makefile option USE_OPENCV=0 to turn off even searching for
  OpenCV components. #1194

Release 1.5.17 (13 Jul 2015) -- compared to 1.5.16)
---------------------------------------------------
* Fix support for older ffmpeg version on Ubuntu 14.04. #1168
* Fix bug in fft -- was not always zeroing out the imaginary channel. #1171
* Build-time fixes for Nocona CPUs that have SSE3 without SSSE3. #1175
* ustring fixes for new gcc (5.1+) and new std::string ABI. #1176
* Fixes for unit test timer_test for new OSX versions with timer
  coalescing. #1181
* Fix bugs with rangecompress and rangeexpand when using luma. #1180
* Fixes for clean build when using clang 3.6. #1182
2018-10-07 23:38:45 +00:00
adam
86918d72ca py-qrcode: updated to 6.0
6.0:
- Fix optimize length being ignored in QRCode.add_data.
- Better calculation of the best mask pattern and related optimizations.
2018-10-07 08:55:13 +00:00
adam
80e61d96fd py-fits: updated to 3.5
3.5:
This release officially deprecates PyFITS. Please use astropy.io.fits instead.
- Importing PyFITS now gives deprecation warning.
- Documentation updates.
2018-10-07 08:51:42 +00:00
maya
e0fd82d680 krita: update to 4.1.3, bugfix release.
the release notes are very long and include a lot of pictures.
here's links instead:
https://krita.org/en/item/krita-4-1-3-released/
https://krita.org/en/item/krita-4-1-1-released/

4.1.2 was quickly skipped.
2018-10-05 20:11:53 +00:00
leot
e23941d478 zathura-djvu: Update graphics/zathura-djvu to 0.2.8
pkgsrc changes:
 - Adjust to meson build system

Changes:
0.2.8
-----
Replace build system with meson
2018-10-04 19:11:38 +00:00
leot
495572a62b zathura-cb: Update graphics/zathura-cb to 0.1.8
pkgsrc changes:
 - Adjust to meson build system

Changes:
0.1.8
-----
Replace build system with meson
2018-10-04 19:10:29 +00:00
leot
a26a579b2e girara: Update graphics/girara to 0.3.1
pkgsrc changes:
 - Adjust to meson build system

Changes:
0.3.1
-----
- Various fixes and improvements

0.3.0
-----
- Various fixes and improvements
- Make colors changeable during runtime
- Various fixes and improvements
- Update translations

0.2.9
-----
- Replace deprecated GTK+ 3 functions
- Replace build system with meson
- Various fixes and improvements
- Update translations
2018-10-04 19:03:23 +00:00
adam
184dc79067 py-openexr: updated to 1.3.2
1.3.2:
Unknown changes.
2018-10-03 10:42:56 +00:00
ryoon
9e4022bf7e Fix build with recent graphics/openexr 2018-10-02 13:13:37 +00:00
adam
abecd6376d ilmbase/openexr: updated to 2.3.0
OpenEXR v2.3.0 has been released and is available for download.

Features/Improvements:
ThreadPool overhead improvements, enable custom thread pool to be registered via ThreadPoolProvider class
Fixes to enable custom namespaces for Iex, Imf
Improve read performance for deep/zipped data, and SIMD-accelerated uncompress support
Added rawPixelDataToBuffer() function for access to compressed scanlines
Iex::BaseExc no longer derived from std::string.
Imath throw() specifiers removed
Initial Support for Python 3

Bugs:
25+ various bug fixes (see detailed Release Notes for the full list)

Build Fixes:
Various fixes to the cmake and autoconf build infrastructures
Various changes to support compiling for C++11 / C++14 / C++17 and GCC 6.3.1
Various fixes to address Windows build issues
60+ total build-related fixes (see detailed Release Notes for the full list)
2018-10-02 12:05:35 +00:00
adam
456d50c405 py-Pillow: updated to 5.3.0
5.3.0:
Changed Image size property to be read-only by default
Add warnings if image file identification fails due to lack of WebP support
Hide the Ghostscript progress dialog popup on Windows
Adding support to reading tiled and YcbCr jpeg tiffs through libtiff
Fixed None as TIFF compression argument
Changed GIF seek to remove previous info items
Improved PDF document info
Add line width parameter to rectangle and ellipse-based shapes
Fixed decompression bomb check in _crop
Added support to ImageDraw.floodfill for non-RGB colors
Tests: Avoid catching unexpected exceptions in tests
Use TextIOWrapper.detach() instead of NoCloseStream
Added transparency to matrix conversion
Added ImageOps pad method
Give correct extrema for I;16 format images
Added PySide2
Corrected TIFF tags
CI: Install CFFI and pycparser without any PYTHONOPTIMIZE
Read/Save RGB webp as RGB (instead of RGBX)
ImageDraw: Add line joints
Improved performance of ImageDraw floodfill method
Fix builds with --parallel
Add more raw Tiff modes (RGBaX, RGBaXX, RGBAX, RGBAXX)
Close existing WebP fp before setting new fp
Add orientation, compression and id_section as TGA save keyword arguments
Convert int values of RATIONAL TIFF tags to floats
Fix code for PYTHONOPTIMIZE
Changed ImageFilter.Kernel to subclass ImageFilter.BuiltinFilter, instead of the other way around
Remove unused draw.draw_line, draw.draw_point and font.getabc methods
Tests: Added ImageFilter tests
Tests: Added ImageChops tests
AppVeyor: Download lib if not present in pillow-depends
Travis CI: Add Python 3.7 and Xenial
Docs: Added documentation for NumPy conversion
Depends: Update libimagequant to 2.12.1
Add three-color support to ImageOps.colorize
Tests: Add LA to TGA test modes
Skip outline if the draw operation fills with the same colour
Flake8 fixes
Avoid deprecated 'U' mode when opening files
2018-10-02 09:10:46 +00:00
minskim
5f81521051 graphics/gimp: Restore the Darwin PLIST fix lost in the recent udpate 2018-09-30 16:14:55 +00:00
tnn
a4b1f9f1fc rawtherapee: build fix 2018-09-29 18:38:32 +00:00
prlw1
29bc30e2a3 Didn't need to bump! 2018-09-26 19:34:56 +00:00
prlw1
a5e23d8623 Fix opencv build with PYTHON_VERSION_DEFAULT=37 2018-09-26 19:33:50 +00:00
taca
cd37285dfd graphics/ruby-mini-magick: update to 4.9.2
4.9.2 (2018-09-21)

* Fix breakage for MRI 2.3 and below

4.9.1 (2018-09-21)

* Properly handle EXIF parsing with ImageMagick 7
* Show an informative exception message on Timeout::Error
* Wait for the MiniMagick command to terminate after sending SIGTERM with
  open3

4.9.0 (2018-09-210

New features

* Support ImageMagick 7

  o MiniMagick::Tool::Convert will now generate magick convert commands (and
    the same for others)

  o MiniMagick::Tool::Magick was added for generating magick commands

* MiniMagick.cli_prefix was added to configure a prefix for commands

  MiniMagick.cli_prefix = "firejail"

  MiniMagick::Tool::Magick.new { |magick| ... } # executes `firejail magick ...`

Other Improvements

* Fix deadlocks when using posix-spawn as a shell backend

* Fix Errno::ESRCH sometimes being raised when the ImageMagick command would
  time out

* #label and #caption will now generate regular options

	MiniMagick::Tool::Convert.new do |convert|
				 # BEFORE:       NOW:
	  convert.label("foo")   # label:foo    -label foo
	  convert.caption("bar") # caption:bar  -caption bar
	end

* Add pango creation operator

	MiniMagick::Tool::Magick.new do |magick|
	  magick.pango("...") # pango:...
	  # ...
	end

* Handle GraphicsMagick returning unknown in EXIF data
2018-09-23 15:28:23 +00:00
gdt
343d1aaac8 gimp: add gexiv2 to buildlink3.mk
libgimpui-2.0.la has -lgexv2 in dependency_libs.  libtool adds this to
the link line of depending packages, so gexiv2 must be visible.
2018-09-17 16:34:47 +00:00
wiz
0d11944573 gimp: update bl3.mk for lcms -> lcms2 change, and recursive bump 2018-09-10 15:41:32 +00:00
kim
26555e9a44 Add upstream patch to address CVE-2018-1000222.
Restore the tiff option, so libtiff can be avoided.
Ok by adam@.
2018-09-10 13:34:16 +00:00
wiz
8ec7a390e7 gimp: switch to lcms2.
Bump PKGREVISION.
2018-09-09 21:51:57 +00:00
tsutsui
f661daa4f3 ruby-cairo: update to 1.15.14.
Upstream changelog:
(from https://github.com/rcairo/rcairo/blob/v1.15.14/NEWS)

Release 1.15.14 (2018-08-20) Kouhei Sutou <kou@cozmixng.org>
============================================================

Improvements
------------

  * Added Cairo::Surface.create {}. Cairo::Surface.new {} is deprecated.

  * Added Cairo::Context.create {}. Cairo::Context.new {} is deprecated.

  * Windows: Added support for installing a normal gem (not fat gem)
    by "gem install --platform ruby". If you use Bundler, use "bundle
    config --local force_ruby_platform true" and "bundle exec ruby -rdevkit".

  * Changed to use SPDX license ID in gemspec.

Fixes
-----

  * Fixed a bug that CRFONTOPTIOSN2RVAL() doesn't copy the target
    options.
    * Other CR*2RVAL() copy or refer the target objects. So
      CRFONTOPTIONS2RVAL() must copy for consistency.
2018-09-08 15:56:25 +00:00
wiz
3a0ba1370a gimp: remove references to unsupported pdf option. 2018-09-04 08:26:58 +00:00
wiz
c5246e1ff2 gimp: configure insists on xgettext>=0.19, so add matching build-dependency 2018-09-04 08:26:18 +00:00
wiz
536224ec4b MesaLib: fix redundant entry in PLIST 2018-09-03 11:22:18 +00:00
wiz
0fcc79cf0c *: recursive bump for vala-0.42. 2018-09-03 10:50:17 +00:00
wiz
a70e19e99a p5-PerlMagick: update to 7.0.8.11.
Follow ImageMagick update.
2018-09-03 10:37:34 +00:00
wiz
ae9d09d959 ImageMagick: update to 7.0.8.11.
2018-08-28  7.0.8-11 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 7.0.8-11, GIT revision 14729:798fbdb5b:20180828

2018-08-15  7.0.8-11 Cristy  <quetzlzacatenango@image...>
  * Fixed numerous use of uninitialized values, integer overflow, memory
    exceeded, and timeouts (credit to OSS Fuzz).
  * Add support for "module" security policy.
2018-09-03 10:37:10 +00:00
wiz
e531d343d7 *: recursive bump for poppler-0.68 2018-09-02 21:32:41 +00:00
wiz
636111f269 tuxpaint-stamps: update to 2018.09.01.
2018.September.1
  * Stamp updates
    * Removed white background from globe
      Thanks to @568legos on Twitter for noticing

  * Build- and release-related improvements:
    * Update macOS build to work with Xcode 9.2.
      Mark K. Kim <markuskimius@gmail.com>

    * Enable universal build on macOS
      + Explicitly enable compatibility with macOS 10.6 and later.
      + Explicitly enable universal build (both 32-bit and 64-bit Intel).
      Mark K. Kim <markuskimius@gmail.com>

    * Update Makefile to create DMG files; prettify the generated DMG.
      Mark K. Kim <markuskimius@gmail.com>

  * New localizations:
    + Kabyle translation
      Yacine Bouklif <yacine_tizi2003@yahoo.fr>

  * Localization updates:
    + Aragones translation
      Juan Pablo Martinez Cortes <juanpabl@gmail.com>

    + Basque translation
      Alexander Gabillondo <alexgabilondo@gmail.com>

    + Brazilian Portuguese translation
      Fred Maranhão <fred.maranhao@gmail.com>

    + British English
      Caroline Ford <caroline.ford.work@googlemail.com>

    + Catalan translation
      Robert Buj Gelonch <rbuj@users.sf.net>

    + Chinese (Simplified) translation
      Hackergene <hackergene@gmail.com>

    + Croatian translation
      Paulo Pavačić <pavacic.p@gmail.com>

    + Danish translation
      Joe Hansen <joedalton2@yahoo.dk>

    + Dutch translation
      Willem Heppe <heppew@yahoo.com>

    + Fula translation
      Ibraahiima SAAR <ibrahima.sarr@pulaagu.com>

    + Gaelic (Scottish) translation
      GunChleoc <fios@foramnagaidhlig.net>

    + Galician translation
      Miguel Anxo Bouzada <mbouzada@gmail.com>

    + Georgian translation
      Gia Shervashidze <giasher@gmail.com>

    + German translation
      Helge Kreutzmann <debian@helgefjell.de>

    + Greek translation
      Yannis Kaskamanidis <kiolalis@gmail.com>

    + Gujarati translation
      Kartik Mistry <kartik.mistry@gmail.com>

    + Icelandic translation
      Sveinn í Felli <sv1@fellsnet.is>

    * Irish Gaelic translation
      Kevin Patrick Scannell <kscanne@gmail.com>

    * Japanese translation
      TOYAMA Shin-ichi <shin1@wmail.plala.or.jp>

    + Malay traslation
      abuyop <abuyop@gmail.com>

    + Norwegian Bokmål translation
      Karl Ove Hufthammer <karl@huftis.org>

    + Norwegian Nynorsk translation
      Karl Ove Hufthammer <karl@huftis.org>

    + Polish translation
      Piotr Kwiliński <euvcp@hotmail.com>

    + Portuguese translation
      Sergio Marques <smarquespt@gmail.com>

    + Russian translation
      Yuri Kozlov <yuray@komyakino.ru>

    + Songhay translation
      Abdoul Cisse <abdoulseydou@hotmail.com>

    + Slovenian translation
      Matej Urbančič <mateju@svn.gnome.org>

    + Spanish translation
      Matías Bellone <matiasbellone+debian@gmail.com>

    + Swedish translation
      Sebastian Rasmussen <sebras@gmail.com>

    + Thai translation
      aliza <aimon_bokbok@hotmail.com>
      Nudjaree <poonim_p@hotmail.com>

    + Ukrainian translation
      yurchor <yurchor@ukr.net>
      Sugar Labs i18n team <https://translate.sugarlabs.org/accounts/yurchor/>
2018-09-02 13:00:55 +00:00
wiz
3002562a5d tuxpaint-config: update to 0.0.14.
2018.August.18 (0.0.14)
  * Updated translations:
    + Catalan
      Robert Buj Gelonch <rbuj@users.sf.net>

    + British English translation
      Caroline Ford <caroline.ford.work@googlemail.com>

    + Dutch
      William Heppe <heppew@yahoo.com>

    + Fula
      Ibrahima SARR <ibrahima.sarr@pulaagu.com>

    + Portuguese
      Sérgio Marques (smarquespt@gmail.com) (via Joe)

    + Scottish gaelic
      Michael Bauer <fios@akerbeltz.org>
      Fòram na Gàidhlig

    + Slovak
      Jaroslav Rynik <jrynik@yahoo.co.uk>

    + Spanish
      Matías Bellone <matiasbellone+debian@gmail.com>

  * New translations:
    + Kabyle
      Yacine Bouklif <yacine_tizi2003@yahoo.fr>

  * Added options for "Bengali', "Bodo", "Dogri", "Kabyle",
    "Kashmiri" (both Devanagari and Perso-Arabic),
    "Sindhi" (both Devanagari and Perso-Arabic), and "Urdu" languages
    (added to Tux Paint in v. 0.9.23).

  * Building:
    * Avoid using "install -D" to mkdir
      Thomas Klausner <tk@giga.or.at>

    * Update macOS build files for macOS 10.7 and later.
      Mark K. Kim <mkkim214@gmail.com>

    * Allow to override build date (in order to make builds reproducible)
      by Chris Lamb, pushed by Bernhard M. Wiedemann
2018-09-02 12:55:25 +00:00
wiz
d8dbd0b4fc tuxpaint: update to 0.9.23.
2018.August.30 (0.9.23)
  * New tools
    ---------
    * Color selector
      Pere Pujal i Carabantes

  * New shapes
    ----------
    * Stars
      Pere Pujal i Carabantes

  * Documentation updates
    ---------------------
    * Made stamp controls (size, flip, mirror) section clearer.
      Fixes https://sourceforge.net/p/tuxpaint/bugs/182/

    * Cleaned up and reorganized docs subdirectory.

  * New locales
    -----------
    * Bengali
      Provided by Chandrakant Dhutadmal

    * Bodo
      Provided by Chandrakant Dhutadmal

    * Dogri
      Provided by Chandrakant Dhutadmal

    * Kabyle (aka Kabylian)
      Yacine Bouklif <yacine_tizi2003@yahoo.fr>

    * Kashmiri (Devanagari)
    * Kashmiri (Perso-Arabic)
      Provided by Chandrakant Dhutadmal

    * Sindhi (Devanagari)
    * Sindhi (Perso-Arabic)
      Provided by Chandrakant Dhutadmal

    * Urdu
      Provided by Chandrakant Dhutadmal

  * Localization Updates:
    ---------------------
    * Various
      Chris Leonard <cjlhomeaddress@gmail.com>

    * Aragnoes translation
      Juan Pablo Martinez Cortes <jpmart@unizar.es>

    * Basque translation
      Ander Elortondo <ander.elor@gmail.com>
      Alexander Gabillondo <alexgabilondo@gmail.com>

    * British English translation
      Caroline Ford <caroline.ford.work@googlemail.com>

    * Catalan translation
      Robert Buj Gelonch <rbuj@users.sf.net>

    * Chinese (Simplified) translation
      Never Min <nevermin@gmail.com>

    * Croatian translation
      Paulo Pavačić <pavacic.p@gmail.com>

    * Danish translation
      Joe Hansen <joedalton2@yahoo.dk>

    * Dutch translation
      Willem Heppe <heppew@yahoo.com>

    * Estonian translation
      Sven Ollino <sven.ollino@gmail.com>

    * French translation
      Chion Jacques <jacques.chion@orange.fr>

    * Fula translation
      Ibraahiima SAAR <ibrahima.sarr@pulaagu.com>

    * Gaelic (Irish) translation
      Kevin Scannell <kscanne@gmail.com>

    * Galician translation
      Miguel Bouzada

    * Georgian translation
      Gia Shervashidze <giasher@gmail.com>

    * German translation
      Holger Wansing <hwansing@mailbox.org>
      Helge Kreutzmann <debian@helgefjell.de> typos fixes and improvements for stamps

    * Greek translation
      Yannis Kaskamanidis <kiolalis@gmail.com>

    * Gujarati translation
      Kartik Mistry <kartik.mistry@gmail.com>,

    * Icelandic translation
      Sveinn í Felli <sv1@fellsnet.is>

    * Indonesian translation
      Courtesy of SugarLabs and
      T. Surya Fajri <kilelme@gmail.com>

    * Italian translation
      Flavio Pastore <ironbishop@fsfe.org>

    * Japanese translation
      TOYAMA Shin-ichi <shin1@wmail.plala.or.jp>

    * Korean translation
      Mark K. Kim <mkkim214@gmail.com>

    * Norwegian translation
      Karl Ove Hufthammer

    * Portuguese (Brazilian) translation
      Fred Ulisses Maranhão <fred.maranhao@gmail.com>

    * Portuguese (Portugal) translation
      Sérgio Marques <smarquespt@gmail.com>

    * Russian translaton
      Yuri Kozlov

    * Scottish translation
      Fòram na Gàidhlig

    * Slovenian
      Matej Urbančič <mateju@svn.gnome.org>

    * Songhay translation
      Abdoul Cisse <abdoulseydou@hotmail.com>

    * Spanish translaton
      Matías Bellone

    * Swedish translation
      Sebastian Rasmussen <sebras@gmail.com>

    * Thai translation
      Nudjaree <poonim_p@hotmail.com>

    * Ukrainian translation
      yurchor <yurchor@ukr.net>
      Sugar Labs i18n team <https://translate.sugarlabs.org/accounts/yurchor/>

  * Bug Fixes
    ---------
    * Crash if any "mosaic" magic tool used, Xubuntu 15.10
      If the PNG patterns used to generate the effect were compressed
      the wrong(lossy) way, the program will crash
      (SF.net Bug #210)

    * "Hat" started could not be drawn on.  Mended.
      https://sourceforge.net/p/tuxpaint/bugs/202/

  * Ports & Building
    ----------------
    * Rewrote the macOS build system to be more Linux-like, with no XCode IDE.
      Build for older releases of macOS / Mac OS X (10.6 and later).
      Mark K. Kim <mkkim214@gmail.com>

    * Mac install creates a DMG
      Robert Buj Gelonch <rbuj@users.sf.net>
      Mark K. Kim <mkkim214@gmail.com>

    * Allow override override build date (in order to make builds reproducible)
      ("SOURCE_DATE_EPOCH")
      by Chris Lamb, pushed by Bernhard M. Wiedemann

    * Allow specifying a suffix to the "lib" directory where
      magic tools are installed.
      ("LIBDIRSUFFIX")
      Tim Dickson <dickson.tim@googlemail.com>

    * Install Tux Paint docs into a version-numbered directory
      (e.g., "/usr/local/share/doc/tuxpaint-0.9.23/")
      Tim Dickson <dickson.tim@googlemail.com>

    * Launcher icon installation location adjustments:
      * .../X11R6/include/X11/pixmaps/ -> .../share/pixmaps/
      * Using kde4config (vs kdeconfig); not putting things in "Graphics" subdir.
      * Removed gnome-config stuff
      Tim Dickson <dickson.tim@googlemail.com>
      Bill Kendrick <bill@newbreedsoftware.com>

  * Other Improvements:
    -------------------
    * Reformatted source code via GNU Indent tool; should
      greatly increase code readability and formatting consistency.
2018-09-02 12:52:02 +00:00
bsiegert
6ef2390db7 Remove dependency on pthread-stublib.
This dependency has been conditional for NetBSD before 3.0 (!), thus
removing it is no change in the package.
2018-09-01 20:46:07 +00:00
wiz
8cf3ee9e3d MesaLib: remove obsolete patch.
Bump PKGREVISION.

Ok riastradh.
2018-08-31 08:26:42 +00:00
wiz
713fb08f62 p5-GD: update to 2.69.
2.69    * little spelling error, GH #29 Xavier Guimard
2018-08-29 05:52:58 +00:00
ryoon
566972087d Update to 2.10.6
Changelog:
Overview of Changes from GIMP 2.10.4 to GIMP 2.10.6
===================================================

Core:

  - Render drawable previews asynchronously.
  - Merge the file view filter and file format lists in GimpFileDialog.
    The presence of 2 lists was very confusing.
  - DLL search priority is now updated before running a plug-in on
    Windows, depending on the executable bitness. This gets rid of one
    of the last remnant of DLL hell in GIMP, which was when running
    32-bit plug-ins from a 64-bit build of GIMP.

Filters:

  - New "Little Planet" (gegl:stereographic-projection) filter.
  - New "Long Shadow" (gegl:long-shadow) filter.

Tools:

  - Halt the Measure tool after straightening.
  - Add an "orientation" option to the measure tool, corresponding to
    the "orientation" property of GimpToolCompass (i.e., it controls the
    orientation against which the angle is measured, when not in 3-
    point mode.)  The orientation is "auto" by default, so that the
    angle is always <= 45 deg.  Note that the "orientation" option
    affects the tool's "straighten" function, so that the layer is
    rotated toward the current orientation.
  - Text layers can now represent vertical texts, with 4 variants:
    left-to-right and right-to-left lines, and forcing all characters to
    be upright or following Unicode's vertical orientation property.
    See also:
    * https://www.unicode.org/reports/tr50/
    * http://www.unicode.org/Public/UCD/latest/ucd/VerticalOrientation.txt

User Interface:

  - The Dashboard dockable dialog now has an "async" field to the
    dashboard's "misc" group, showing the number of async operations
    currently in the "running" state.
  - New Preferences option to enable/disable layer-group previews, since
    these can get quite time-expensive.

Translations:

  - New language: Marathi
  - 12 translations were updated: Brazilian Portuguese, Dutch, French,
    German, Greek, Italian, Latvian, Polish, Romanian, Slovenian,
    Spanish, Swedish.

Build:

  - Add --with-win32-32bit-dll-folder configuration option to override
    the folder where 32-bit versions of DLL will be installed (default:
    32/bin/).
  - Install all plug-ins in their own directories. Unlike on master,
    this is not mandatory to do so, but it would protect our core
    plug-ins against any DLL installed directly under plug-ins/ by
    third-party plug-ins (cf. Windows DLL hell).
2018-08-28 13:51:08 +00:00
ryoon
b825ccb430 Update to 0.4.8
Changelog:
GEGL-0.4.8 2018-08-17
---------------------

Core/GeglBuffer
~~~~~~~~~~~~~~~

Fixes to races during buffer/tile storage destruction, improve swap usage for
stored empty tiles.

Operations
~~~~~~~~~~

 motion-blur-circular - improve/clarify property ui
 median-blur          - added abyss-policy property
 long-shadow          - new operation
 little-planet        - adapt reference composition
2018-08-28 13:32:45 +00:00
ryoon
06715e87d8 Update to 0.1.56
Changelog:
2018-08-14 babl-0.1.56
Improvements to the caching of profiled conversion chains between invocations
by ignoring unknown bits in cache file and remember which conversions yielded
reference fishes.

2018-07-23 babl-0.1.54
Export babl_space_get_icc, babl_space_get, babl_model_with_space,
babl_space_with_trc, babl_format_get_encoding, babl_model_is, SSE2 versions of
YA float and Y float to CIE L float.
2018-08-28 13:31:48 +00:00
leot
7d23c4f81c ImageMagick6: Also block PS2 and PS3 coders in policy.xml
At least when reading PS2 and PS3 files via
`convert PS2:<input> <output>' and `convert PS3:<input> <output>'
gslib/ghostscript will be invoked and hence subject to VU#332928.

Pointed out by Bob Friesenhahn via oss-security@ ML (and follow up from
VU#332928 update).
2018-08-23 14:54:21 +00:00
leot
4fe88bb391 ImageMagick: Also block PS2 and PS3 coders in policy.xml
At least when reading PS2 and PS3 files via
`convert PS2:<input> <output>' and `convert PS3:<input> <output>'
gslib/ghostscript will be invoked and hence subject to VU#332928.

Pointed out by Bob Friesenhahn via oss-security@ ML (and follow up from
VU#332928 update).
2018-08-23 14:52:22 +00:00
leot
0f71edfd01 ImageMagick: Disable ghostscript coders by default in policy.xml
Disable ghostscript coders in policy.xml as a workaround for
VU#332928 (<https://www.kb.cert.org/vuls/id/332928>).

Please note that apart commenting/removing lines added in policy.xml,
the ghostscript coders can be enabled per-user by copying policy.xml
to ~/.config/ImageMagick/policy.xml and adjusting it with the
following lines:

  | [...]
  | <policy domain="coder" rights="read|write" pattern="PS" />
  | <policy domain="coder" rights="read|write" pattern="EPS" />
  | <policy domain="coder" rights="read|write" pattern="PDF" />
  | <policy domain="coder" rights="read|write" pattern="XPS" />
  | [...]

Bump PKGREVISION
2018-08-22 13:39:24 +00:00
leot
202a903fd9 ImageMagick6: Disable ghostscript coders by default in policy.xml
Disable ghostscript coders in policy.xml as a workaround for
VU#332928 (<https://www.kb.cert.org/vuls/id/332928>).

Please note that apart commenting/removing lines added in policy.xml,
the ghostscript coders can be enabled per-user by copying policy.xml
to ~/.config/ImageMagick/policy.xml and adjusting it with the
following lines:

  | [...]
  | <policy domain="coder" rights="read|write" pattern="PS" />
  | <policy domain="coder" rights="read|write" pattern="EPS" />
  | <policy domain="coder" rights="read|write" pattern="PDF" />
  | <policy domain="coder" rights="read|write" pattern="XPS" />
  | [...]

Bump PKGREVISION
2018-08-22 13:38:00 +00:00
wiz
93b46879c7 Recursive bump for perl5-5.28.0 2018-08-22 09:43:40 +00:00
wiz
9bd737fe76 Recursive bump for perl5-5.28.0 2018-08-22 09:42:51 +00:00
wiz
0250020153 *: reset maintainer for drochner 2018-08-19 20:16:39 +00:00
adam
085771fcc6 py-seqdiag: updated to 0.9.6
0.9.6:
* Fix a bug
  - Fix Python 3.7 compatibility
2018-08-19 11:23:51 +00:00
adam
3d33d65ca8 objgraph: added version 3.4.0
objgraph is a module that lets you visually explore Python object graphs.
You'll need graphviz if you want to draw the pretty graphs.
2018-08-19 09:40:37 +00:00
adam
9d06c0a472 revbump after boost-libs update 2018-08-16 18:54:26 +00:00
wiz
fd2d8eb5f9 *: Recursive bump for poppler-0.67 2018-08-16 13:56:24 +00:00
wiz
ab8980d42b py-cairo: update to 1.17.1.
1.17.1 - 2018-07-07
-------------------

* Meson support (>=0.46)
2018-08-16 12:32:58 +00:00
wiz
44286db52c ImageMagick: update to 7.0.8.10.
2018-08-13  7.0.8-10 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 7.0.8-10, GIT revision 14646:48fba3256:20180813

2018-08-12  7.0.8-10 Dirk Lemstra <dirk@lem.....org>
  * Added dcraw coder (dcraw:img.cr2) that can be used to force the use of the
    dcraw delegate when libraw is the default raw delegate.
  * Restored thread support for the HEIC coder.

2018-08-08  7.0.8-10 Cristy  <quetzlzacatenango@image...>
  * ThumbnailImage function no longer reveals sensitive information (reference
    https://github.com/ImageMagick/ImageMagick/issues/1243).

2018-08-06  7.0.8-9 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 7.0.8-9, GIT revision 14618:a3663c3dc:20180805.

2018-07-24  7.0.8-9 Cristy  <quetzlzacatenango@image...>
  * XBM coder leaves the hex image data uninitialized if hex value of the
    pixel is negative.
  * More improvements to SVG text handling.
  * New -range threshold option that combines hard and soft thresholding.

2018-07-23  7.0.8-8 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 7.0.8-8, GIT revision 14583:300fdbcfd:20180723.

2018-07-20  7.0.8-8 Cristy  <quetzlzacatenango@image...>
  * Non-HDRI ScaleLongToQuantum() private method no longer adds a half interval.
  * Fixed memset() negative-size-param (reference
    https://github.com/ImageMagick/ImageMagick/issues/1217).

2018-07-16  7.0.8-7 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 7.0.8-7, GIT revision 14561:f85c23180:20180716.

2018-07-15  7.0.8-7 Cristy  <quetzlzacatenango@image...>
  * Fixed numerous use of uninitialized values, integer overflow, memory
    exceeded, and timeouts (credit to OSS Fuzz).

2018-07-08  7.0.8-6 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 7.0.8-6, GIT revision 14541:db940ccd2:20180708.

2018-07-06  7.0.8-6 Cristy  <quetzlzacatenango@image...>
  * Improve SVG support for tspan element.
  * Add support for -fx image.extent.

2018-07-04  7.0.8-5 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 7.0.8-5, GIT revision 14514:bba545bbb:20180704.

2018-07-04  7.0.8-5 Cristy  <quetzlzacatenango@image...>
  * Fixed a few potential memory leaks
    https://github.com/ImageMagick/ImageMagick/issues).

2018-07-02  7.0.8-4 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 7.0.8-4, GIT revision 14505:4613eed4a:20180702.

2018-06-28  7.0.8-4 Cristy  <quetzlzacatenango@image...>
  * Small tweaks to compile under Cygwin.
  * Fixed numerous use of uninitialized values, integer overflow, memory
    exceeded, and timeouts (credit to OSS Fuzz).
  * Support %B property, the image file size without any decorations.

2018-06-24  7.0.8-3 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 7.0.8-3, GIT revision 14489:c63c504e8:20180624.

2018-06-24  7.0.8-3 Cristy  <quetzlzacatenango@image...>
  * Apply translate component of SVG transform rotate.
2018-08-16 08:23:16 +00:00
gdt
df7ae09333 libjpeg-turbo: update to 1.5.3
Upstream changes are basically many bugfixes and a few performance improvements.
2018-08-13 20:50:59 +00:00