Skip to content

Commit

Permalink
Create changelog, add upcoming v3.1 version details
Browse files Browse the repository at this point in the history
  • Loading branch information
Pierstoval committed Jan 13, 2021
1 parent 98107af commit 38bc775
Showing 1 changed file with 253 additions and 0 deletions.
253 changes: 253 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,253 @@
# [v3.1.0](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v3.1.0) - 13 Jan 2021

## New features

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.

## Fixes

* Automatically find `magick` binary (#31 by @pbories).
* Fix issue making path unresolvable if null.
* Fix blur type issues, and add test for it.

## Miscellaneous

* 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](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v3.0.14) - 13 Dec 2020

Added PHP 8 support (#28 by @VincentLanglet)

# [v3.0.13](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v3.0.13) - 31 Jul 2020

Add support for the `-threshold` option (@fariasmaiquita)

# [v3.0.12](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v3.0.12) - 01 Jan 2020

Added support for `-transpose`, `-transverse` and `-monochrome` commands.

# [v3.0.11](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v3.0.11) - 27 Dec 2019

Allow Symfony 5.0

# [v3.0.10](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v3.0.10) - 12 Dec 2019

Added support for `-gravity` option (@JeffAlyanak)

# [v3.0.9](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v3.0.9) - 26 Aug 2019

* Added `-depth` `-flatten` and `-colorspace` options (@70mmy)

# [v3.0.8](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v3.0.8) - 23 May 2019

### Changelog for v3.0.8

* Added support for ImageMagick's `-auto-orient` option

# [v3.0.6](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v3.0.6) - 08 Mar 2019

Changelog for v3.0.6:

* Fix bug in `Command::text()`

# [v3.0.4](https://github.com/Orbitale/ImageMagickPHP/releases/tag/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](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v3.0.3) - 07 Mar 2019

Changelog for v3.0.1:

* Force adding `"` for colors when possible, to allow colors like `rgba()` or other values with parentheses

# [v3.0.2](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v3.0.2) - 07 Mar 2019

Changelog for v3.0.2:

* Added support for `-strokewidth` option

# [v3.0.1](https://github.com/Orbitale/ImageMagickPHP/releases/tag/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](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v3.0.0) - 05 Mar 2019

Changelog for v3.0.0:

* **Drop support for ImageMagick 6, this means that we support only the `magick` binary (or `magick.exe` on Windows)**
* Add preliminary support for all other legacy commands (composite, animation, etc.)
* Require PHP 7.2 and `symfony/process` 4.* only
* Removed `Command::escape()` method
* Use php-cs-fixer to uniformize code style
* Use `declare(strict_types=1);` everywhere
* Use `ExecutableFinder` by default to determine ImageMagick's path, making it easier to discover default `magick` binary
* Command line instructions are now arrays instead of strings (easier handling)

# [v2.0.2](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v2.0.2) - 12 Feb 2019

# Changelog for v2.0.2

## Internal breaks

* Remove internal class `CommandOptions` and put all options in the main class.
* Remove `symfony/yaml` dependency and make references an array for better performances.
* Remove `symfony/filesystem` dependency 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']`

## Features

* Add `Command::create($binary)` for simpler fluent interfaces.
* Add support for more ImageMagick options:
* `-stroke`
* `-fill`
* `-size`
* `-pointsize`
* Add `$checkFontFileExists` argument to `Command::font()` for native fonts
* Add `isSuccessful()` to `CommandResponse`, more convenient than `hasFailed()`

## Dev/test

* Update Travis-CI build to find a proper way to download ImageMagick for tests (even though it's not 100% ok)

# [v2.0.1](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v2.0.1) - 09 Feb 2018

Changelog for v2.0.1

* Add [`-size`](http://www.imagemagick.org/script/command-line-options.php#size) option
* Add `output()` alias to append file name to the end of the command
* Add `xc` option to allow creating images with "X window color", like `xc:none` by default for transparent images

# [v2.0.0](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v2.0.0) - 20 Jan 2018

New of the v2.0!
==========

* 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](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v1.6.1) - 19 Jan 2018

### Fixes

* Escape background option

# [v1.6.0](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v1.6.0) - 10 Feb 2017

### New features

Add support for `-interlace`, `-blur` and `-gaussian-blur` options.

Added needed references and tests

# [v1.5.0](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v1.5.0) - 02 Feb 2017

### New features
- 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

### Adjustments
- Always use the bundled reference file instead of passing it as argument
- Improve constructor docs for Geometry

### Fixes
- Add spaces after some command options
- Trim Geometry value when constructing it

Adapted tests to last updates, and remove useless ones

# [v1.4.2](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v1.4.2) - 01 Feb 2017

### New option

[4e99158] Added `-strip` option

Docs of this option => http://www.imagemagick.org/script/command-line-options.php#strip

# [v1.4.1](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v1.4.1) - 15 Apr 2016

# New option!

[a897116] Add the `-rotate` command-line option (closes #2 )

# [v1.4.0](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v1.4.0) - 08 Mar 2016

Add SF3 compatibility (still need review)

# [v1.3.0](https://github.com/Orbitale/ImageMagickPHP/releases/tag/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](http://www.imagemagick.org/script/command-line-processing.php#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>&1` to 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.

### New features

[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.
### Tests & CI
[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

### Code style

[738047a] Reorder methods to fit PSR style

# [v1.2.0](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v1.2.0) - 07 Apr 2015

Transferred ownership.

# [v1.1.0](https://github.com/Orbitale/ImageMagickPHP/releases/tag/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](https://github.com/Orbitale/ImageMagickPHP/releases/tag/v1.0.0) - 26 Feb 2015

First release

0 comments on commit 38bc775

Please sign in to comment.