]> git.imager.perl.org - imager.git/blobdiff - Changes
add new comparison method rgb_difference that resembles arithmetical difference per...
[imager.git] / Changes
diff --git a/Changes b/Changes
index 05e7074b3711e86fb3551e64556a75667a4aa555..79796851193604d66ed59f62f6478635ce72b184 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,6 +1,115 @@
 Imager release history.  Older releases can be found in Changes.old
 
-Coverity finally finished a build, fix a few problems:
+Imager 1.012 - 14 Jun 2020
+============
+
+ - Imager has moved to github.
+
+ - T1lib support is deprecated
+
+ - added guassian2 filter which allows separate filter radii for vertical
+   and horizontal.  Thanks to Leolo.
+   https://rt.cpan.org/Ticket/Display.html?id=129769
+
+ - freetype2 support can now use pkg-config to configure itself.
+
+ - added red, green, blue, alpha methods to color objects.
+
+ - eliminate use vars.
+
+Imager 1.011 - 7 Mar 2019
+============
+
+General changes:
+
+ - correct the type of the data parameter for im_decode_exif().
+
+ - fix the release date listed below for 1.010
+
+ - add missing change entry for RT #128142
+
+ - binmode the correct handle in t/200-file/010-iolayer.t, this may fix some test
+   failures on one CPAN smoker.
+
+ - add the mymeta check (AUTHOR testing only) to MANIFEST
+
+More Coverity fixes:
+
+ - translate_errdiff() could leak memory on failure (introduced in
+   1.009) CID 185565.
+
+ - i_img_make_palette() could leak memory on failure (introduced in
+   1.009) CID 185566.
+
+ - DSO_open(), from the original dynamic loading API, could leak
+   dlopen() handles on failure.  CID 185309.  DSO_close() now releases
+   the memory associated with the internal DSO handle, rather than
+   only releasing the dlopen() handle.
+
+Imager 1.010 - 13 Feb 2019
+============
+
+General changes:
+
+ - added the add_file_magic() class method for adding magic for new
+   file types to Imager's fairly primitive file magic detection.
+
+ - fixed an embarassing documentation typo in Imager::Test.
+
+ - trying to read from a GIF file with no images now sets an error
+   message.  Thanks to Peter Sergeant for reporting this.
+   https://rt.cpan.org/Ticket/Display.html?id=128481
+
+ - use undeprecated encoding symbols for FT2.  This should fix the
+   build on the badly patched CentOS 7 Freetype 2.  Thanks to Slaven
+   Rezic for the report.
+   https://rt.cpan.org/Ticket/Display.html?id=128142
+
+Coverity has come back up read-only, a few more changes:
+
+ - add missing va_end() for bmp.c's write_packed().  CID 185320.
+
+ - similarly for read_packed().  CID 185329.
+
+ - add a NOTREACHED lint comment for pixel_coverage().  Compilers
+   complained about a missing return, Coverity complains about the
+   return.  CID 185325.
+
+ - avoid a possible sign extension in imsgi.c. CID 185326.
+
+ - add some FALLTHROUGH lint comments to i_readtga_wiol() where we
+   deliberately fall through switch cases.  CID 185328.
+
+ - add assertions in callers to i_new_hatch_low() since Coverity
+   complained about some possible inconsistent NULL checks.  CID
+   185339.  I ended up rearranging this function later.
+
+ - remove pointless NULL checks from i_flipxy() and i_img_destroy().
+
+Imager 1.009 - 11 Jan 2019
+============
+
+Critical issue:
+
+ - drawing a filled, anti-aliased circle to the left or right of the
+   image (not within the image at all) would cause a buffer overflow.
+   https://rt.cpan.org/Ticket/Display.html?id=128208
+
+General changes:
+
+ - to_paletted() and make_palette() now fail (with an error in
+   errstr()) if invalid quantization parameters are supplied.
+
+ - map() would corrupt a channel if there was a gap in the arrayref of
+   channels.  Detected by Coverity.  CID 185300.
+
+ - most numeric parameters to the XS implementation now throw an
+   exception if supplied an unoverloaded reference.
+   https://rt.cpan.org/Ticket/Display.html?id=128208
+
+Coverity finally finished a build[1], fixed several of the problems
+found.  Coverity went down before I could finish working through them.
 
 High severity:
 
