Releases: BKWLD/croppa
Don’t build Flysystem disks until needed
Instantiating those disks actually created directories in the filesystem. This caused problems with `php artisan storage:link` where Croppa would create an empty public/storage immediately before the symlink was created. It was a side effect of the storage class getting booted because it was a dependecy of many classes that get insantiated with artisan.
Laravel 5.5 support, pad method
- Supports Laravel 5.5 and adds package auto-discovery
- Add's option to pad images with a color #140
Fixes issue on first image response
Custom filters and manual rendering
Memory limit config & Laravel 5.2 support
Lumen support & fixes
Fixing signing_key reference
Merge pull request #100 from sdebacker/patch-2 signing_key, not secure_key.
Adding signed tokens to generated URLs
Now, by default, urls generated with Croppa::url()
will have a ?token=xxxxxxxx
parameter added to them. The token is generated by hashing the parameters of your request (src image, dimensions, etc) combined with your Laravel app's encryption key. For example, a new Croppa 4.1 URL might look like:
http://domain.com/uploads/01/08/file-200x100.jpg?token=c21ed23af0228053c10b283a93b30d8c
This prevents the modifying of Croppa parameters after url generation which could lead to malicious users consuming CPU and storage generating unnecessary crops. As such, it more effectively accomplishes what the max_crops
config was designed for; max_crops
is now disabled by default.
If you are generating URLs outside of Croppa::url()
, like the croppa.js module, you can disable this feature by setting the signing_key
config to false.
Thanks to Glide for the inspiration for this feature.
Adding a command that deletes all crops
Run php artisan croppa:purge
from the CLI to delete all crops. See the README for more info.
Preserving aspect ratio when cropping despite source image size
Previously, if an image was smaller than the requested dimensions, the image was not cropped at all. So if you called Croppa::url($url, 500,500)
image but the source was 500x400, you would get the original 500x400 image outputted.
Now, Croppa will give you a 400x400 image. In other words, it is preserving the original aspect ratio despite the source image size. This is important if you are showing a bunch of images in a grid and don't want gaps but you can't be sure that the source images are all big enough.
This release also adds a upscale
option that will tell Croppa to scale up images to match your requested dimensions. So, using the example above, with upscale
set to 1
, you will get a 500x500 image.