v3.2.0 - 08 Apr 2021
- Implement the
-pageoption (@pbories) - Refactor the CI setup to use ImageMagick Docker image
- Don't make
Commandbe so strict about ImageMagick binaries when resolving theconvertbinary.
This is important because it means that now you can use a compound binary, such as usingdocker run ...ordocker exec ....
v3.1.1 - 01 Feb 2021
- Fix an issue with
References::rotation()not taking decimal nor single values in account. - Fix issues when ImageMagick path is empty when creating a new
Command.
v3.1.0 - 13 Jan 2021
Allow multiple sources as first parameter of convert() method (#32 by @pbories).
This means you can use the method like this: ->convert(['file1.jpg', 'file2.jpg']), for convenience, when converting multiple source files.
- Automatically find
magickbinary (#31 by @pbories). - Fix issue making path unresolvable if null.
- Fix blur type issues, and add test for it. (#23 by @AMK9978, 83914560 by @pierstoval)
- Move source code to "src/" directory instead of project root, easier for conciseness and code coverage.
- Refactor test setup with latest PHPUnit version.
- Global CS fix.
v3.0.14 - 13 Dec 2020
Added PHP 8 support (#28 by @VincentLanglet)
v3.0.13 - 31 Jul 2020
Add support for the -threshold option (@fariasmaiquita)
v3.0.12 - 01 Jan 2020
Added support for -transpose, -transverse and -monochrome commands.
v3.0.11 - 27 Dec 2019
Allow Symfony 5.0
v3.0.10 - 12 Dec 2019
Added support for -gravity option (@JeffAlyanak)
v3.0.9 - 26 Aug 2019
- Added
-depth-flattenand-colorspaceoptions (@70mmy)
v3.0.8 - 23 May 2019
- Added support for ImageMagick's
-auto-orientoption
v3.0.6 - 08 Mar 2019
Changelog for v3.0.6:
- Fix bug in
Command::text()
v3.0.4 - 07 Mar 2019
Changelog for v3.0.4:
- Add support for
-geometry - Implement
Command::rawCommand()for edge cases that are not implemented yet. ÔÜá´©Å Use at your own risk! It is way better to create an issue or a pull-request if you need an unimplemented feature ƒÿë
v3.0.3 - 07 Mar 2019
Changelog for v3.0.1:
- Force adding
"for colors when possible, to allow colors likergba()or other values with parentheses
v3.0.2 - 07 Mar 2019
Changelog for v3.0.2:
- Added support for
-strokewidthoption
v3.0.1 - 07 Mar 2019
Changelog for v3.0.1:
- Added support for
-draw "polyline ..."raw without validation (more will come about drawing with validation)
v3.0.0 - 05 Mar 2019
Changelog for v3.0.0:
- Drop support for ImageMagick 6, this means that we support only the
magickbinary (ormagick.exeon Windows) - Add preliminary support for all other legacy commands (composite, animation, etc.)
- Require PHP 7.2 and
symfony/process4.* only - Removed
Command::escape()method - Use php-cs-fixer to uniformize code style
- Use
declare(strict_types=1);everywhere - Use
ExecutableFinderby default to determine ImageMagick's path, making it easier to discover defaultmagickbinary - Command line instructions are now arrays instead of strings (easier handling)
v2.0.2 - 12 Feb 2019
- Remove internal class
CommandOptionsand put all options in the main class. - Remove
symfony/yamldependency and make references an array for better performances. - Remove
symfony/filesystemdependency and use native PHP functions. - ÔÜá´©Å BC BREAK: Refactor
Command::text()with array options instead of arguments:$options['text']$options['textSize']$options['geometry']$options['font']$options['checkFont']$options['textColor']
- Add
Command::create($binary)for simpler fluent interfaces. - Add support for more ImageMagick options:
-stroke-fill-size-pointsize
- Add
$checkFontFileExistsargument toCommand::font()for native fonts - Add
isSuccessful()toCommandResponse, more convenient thanhasFailed()
- Update Travis-CI build to find a proper way to download ImageMagick for tests (even though it's not 100% ok)
v2.0.1 - 09 Feb 2018
Changelog for v2.0.1
- Add
-sizeoption - Add
output()alias to append file name to the end of the command - Add
xcoption to allow creating images with "X window color", likexc:noneby default for transparent images
v2.0.0 - 20 Jan 2018
- Now PHP 7.1 is required.
- Symfony 3.0+ or 4.0+ required.
- Make use of PHP 7 typehints when it's possible.
- Tests on Travis-CI now build ImageMagick 6 and 7 to check both versions.
Just a major release to advance in time.
If new ImageMagick options are added, they may be backported to v1, as of the new 1.x branch.
v1.6.1 - 19 Jan 2018
- Escape background option
v1.6.0 - 10 Feb 2017
Add support for -interlace, -blur and -gaussian-blur options.
Added needed references and tests
v1.5.0 - 02 Feb 2017
- Use Symfony Process to exec command, and take care of IM6 and IM7 (Possible BC breaks, but there should be none actually)
- Add
__toString()to Geometry
- Always use the bundled reference file instead of passing it as argument
- Improve constructor docs for Geometry
- Add spaces after some command options
- Trim Geometry value when constructing it
Adapted tests to last updates, and remove useless ones
v1.4.2 - 01 Feb 2017
[4e99158] Added -strip option
Docs of this option => http://www.imagemagick.org/script/command-line-options.php#strip
v1.4.1 - 15 Apr 2016
[a897116] Add the -rotate command-line option (closes #2 )
v1.4.0 - 08 Mar 2016
Add SF3 compatibility (still need review)
v1.3.0 - 03 Sep 2015
This new release comes with a great Geometry validation inside the new Geometry class.
Geometry is really hard to validate in ImageMagick because it can have multiple forms, according to ImageMagick's documentation about Geometry.
Then, all current methods requiring a geometry parameter (resize, crop, etc.) now allow using a Geometry instance to reinforce validation before executing the command (and catching the exceptions with a verbose explanation of what happened).
Also, the Geometry class has an easy constructor with Geometry::createFromParameters that allow specifying all parameters we need: width, height, X and Y offsets, and the aspect ratio option.
More than 700 tests were generated to be sure that the validation system is the same than the one present in ImageMagick itself.
Also, a big new feature about ::run() method was introduced: you can now execute commands in three ways:
- Normally (nothing to do)
- In background (will append
> /dev/null 2>&1to the command) - In debug mode (will append STDERR to STDOUT to retrieve the errors in the
CommandResponse::getContent()method)
Just take a look at the RUN_* constants in the Command class.
[ef52968] Start refactoring the Geometry validation [044f25d] Many updates on the command class.
- Escape the geometry parameters (to avoid problems with "!" or "^" flags)
- Added "setEnv" for env vars, also added other IM commands: background, crop, extent.
- When using
run, one can retrieve stderr in the output to watch for errors. - Removed many spaces form most commands.
[4b46ff0] Add new Geometry class to handle geometry use
[f1636aa] Created new
RUN_constants for running mode. [a46c25d] Install ImageMagick manually to have latest version [1f440a4] Show ImageMagick version in tests [aad6c2b] Finalize geometry testing [08576eb] Remove useless dev deps, optimize travis-ci [510c3f5] Fixed tests
[738047a] Reorder methods to fit PSR style
v1.2.0 - 07 Apr 2015
Transferred ownership.
v1.1.0 - 03 Mar 2015
New features: dd2991b Added "quality" and "thumbnail" command line options afac867 Made the "escape" function public.
Other big changes: e9cad7d Changed composer namespace
Also added many MANY tests.
v1.0.0 - 26 Feb 2015
First release