All notable changes to laravel-medialibrary
will be documented in this file
- Fix for audio only "video" files by @rcerljenko in spatie#3046
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.5.1...10.5.2
- Allow the Github actions to run locally via act by @emielmolenaar in spatie#3028
- Never explicitly create directories on GCS, just as with S3 by @boboldehampsink in spatie#3037
- @boboldehampsink made their first contribution in spatie#3037
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.5.0...10.5.1
- Use "request" where "response" is intended in docs by @euoia in spatie#3027
- Add getPathRelativeToRoot as a public method in the Media model by @emielmolenaar in spatie#3026
- @euoia made their first contribution in spatie#3027
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.4.5...10.5.0
- Change the create method to use 'static' by @FabienLucini in spatie#3021
- @FabienLucini made their first contribution in spatie#3021
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.4.4...10.4.5
- Adding a short vite description by @schonhoff in spatie#3001
- Add a note about limitation of generators by @Orrison in spatie#3000
- Update README.md to reference pest by @michaellindahl in spatie#3004
- Update CleanCommand to delete depreciated responsive images by @michaellindahl in spatie#3003
- @schonhoff made their first contribution in spatie#3001
- @Orrison made their first contribution in spatie#3000
- @michaellindahl made their first contribution in spatie#3004
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.4.3...10.4.4
- Revert order media relationship
- Upgrade example using JSON_EXTRACT by @erikn69 in spatie#2970
- clearMediaCollection() documentation clarification by @chimit in spatie#2972
- Added information that media wont be deleted if the deleted model use… by @titonova in spatie#2993
- Order media relationship by @Propaganistas in spatie#2992
- @chimit made their first contribution in spatie#2972
- @titonova made their first contribution in spatie#2993
- @Propaganistas made their first contribution in spatie#2992
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.4.1...10.4.2
- Add @template annotation to FileAdder by @sforward in spatie#2964
- @sforward made their first contribution in spatie#2964
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.4.0...10.4.1
- Update introduction.md by @trippo in spatie#2951
- Fix a typo by @bvtterfly in spatie#2952
- Update preparing-your-model.md by @timgavin in spatie#2955
- Add support for Laravel's
Attachable
objects by @freekmurze in spatie#2963
- @bvtterfly made their first contribution in spatie#2952
- @timgavin made their first contribution in spatie#2955
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.3.6...10.4.0
- add webp conversion support by @Jim-Webfox in spatie#2928
- @Jim-Webfox made their first contribution in spatie#2928
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.3.5...10.3.6
- Fix PhpStan test by @erikn69 in spatie#2910
- Fix
media-library:clean
command when using custom path generators by @YellowFish085 in spatie#2925
- @YellowFish085 made their first contribution in spatie#2925
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.3.4...10.3.5
- use anonymous migration
- Bump laravel version in docs by @karvaka in spatie#2885
- fix anchor links by @goellner in spatie#2902
- Prevent error when extracting an image from a video by @prullenbak in spatie#2904
- @karvaka made their first contribution in spatie#2885
- @goellner made their first contribution in spatie#2902
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.3.2...10.3.3
- wip by @freekmurze in spatie#2851
- Change
MediaRepository
to scoped instance (Octane support) by @AlexVanderbist in spatie#2877
- @WouterBrouwers made their first contribution in spatie#2859
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.12.0...9.12.3
- Change
MediaRepository
to scoped instance (Octane support) by @AlexVanderbist in spatie#2876
- @JavierMartinz made their first contribution in spatie#2871
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.3.1...10.3.2
- Fix Htmlable render media by @Balsakup in spatie#2864
- @Balsakup made their first contribution in spatie#2864
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.12.2...10.3.1
- Add explanation for processing responses by @SahinU88 in spatie#2850
- Update percentage value in the config file by @ClouddJR in spatie#2856
- Fix responsive url generation by @mabdullahsari in spatie#2852
- @SahinU88 made their first contribution in spatie#2850
- @ClouddJR made their first contribution in spatie#2856
- @mabdullahsari made their first contribution in spatie#2852
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.12.1...9.12.2
- Small Typo by @Crowly34 in spatie#2847
- @Crowly34 made their first contribution in spatie#2847
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.3.0...9.12.1
- Documentation improvements by @freekmurze in spatie#2844
- Added setConnection in FileAdder processMediaItem (v10) by @davidrushton in spatie#2846
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.2.0...10.3.0
- Update DefaultUrlGenerator.php by @matt127127 in spatie#2837
- Added setConnection in FileAdder processMediaItem by @davidrushton in spatie#2843
- @matt127127 made their first contribution in spatie#2837
- @davidrushton made their first contribution in spatie#2843
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.11.4...9.11.5
- Allow path generators to be customised per model by @freekmurze in spatie#2845
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.1.5...10.2.0
- Fix High CPU Usage by @voyula in spatie#2840
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.1.3...10.1.4
- Update .gitattributes by @angeljqv in spatie#2829
- Update DefaultUrlGenerator.php by @prullenbak in spatie#2831
- @angeljqv made their first contribution in spatie#2829
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.1.2...10.1.3
- remove unused import by @HAstaShakiba in spatie#2806
- Use newer syntax for accessors by @phh in spatie#2813
- Fix phpstan errors in ci by @phh in spatie#2817
- add property-read for accessors by @phh in spatie#2814
- [10.x] Added string support for id in deleteMedia() by @rcerljenko in spatie#2823
- @phh made their first contribution in spatie#2813
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.1.1...10.1.2
- Change to forceDelete in move method of Media by @ziming in spatie#2804
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.11.3...9.11.4
- Change to forceDelete in move method of Media by @ziming in spatie#2803
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.1.0...10.1.1
- Update UPGRADING.md by @JesseKoper in spatie#2787
- Add collection template to collections by @bastien-phi in spatie#2788
- remove white space by @HAstaShakiba in spatie#2795
- Fix class case by @Synchro in spatie#2798
- Add TIFF support in v10 by @Synchro in spatie#2802
- @JesseKoper made their first contribution in spatie#2787
- @bastien-phi made their first contribution in spatie#2788
- @HAstaShakiba made their first contribution in spatie#2795
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.0.7...10.1.0
- Tiff support by @Synchro in spatie#2799
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.11.2...9.11.3
- Tiny refactoring of file by @hichxm in spatie#2707
- Fix Test by @erikn69 in spatie#2712
- Add docs to disable dragula cdn by @lukasleitsch in spatie#2711
- fix: explicitly load media by @jaulz in spatie#2785
- @hichxm made their first contribution in spatie#2707
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.11.1...9.11.2
- fix: explicitly load media by @jaulz in spatie#2784
- @jaulz made their first contribution in spatie#2784
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.0.6...10.0.7
- improve deps
- improve deps
- improve dependencies
- Fix
jsonSerialize
return type by @orkhanahmadov in spatie#2756
- @orkhanahmadov made their first contribution in spatie#2756
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/10.0.2...10.0.3
Move Larastan to dev deps
- fix return type
- Add support for Laravel 9
- Tiny refactoring of file by @hichxm in spatie#2707
- Fix Test by @erikn69 in spatie#2712
- Add docs to disable dragula cdn by @lukasleitsch in spatie#2711
- @hichxm made their first contribution in spatie#2707
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.11.1...10.0.0
- add index to order_column migration by @petsoukos in spatie#2704
- @petsoukos made their first contribution in spatie#2704
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.11.0...9.11.1
- Add starting-from-id option to regenerate command by @billypoke in spatie#2688
- @billypoke made their first contribution in spatie#2688
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.10.3...9.11.0
- Update .gitattributes by @PaolaRuby in spatie#2701
- @PaolaRuby made their first contribution in spatie#2701
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.10.2...9.10.3
- Reverts #2638 which proved to be buggy by @freekmurze in spatie#2697
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.10.1...9.10.2
- Update installation-setup.md by @Ondoz in spatie#2693
- Fix for deleted files on copy media to model by @jon-sm in spatie#2694
- @Ondoz made their first contribution in spatie#2693
- @jon-sm made their first contribution in spatie#2694
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.10.0...9.10.1
- Fixed typo in attribute name by @trnxpace in spatie#2617
- Remove the need for a TemporaryDirectory when copying media by @cole-flexsim in spatie#2638
- add filter param to hasMedia() by @fheider in spatie#2648
- @trnxpace made their first contribution in spatie#2617
- @cole-flexsim made their first contribution in spatie#2638
- @fheider made their first contribution in spatie#2648
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.9.1...9.10.0
- Check for lower and uppercase image extensions but always return the original extension for conversions by @timvanuum in spatie#2683
- @timvanuum made their first contribution in spatie#2683
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.9.0...9.9.1
- Add 'toInlineResponse' to Media by @mbardelmeijer in spatie#2636
Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/9.8.4...9.9.0
- Update defining-conversions.md by @mansoorkhan96 in spatie#2665
- Add --with-responsive-images option to RegenerateCommand by @DanielHudson in spatie#2671
- @mansoorkhan96 made their first contribution in spatie#2665
- @DanielHudson made their first contribution in spatie#2671
- appends preview_url and original_url to Media object
- revert #2609
- fix missing image preview URLs in Inertia Projects (#2609)
- add simpler way to prefix the root directory where media are saved (#2576)
- Remove regex on FileNamer (#2587)
- include --force param to image_optimzer . jpegoptim (#2580)
- make sure only the extension is removed on DefaultFileNamer (#2575)
- add custom header support for temporary uploads (#2557)
- allow
keepOriginalImageFormat()
method to work with uppercase file extensions (#2527)
- add getMediaRepository() to InteractsWithMedia and query() to MediaRepository (#2523)
- fix syntax error
- add the option to skip 'deprecated conversions' when cleaning the media directory
- simplify and speed up code for copying a stream to disk (#2425)
- update InteractsWithMedia.php (#2421)
- add a way to rename files globally (#2418)
- include extra_headers when adding media from same S3 Disk (#2403)
- fix adding private media from same S3 Disk (#2382)
- add
Collection
typehint toaddMultipleMediaFromRequest
(#2389)
- fix #2372 the fallback should be the original image (#2377)
- allow v2 of spatie/temporary-directory
- return Fallback url or path when conversion is not ready yet (#2369)
- add
addMediaFromStream
(#2363)
- allow
null
in the FileAdder 'order' setter (#2336)
DiskDoesNotExist
moved to it's own class (#2306)
- improve
preservingOriginal
(#2258)
- fixed generated conversions race-condition (#2235)
- add
moves_media_on_update
config value
- add
generate_thumbnails_for_temporary_uploads
config value
- add
enable_temporary_uploads_session_affinity
config value
- add unique index to UUID column (#2197)
- fixes incompatible return types error caused by PHPStorm's inability to resolve self (#2198)
- fix custom file names for media library pro
- automatically delete conversion jobs for deleted models (#2191)
- improve optimizer defaults
- add
original_url
toMediaCollection
.
- allow media collection to work with media library pro
- allow image generators to accept config (#2156)
- do not enable vapor uploads by default
- add support for Media Library Pro
- names of the generated conversions will now be put in a dedicated
generated_conversions
on media - responsive image files can now be named using the
file_namer
key in themedia-library
config file (#2114)
- add
queue_conversions_by_default
to config file
- fix responsive images
- improve responsive image inline script (#2032)
- missing $loadingAttributeValue test in image view (#2082)
- add support to include
ResponsiveImages
based on condition (#2036)
- allow to change the way the images are being downloaded (#2054)
- fix for default lazy="auto" value (#2081)
- fixed conversions when disk != conversions_disk (#2080)
- fix file deletion problem (#2073)
- allow Guzzle 7 in dev-deps
- add support for Laravel 8
- add
toMediaLibrary
- add
useZipOptions
- fix for custom zip path (#2016)
- keep sizes 1px if width is 0px (#1993)
- add method to get registered media collections (#1976)
- add
addMediaFromString
- add
addFromString
- fix responsive image urls when conversions are stored on different disk. (#1944)
- report an error when it can't delete a directory (#1938)
- improve handling of file names with special characters (#1937)
- added
Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection
- changed
freads
tofgets
as per issue #812 (#1909)
- when generating responsive images the quallity option of the original will be used (#1881)
- Unset loaded 'media' relation during updateMedia() (#1878)
- revert slash because of Vapor errors (#1869)
- set the media table name explicitly to
media
to avoid failure caused by doctrine/inflictor now usingmedias
as the plural
- fix for when using custom model (#1857)
- fixed duplicated path prefix for temporary urls (#1853)
- fixed duplicated
/
in paths (#1854)
- do not allow local files to be used in
addMediaFromUrl
- add page number support for Pdf image generator (#1829)
- add support for
zip_filename_prefix
in custom properties
- allow ZipStream 2.0 (#1812)
- solve error when using flysystem-cached-adapter (#1803)
- fix comment in config file
- Use
float
forextractVideoFrameAtSecond
(#1794)
- update php-ffmpeg to ^0.15
- add callable filter support to
getFirstMedia()
(#1781)
- set conversion disk when adding media from remote (#1764)
- added
uuid
onmedia
table - an empty string is now a proper collection name.
getMedia('')
will not return media from the default collection anymore (#1697). - add the ability to store conversions on a separate disk
- simplify URL generation. You can now just use the
root
andurl
properties on a configured disk - spatie/pdf-to-image is now a suggestion dependency, removing the need for always having to install ext-imagick
- added
shouldMatchBothExtensionsAndMimeTypes
toSpatie\MediaLibrary\ImageGenerators\BaseGenerator
- added progress bar on the clean command (#1623)
- the
UrlGenerator
interface now contains all required methods (#1656) - use PHP 7.4 features where possible
- added support for the
loading
attribute (#1667) - conversion files can now be named using the
conversion_file_namer
key in themedia-library
config file (#1636) - improved naming of classes and namespaces.
To learn how to upgrade, take a look in UPGRADING.md
- add support for PHP 8
- fix responsive images extension (#1752)
- revert changes in 7.19.1
- Update S3 url generator to use media disk (#1755)
- add support for Laravel 7
- allow
image_driver
config to be set via .env #1738
- add support for Laravel 7
- revert of pull request #1604 because zip files could not be opened (#1660)
- add
withResponsiveImages()
to custom collection (#1681)
- fix custom disk url giving invalid urls (#1653)
- added diskName on copy and move methods in media model (#1666)
- correctly use the media item's disk when removing responsive images (#1668)
- escape responsive URL - Fix issue #1659 (#1661)
- add ability to upload files from a non-local disk
- bumped dependency of zipstream-php
- fix so when creating a zip files are read only once (#1604)
- fix so files without extension could be added
- generate the name of the converted file in one place (#1577)
- add a config option to version urls (#1569)
- add a way to define accepted mime types (#1570)
- tidy up
getFallbackMediaUrl
andgetFallbackMediaPath
- fix media stream not working (#1571)
- fix upload for very large files
- remove imagick requirement
- add support for Laravel 6
- do not export docs
- add
onlyKeepLatest
onMediaCollection
FileAdder
now is macroable
- make sure
CollectionHasBeenCleared
will be called when usingclearMediaCollectionExcept
- fix for custom manipulations not getting appllied to all relevant conversions with the same name
- make media collection macroable
- add
useFallbackUrl
anduseFallbackPath
to media collections
- avoid using deprecated str and arr functions
- fix for S3 Responsive Image URL Generator not using root
- allow stable version of zipstream
- fix absolute references to media.id
- Support
jpeg
in\Spatie\MediaLibrary\Conversion\Conversion::getResultExtension
- Add imagick as required extension, because of nested dependencies (#1480)
--only-missing
for queued conversions (#1465)
- Allow Uploading multiple files under the same name using array name (#1471)
- drop support for PHP 7.1
- add support for Laravel 5.8
- avoid exception when getting a video frame that does not exist
- only set
custom_headers
property if explicitly set
- use absolute urls for responsive image sources
- fix sortable
- fix for issue #1277
- fix support for Lumen
- add rate limiting to clean command
- fix for determining extension for non-image filetypes
- fix a bug in clean command when no responsive images were generated
- add support for Laravel 5.7
- allow the job classes to be overridden in the config file
- make sure previews responsive images db entries get cleaned up before regenerating
- add
$copiedOriginalFile
to theConversionWillStart
event
- fix for multiple files with the same filename in one ZIP archive
- fix
markAsConversionGenerated
: disable model events when saving extra properties in Media::updated event
do not use - broken
- fix
markAsConversionGenerated
- fix
ids
option ofRegenerateCommand
- bugfix around responsive images
- add support from
webp
- fix bug where
addMediaFromUrl
would not work if the file contained a space
- proper check and tests on forced deletion with soft delete models.
- add dev dependency on pdo SQLite to prevent confusing errors.
- fix #1076
- fix custom properties not saved on copy (#1073)
- Add
hasGeneratedConversion
- avoid removing the file when the model uses
SoftDeletes
- improve checking applied traits on the Media model
- fix
ffprobe
path
- always use the correct image driver.
- ease
maennchen/zipstream-php
requirements
- Fix for renaming files when not all conversions are present
- Fix bugs when working with remote filesystems
- fix a typo in
medialibrary.disk_name
.
Filesystem
interface removed.- rename
Filesytem::renameFile(Media $media, string $oldFileName)
toFilesystem::syncFileNames(Media $media)
- The
default_filesystem
config key has been changed todisk_name
.
- fix publishing views
- fix for adding remote files with no name
- fix responsive images rendering of conversions
- add null fallback when placeholder SVG isn't rendered yet (#967)
- add ResponsiveImagesGenerated event
- support custom headers for conversions (#868)
- added support for responsive images
- added
MediaCollections
- added single file collections
- added
ZipStreamResponse
- added
move
andcopy
methods onMedia
- file names will be lowercased when adding them to the media library
- the names of converted images will now start with the name of the original file
- dropped support for soft deletes
- removed distinction between
HasMedia
andHasMediaConversions
- dropped support for PHP 7.0
ffmpeg_binaries
renamed toffmpeg_path
,ffprobe_binaries
renamed toffprobe_path
- add wildcard manipulations
- add
withManipulations
toFileAdder
- add support for
root
config key for s3 disks.
- add support for L5.6
- change the directory deletion order
- use better default for s3 domain
- fix download error
- make returning media in controllers always download the associated file
- update
spatie/image
dep
- fix clearing entire media collection except a single media instance
- improve config comments
- fixed the spelling of the
getFirstTemporaryUrl
method
- add
getFirstTemporaryUrl
- add
only-missing
andonly
options to themedia-library:regenerate
command
- fix correct minimal versions for
league/flysystem
andspatie/image
when using--prefer-lowest
option with composer
- fix deletion of files when using a custom path generator
- implement
Responsable
interface - improve sanitizing filenames
- add
sanitizingFileName
- fix for working with large files
- add
ConversionWillStart
event
- fixed URL-encoding for S3 files
- bugfix:
getTemporaryUrl
now uses disk name instead of disk driver
- bugfix: remove
getTemporaryUrl
method fromUrlGenerator
interface
- add
getTemporaryUrl
method for media stored on S3
- add compatiblity for Laravel 5.5
- dropped support for older Laravel versions
- the signature of
registerMediaConversions
has been changed - the default disk has changed from
media
topublic
defaultFilesystem
config option has been renamed todefault_filesystem
- add
getPath
toS3UrlGenerator
- fix error when try to close a file that was already closed by flysystem
- fix
MediaCannotBeDeleted
exception
- add support for soft deletes
- fixed array fields in
addMultipleMediaFromRequest
- add parameter to specify allowed mime types to
addMediaFromUrl
andaddMediaFromBase64
- fix bugs regarding attaching media to non-existing models
- add support to
addAllMediaFromRequest
for file names in the request that contain an array
- show progress bar when regenerating media
- media can now be attached to unsaved models
- fix bug where
mediaIsPreloaded
always returned true
- fix bug where the wrong extension would be returned by
getResultExtension
forkeepOriginalImageFormat
- add
clearMediaCollectionExcept
method
- add
keepOriginalImageFormat
manipulation
- add
toMediaCollection
- fix bug where streams would be used on external filesystems that do not support streaming
- prevent migration from being published multiple times
LocalUrlGenerator
will now use theurl
property ofdisk
when one has been set
- fix for using
MediaRepository
with a custom media model
- add
createMultipleFromRequest
andcreateAllFromRequest
onFileAdder
- add
temporary_directory_path
to config
- fix bug around
getRemoteHeadersForFile()
- fix for undefined function
getPath
when using S3
this version is broken, do not use
- fix for undefined function
getPath
when using S3
- add support for
registerMediaConversionsUsingModelInstance
- add
addMediaFromBase64
- add
fullUrl
method
- fix loading manipulations from the db
- fix for
getFirstMediaUrl()
always returning the url for the first conversion
- add
toMediaLibraryOnCloudDisk
- image generators may now be specified in the config file
- use json columns for
manipulations
andcustom_properties
- refactor all functions in
FileCannotBeAdded
to their own exception classes - rename config file from
laravel-medialibrary
tomedialibrary
- remove
toCollection
andtoCollectionOnDisk
andtoMediaLibraryOnDisk
- replace dependency on
spatie/laravel-glide
byspatie/image
- mime types will now be stored in the database so they can be queried even if files are stored on external filesystems
- rename
Spatie\MediaLibraryFilesystemInterface
toSpatie\MediaLibrary\Filesystem\Filesystem
- remove
withCustomProperties
,getNestedCustomProperty
,setNestedCustomProperty
,forgetNestedCustomProperty
andhasNestedCustomProperty
- drop support for Lumen and anything below Laravel 5.4
- clean up all classes
KNOWN BUG: loading manipulations from the db doesn't work in certain edge cases, fix incoming soon
- add
FilesystemInterface
- avoid unnecessary regeneration of conversions when saving a model
- add support for Laravel 5.4
- drop support for Laravel 5.1
- put files using
r
mode instead ofr+
- avoid creating / deleting temp dir if no conversions should be performed
- fix bug in
setNewOrder
- added
hasNestedCustomProperty
,getNestedCustomProperty
,setNestedCustomProperty
andforgetNestedCustomProperty
to use dot notation with custom properties - renamed
removeCustomProperty
toforgetCustomProperty
(removeCustomProperty
still exists but is marked as deprecated)
- fix for getting preloaded media in the wrong order
- refactored the preloading of media
- reduce amount of calls to
s3
- add
addCustomHeaders
function
- improve returned values for
getUrl
methods
- fix for image generators when using S3
- the image generators wil now do their supported extensions check in a case insensitive manner
- fixed bug where an exception would be raised when using S3
- fix bug where urls to media would not be encoded anymore
- introduced
ImageGenerators
- encode urls to media
- fix svg and pdf file path when performing conversions
- made compatible with L5.3
- fixed some files that had a wrong namespace
- added thumbnail generation for video's
- added force option to the artisan commands
- fixed the
src
format option when dealing with jpegs
- added
mime
attribute on theMedia
model
- added
removeCustomProperty
function
- added
media-library:clean
command - the
media-library:regenerate
will continue regenerating files even if a primary media file is missing
- Fix regeneration command (see #260). It'll now properly regenerate files for all passed media id's
- Add support for converting svg's
- Add Lumen compatibility
- Delete the conversion directory even when it is not underneath the media directory
- Added the
src
option for thefm
conversion parameter
- Added
shouldDeletePreservingMedia
- Fixed queued jobs in Laravel 5.1
- add support for Glide 1.0
- added
addMediaFromRequest
method - small refactors
- Only detect mimetype from file on local disks
- Fixed an issue that occured when deleting models with media in some php versions
- Fixed mistakes in the version constraints on the illuminate components
- Improved the file type detection for files without an extension
- Added support for
morphMap
- Improved the compatiblity with packages that hook into the
delete
method of an Eloquent model
- The
regenerate
-command now accepts anids
-option
- Added
media-library:clear
command
- Make migrations compatible with mysql's strict mode
- Added a
deletePreservingMedia
-function that will delete the model but not remove the associated files
- Use
config_path
helper in ServiceProvider to allow easier integration in Lumen
- Recognize gifs as images
- Removed support for laravel-glide v3
- Added missing
InvalidNewOrder
-exception
Important node: there is a bug in this version that prevents the creation of derived files
- Add support for laravel-glide v3
- Add configurable headers when uploading media to a remote disk
- use database_path when publishing migrations
- Fixed the processing a file name with special characters
- Remove adding .gitignore files
- Accept Symfony\Component\HttpFoundation\File\File-object when adding files
- Fixed mime-type errors when using the local filesystem
- Fixed the event names to make them more readable
CollectionHasBeenCleared
,ConversionHasBeenCompleted
,MediaHasBeenAdded
- Added
CollectionClearedEvent
,ConversionCompleteEvent
,MediaAddedEvent
- Fixed an issue where a model would not regenerate manipulations after changing manipulations on media
- Fix bug when using a custom UrlGenerator class
- Added PathGenerator
This version contains a bug when using a custom UrlGenerator, please upgrade to 3.9.1
- Added ability to add media from a url
$media = $this->testModel->addMediaFromUrl($url)
clearMediaCollection
is now chainable
- Add mimetype when putting a file on a disk.
- Fix generation of local url's on non-unix hosts
- Added
setCustomProperty
-method on Media
- Added
withProperties
andwithAttributes
methods
- Bugfix:
HasMediaTrait::updateMedia
now also updates custom properties. It also updates the order column starting at 1 instead of 0 (behaves the same as the sortable trait)
- Added the ability to provide a default value fallback to the
getCustomProperty
method
- Added support for using a custom model
- Fixed a bug where conversions would always be performed on the default queue
- Added
hasCustomProperty
- andgetCustomProperty
-convenience-methods
- Allow 0 for
x
andy
parameters insetRectangle
- Removed dependency on spatie/eloquent-sortable
- Add index to morphable fields in migration which could improve performance.
- Remove unnecessary query when adding a file
- Fixes tests
- Add index to morphable fields in migration which could improve performance.
- NOTE: if you started out using this version, the tests will be broken. You should make sure
- model_id and model_type are nullable in your database.
- Added functions to get a path to a file in the media library
- Avoid creating empty conversions-directories
- Fixed a bug where chaining the conversion convenience methods would not give the right result
- Fixed a bug where getByModelType would return null
- Images and pdf with capitalized extensions will now be recognized
- Fixed: a rare issue where binding the command would fail
- Added: methods to rename the media object and file name before adding a file to the collection
- Fixed:
updateMedia
now returns updated media
- Replaced
addMedia
by a fluent interface - Added the ability to store custom properties on a media object
- Added support for multi-filesystem libraries
getMedia
will now return all media regardless of collectionhasMedia
will count all media regardless of collection- Uploads can now be processed directly when importing a file
- Renamed various classes to better reflect their functionality
- Added: hasMedia convenience method
- Fixed: when renaming file_name on a media object the orginal file gets renamed as well
- Fixed: use FQCN for facades instead of using the aliases
- Fixed an issue where too many queries were executed
- Added
hasMediaWithoutConversions
-interface
- Fixes a bug where a valid UrlGenerator would not be recognized
- Fixes a bug where an exception would be thrown when adding a pdf on systems without Imagick installed
- Fixes some bugs where files would not be removed when deleting a media-object
- Require correct version of spatie/string
- Bugfix: correct typehint in HasMediaTrait
- Added some convenience methods for some frequent used manipulations
- fix bug in regenerate command
This version is a complete rewrite. Though there are lots of breaking changes most features of v1 are retained. Notable new functions:
- filesystem abstraction: associated files can be stored on any filesystem Laravel 5's filesystem allows. So you could for instance store everything on S3.
- thumbnails can now be generated for pdf files
- registering conversions has been made more intuïtive
- it's now very easy to add custom logic to generate urls
- images can be manipulated per media object
- Bugfix: prevent migration from being published multiple times
- Small bugfixes
- Added:
Spatie\MediaLibrary\Models\Media::getHumanReadableFileSize()
- Bugfix: make compatible with Laravel 5.1
- Bugfix: Renamed the boot method of MediaLibraryModeltrait so it plays nice with the boot method of
- other traits and the base model.
- Feature: The
profile
parameter inMedia::getUrl()
andMediaLibraryModelTrait::getUrl()
is now optional. On null, it retrieves the original file's url. - Bugfix:
Media::getOriginalUrl()
now returns the correct url.
- Bugfix: Removed unnecessary static methods from
MediaLibraryModelInterface
- Added a method to remove all media in a collection.
- Fixed a bug where not all image profiles would be processed
- Added
getImageProfileProperties()
to interface
- Create the media library directory if it does not exist
- Files without extensions are now allowed
- Added check to make sure the file that must be added to the media library exists
- Added option to specify the name of the queue that should be used to create image manipulations
- initial release