Releases: rosell-dk/webp-convert
Fixed bug on PECL Imagick < 2.2.2
quality: 'auto' and more
The main new feature of this release is that quality now can be set to "auto". This avoids the pitfall of converting an image with low quality (say 40) into a webp of good quality (say 85), and thereby generating a webp file, which is larger than the original. As that pitfall defeats the whole purpose of generating webp files, it is quite important feature. For this reason also, the new default of "quality" is "auto".
Along with this change, a new "max-quality" option is introduced. This is in order to avoid generating images with excessive quality, due to the jpeg being of excessive quality. Generally 85 is more than enough for web, and file size increases radically on higher qualities. For this reason, max-quality
is defaulted to 85
Another significant addition is the WPC converter. WPC is a cloud converter based on WebPConvert. It thus accepts all the options that WebPConvert has. If set up to run cwebp, it produces the best possible quality.
Another significant addition is the new $logger
parameter, which enables insights into the conversion process.
Also, the individual converters now exposes metadata about the extra options.
For example, Cwebp defines its options like this:
public static $extraOptions = [
[
'name' => 'use-nice',
'type' => 'boolean',
'sensitive' => false,
'default' => false,
'required' => false
],
];
This allows creating UI for configuring the converters in a generic manner. (#44).
Other changes:
- Changed default order of converters, after discovering that Imagick has quality problems
- Added ConverterHelper::runConverter method, which enables running a single converter by ID
There are other minor changes as well. Check the commit history, if you are curious.
quality: 'auto', insight into conversion process, new converter (wpc) and exposed information about converters extra options
The main new feature of this release is that quality now can be set to "auto". This avoids the pitfall of converting an image with low quality (say 40) into a webp of good quality (say 85), and thereby generating a webp file, which is larger than the original. As that pitfall defeats the whole purpose of generating webp files, it is quite important feature. For this reason also, the new default of "quality" is "auto".
Along with this change, a new "max-quality" option is introduced. This is in order to avoid generating images with excessive quality, due to the jpeg being of excessive quality. Generally 85 is more than enough for web, and file size increases radically on higher qualities. For this reason, max-quality
is defaulted to 85
Another significant addition is the WPC converter. WPC is a cloud converter based on WebPConvert. It thus accepts all the options that WebPConvert has. If set up to run cwebp, it produces the best possible quality.
Another significant addition is the new $logger
parameter, which enables insights into the conversion process.
Also, the individual converters now exposes metadata about the extra options.
For example, Cwebp defines its options like this:
public static $extraOptions = [
[
'name' => 'use-nice',
'type' => 'boolean',
'sensitive' => false,
'default' => false,
'required' => false
],
];
This allows creating UI for configuring the converters in a generic manner. (#44).
Other changes:
- Changed default order of converters, after discovering that Imagick has quality problems
- Added ConverterHelper::runConverter method, which enables running a single converter by ID
There are other minor changes as well. Check the commit history, if you are curious.
Quite a make-over
This is quite a make-over of the 0.1.0 release
Most importantly, 1.0.0 does not create any output. It just converts - if possible. If you want to serve the created image, take a look at webp-convert-and-serve.
Secondly, the API has changed slightly. Firstly, the convert signature has changed from convert($source, $destination, $quality, $stripMetadata)
to convert($source, $destination, $options)
. Quality is now one optional option among many, which are set in $options. Gone are also all public properties and methods, but the convert method. This makes usage clean. And you don't risk that a configuration done in another place affects your current conversion. Reordering the converters is now done with the converters
option in the $options
Lastly, but not least, the repository has matured a great deal. We have now unit tests, Travis CI integration and PSR-2 code compliance. These steps ensures stability and quality.
Quite a make-over
This is quite a make-over of the 0.1.0 release
Most importantly, 1.0.0 does not create any output. It just converts - if possible. If you want to serve the created image, you will have to do that last piece of implementation yourself.
Secondly, the API has changed slightly. Firstly, the convert signature has changed from convert($source, $destination, $quality, $stripMetadata)
to convert($source, $destination, $options)
. Quality is now one optional option among many, which are set in $options. Gone are also all public properties and methods, but the convert method. This makes usage clean. And you don't risk that a configuration done in another place affects your current conversion. Reordering the converters is now done with the converters
option in the $options
Lastly, but not least, the repository has matured a great deal. We have now unit tests, Travis CI integration and PSR-2 code compliance. These steps ensures stability and quality.
Initial release
Merge pull request #5 from S1SYPHOS/patch Adding license