Preparation issue for ImageMagick release 8.x-2.3

todo:

  • add empty update function to clear caches to discover the changes to the 'imagemagick.exec_manager' service
  • deprecate ImagemagickToolkit::EXIF_ORIENTATION_NOT_FETCHED
  • summarize release notes

Release notes - draft

This release of the ImageMagick module introduces the functionality to retrieve images' colorspace and embedded profiles while parsing the image (only if the ImageMagick package is installed, the GraphicsMagick does not support that). Also, provides a more structured way to specify if command line arguments are to be added before or after the source image loading (and to specify internal use arguments).

As of this release, parsing image files via PHP getimagesize function is deprecated - it simply can not cope with all the data that can be fetched with the default parsing via the identify command. While this still works in this release, this functionality will be dropped in the next major release.

Finally, a lot of methods (see below) have been deprecated and will be removed in the next major.

NOTE: please ensure to run the database updates after updating to this release.

More details:

  • Deprecated using the PHP getimagesize function to parse image files.
  • When using ImageMagick as the graphics package:
    • the toolkit now retrieves the image's colorspace when parsing the image file. Use $image->getToolkit()->getColorspace() to access the information from code.
    • the toolkit now retrieves the image's embedded profiles when parsing the image file. Use $image->getToolkit()->getProfiles() to access the information from code.
    • it's now possible to specify command line arguments to be placed before loading the source image file when executing the convert command. This is useful to provide ImageMagick settings that have to be considered before loading the image. For example, it may be needed to provide a -density option before loading a vector image to specify how ImageMagick should render it internally in memory. Use $image->getToolkit()->arguments()->add($argument, ImagemagickExecArguments::PRE_SOURCE).
  • Some string changes.
  • Only PRE_SOURCE arguments will be passed to identify as of the next major release. If you are specifying arguments in the 'Prepend arguments' textbox in the Image Tollkit setup UI, make sure you tick the 'Before source' box in the form, otherwise they will not be added as of next major release.
  • Arguments added via the new ImagemagickExecArguments::add() can store additional context information. The ImagemagickImageToolkitOperationBase::addArgument() method is adding information about the Image Toolkit operation and plugin id, that can be used by the ImagemagickExecArguments::find() method to target arguments added by a specific operation.

Newly added methods:

  • ImagemagickExecArguments::escape()
  • ImagemagickExecArguments::find()
  • ImagemagickExecArguments::remove()
  • ImagemagickExecArguments::reset()
  • ImagemagickExecArguments::setSourceFormatFromExtension()
  • ImagemagickExecArguments::setDestinationFormatFromExtension()
  • ImagemagickExecArguments::toString()
  • ImagemagickExecManager::getFormatMapper()
  • ImagemagickExecManager::getModuleHandler()
  • ImagemagickToolkit::arguments()
  • ImagemagickToolkit::ensureSourceLocalPath()
  • ImagemagickToolkit::getColorspace()
  • ImagemagickToolkit::getExecManager()
  • ImagemagickToolkit::getProfiles()
  • ImagemagickToolkit::setColorspace()
  • ImagemagickToolkit::setProfiles()
  • ImagemagickImageToolkitOperationBase::addArgument()
  • ImagemagickImageToolkitOperationBase::escapeArgument()

Deprecated methods/constants:

  • ImagemagickExecArguments::INTERNAL_ARGUMENT_IDENTIFIER
  • ImagemagickExecArguments::addArgument()
  • ImagemagickExecArguments::countArguments()
  • ImagemagickExecArguments::escapeShellArg()
  • ImagemagickExecArguments::findArgument()
  • ImagemagickExecArguments::getArguments()
  • ImagemagickExecArguments::getStringForBinary()
  • ImagemagickExecArguments::prependArgument()
  • ImagemagickExecArguments::removeArgument()
  • ImagemagickExecArguments::resetArguments()
  • ImagemagickToolkit::EXIF_ORIENTATION_NOT_FETCHED
  • ImagemagickToolkit::addArgument()
  • ImagemagickToolkit::checkPath()
  • ImagemagickToolkit::countArguments()
  • ImagemagickToolkit::escapeShellArg()
  • ImagemagickToolkit::findArgument()
  • ImagemagickToolkit::getArguments()
  • ImagemagickToolkit::getDestination()
  • ImagemagickToolkit::getDestinationFormat()
  • ImagemagickToolkit::getDestinationLocalPath()
  • ImagemagickToolkit::getPackage()
  • ImagemagickToolkit::getPackageLabel()
  • ImagemagickToolkit::getSourceFormat()
  • ImagemagickToolkit::getSourceLocalPath()
  • ImagemagickToolkit::getStringForBinary()
  • ImagemagickToolkit::prependArgument()
  • ImagemagickToolkit::removeArgument()
  • ImagemagickToolkit::resetArguments()
  • ImagemagickToolkit::setDestination()
  • ImagemagickToolkit::setDestinationFormat()
  • ImagemagickToolkit::setDestinationFormatFromExtension()
  • ImagemagickToolkit::setDestinationLocalPath()
  • ImagemagickToolkit::setSourceFormat()
  • ImagemagickToolkit::setSourceFormatFromExtension()
  • ImagemagickToolkit::setSourceLocalPath()

Additionally, marking an argument 'internal' via prefixing it with ImagemagickExecArguments::INTERNAL_ARGUMENT_IDENTIFIER is deprecated.

CommentFileSizeAuthor
#6 2941093-6.patch987 bytesmondrake

Comments

mondrake created an issue. See original summary.

mondrake’s picture

Issue summary: View changes
mondrake’s picture

Issue summary: View changes
mondrake’s picture

Issue summary: View changes
mondrake’s picture

Issue summary: View changes
mondrake’s picture

Status: Active » Needs review
StatusFileSize
new987 bytes

  • mondrake authored f01c80b on 8.x-2.x
    Issue #2941093 by mondrake: Prepare for release 8.x-2.3
    
mondrake’s picture

Issue summary: View changes
mondrake’s picture

Status: Needs review » Fixed

Released 8.x-2.3

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.