@@ -53,7 +162,7 @@ High severity:
    i_get_combine() due to a fencepost error in validating the combine
    number.  CID 185299.
 
-
+Lower severity (according to Coverity):
 
  - avoid an unneeded EXTEND() call when the FT1 has_chars()
    implementation returns 0. CID 185350.
@@ -72,6 +181,9 @@ High severity:
  - avoid dead code in i_ft2_glyph_name(), which is the implementation
    of glyph_names() for FT2.  CID 185342.
 
+ - avoid dead code in i_t1_glyph_names(), which is the implementation
+   of glyph_names() for T1.  CID 185322.
+
  - avoid an unneeded EXTEND() call when the FT2 has_chars()
    implementation returns 0. CID 185292.
 
@@ -82,6 +194,49 @@ High severity:
  - remove an unneeded check when terminating the stream for JPEG
    writing.  CID 185347.
 
+ - skip an unneeded check when freeing the combine temp buffer in the
+   fountain filter.  CID 185286.
+
+ - check the combine function pointer consistently rather than the
+   combine code in one place in the fountain filter.
+
+ - error diffusion now validates a custom error diffusion map and reports
+   an error if it's bad.  CID 185288.
+
+ - avoid discarding the value of i_io_getc() when scanning numbers in
+   pnm.c.  CID 185293.
+
+ - handle failure to clone the log filehandle when cloning the Imager
+   context object on thread creation.  CID 185294.
+
+ - fix an unsigned comparison when converting character code to a
+   glyph index with a NULL character map when calculating the glyph
+   for display for FT1.  This should be rare.  CID 185297.
+
+ - fix a similar bug when calculating whether a glyph is present for
+   has_chars() for FT1.  CID 185302.
+
+ - i_img_info() (C API) no longer tries to handle a NULL image object
+   pointer.  CID 185298.
+
+ - re-work testing for size_t overflow for circle/random
+   super-sampling for fountain fills.  CID 185304.
+
+ - don't check if the unsigned size passed to Imager's malloc wrapper
+   (mymalloc) is negative.  Left from when that parameter was signed.
+   CID 185305.
+
+ - make some types larger and add a cast to prevent integer overflows
+   when calculating a palette with median cut for extraordinarily
+   large images.  CID 185306.
+
+ - don't check if the unsigned size supplied to
+   im_set_image_file_limits() is negative.  CID 185307.
+
+[1] The first two build submissions ended up at the end of a ~400 item
+build queue, and seemed to have been cancelled by Coverity.  A build
+submitted on NYE went through in minutes.
+
 Imager 1.008 - 31 Dec 2018
 ============
 
@@ -93,6 +248,10 @@ Imager 1.008 - 31 Dec 2018
 
  - added add_type_extensions() class method
 
+ - Imager::Files now links to Imager::Install when discussing
+   appropriate libraries.
+   https://rt.cpan.org/Ticket/Display.html?id=127575
+
 Imager 1.007 - 24 Nov 2018
 ============
 
@@ -395,7 +554,7 @@ Imager 0.99 - 25 Jun 2014
    significantly reduce file sizes, but uses more memory and time.
    https://rt.cpan.org/Ticket/Display.html?id=94292
 
- - the autolevels filter now works on the luminosity of the image
+ - the autolevels filter now works on the luminance of the image
    rather then working per channel.  The old autolevels filter is
    still available as "autolevels_skew".
    https://rt.cpan.org/Ticket/Display.html?id=94413