All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix hash collision detection for images where the first megabyte is the same (huge thanks to @schniper)
- Updated packages
NB! Existing users should set config option 'check_legacy_hashes' to true if they want to keep checking for collisions with media uploaded prior to this update.
- Fix crash related to updating data (title, alt) fields
- Fix file extension not changing after mime type change during optimization
- Fix config not optimizable
- Fixes to TIFF optimizing
- Added
media_optimizers
config option
- Added new
shouldSave
callback to allow user to run last minute checks on media before it enters the pipeline
- Upgraded spatie/image from version 2 to 3
- Removed Manipulations API's from
MediaManipulator
and replaced them with direct\Spatie\Image\Image
manipulations - Removed
image_optimizers
config option and replaced it with MediaHub tool->withOptimizerChain()
Manipulations::FIT_MAX
has been replaced with\Spatie\Image\Enums\Fit::Max
- Reverted (spatie/image: 3 => 2)
- Added new "Replace in-place" functionality
- Fixed encode/decode bugs with MediaCast (thanks to @nullthoughts)
- Bumped some minimum required versions (spatie/image: 2 => 3, laravel/nova: => 4.0 => 4.29)
- Fixed defaultCollectionName not working
- Updated packages
- Dispatch optimize job when file with the same hash was already found just in case
- Fixed issues with duplicate API calls to Media Hub API routes when rendering form fields
- Improved choose media modal loading order and added loader
- Improved latest migration to handle errors in case the user has already added the same index(es) in their own project
- Immensely improve Media Hub performance by adding missing indexes to some database columns
NB! Requires running migrations.
- Fixed missing Nova button styles that Nova removed in 4.28.x
- Updated packages
- Fixed crashes when media hub tries to optimize non-existant files
- Added new MediaManipulator class that allows better customization of image optimization/conversions
- Added debounce to search field to reduce queries
- Added loader to search
- Made collections case-insensitive
- Fixed some UI problems with latest Nova
- Removed Media from global search
- Fixed styling issues with latest Nova versions
- Fixed MediaCast not working in Nova views
- Fixed missing translations (thanks to @RibesAlexandre)
- Allow moving media items between collections in bulk (thanks to @ndrez-outl1ne)
- Updated packages
- Added missing translation keys (thanks to @mrleblanc101)
- Tons of UI changes to better fit Nova 4 (thanks to @mrleblanc101)
- Added custom MediaCast casting option (thanks to @nullthoughts)
- Fixed DropZone not working on latest version of Nova
- Updated Italian translations (thanks to @trippo)
- Fix post-processing cleanup not deleting temporary copies
- Fixed issue where all the conversions were performed on the same local file cumulatively
- Improved collections endpoints (thanks to @robindrost)
- Italian translations fixes (thanks to @trippo)
- Added
getUrl(forConversion:)
helper function to Media - Allow original image optimizations to be disabled on a per-collection basis
- Fixed some cases where the original file was not deleted from /tmp folder
- Fixed unexpected InvalidManipulationError when no format was specified
NB! Breaking change - file names are no longer automagically encoded. This should fix default adapters, but might cause issues with third-party adapters or if you use Thumbor.
- Added
deleteOriginal(true/false)
option to FileHandler - Added
format
option to conversions config
- Fixed file naming issue with remote files (thanks to @michalsrodek)
- File names are no longer double encoded with default drivers (thanks to @SteJaySulli)
- Changed search case insensitivity with LOWER() (instead of UPPER())
- Improved UploadedFile error handling and displaying
- Fixed "system" dark mode setting not always setting correct colour
- Improved media hub view responsiveness
- Updated packages
- Fixed searching alt and title values when using postgres database.
- Added drag-and-drop support to MediaHub tool view
- Added FileValidator support (see new config option
file_validator
) - Added mime type validation (thanks to @murdercode)
- Improved toasts on media upload
- Updated packages
- Allow multiple files quick upload (thanks to @ndrez-outl1ne)
- Added
withCustomFields()
to MediaHub Tool which allows adding custom data fields for media items - Added quick upload to "choose media" modal (thanks to @ndrez-outl1ne)
- Added media ID to MediaItem component (thanks to @murdercode)
- Added Italian translations (thanks to @murdercode)
- Fetch more images per page (now 72 per page, instead of 18) (thanks to @ndrez-outl1ne)
- Choose media modal is now full-screen and the media items list is scrollable (thanks to @ndrez-outl1ne)
- Selected media items now scroll horizontally instead of wrapping (thanks to @ndrez-outl1ne)
- Allow searching items by their data fields (thanks to @murdercode)
- Clicking on a MediaItem component's file name now opens view/edit modal for quick access
- Misc UI fixes (reduced media items size in some places)
- Updated packages
- Added option to configure image conversion driver
- Added hideFromMenu() to MediaHub Tool
- Report file upload errors via Laravel's report() helper
- Fixed sink not working
- Refactored RemoteFile to use Http instead of
file_get_contents
to improve compatibility with different servers and redirects - Refactored RemoteFile disk to disk copying to use streams
- Fixed file names being saved as url encoded
- Fixed media url returning encoded
/
inside paths.
- Fixed file name sanitizer not handling extensionless names
- Fixed default queue handling
- Improved filtering functionality
- Changed english translations
- FileHandler now encodes file names.
- This is backwards compatible, since we will avoid double encoding.
- New files will now be urlencoded using php's
urlencode
OrderBy
andSearch
filters
- Fixes wrong modal width issue.
- Version
4.14.0
of laravel/nova introduced a new default width for modals that broke our modals.
- Version
- Fixed compatibility with nova-translatable
- Append array values to formData with index
- Fixes an issue when using alongside other packages that don't respect
data[]
key, but instead wantdata[0...n]
- Fixes an issue when using alongside other packages that don't respect
- Fixed issue with "Move to collection" confirmation modal getting stuck on loading state
- Improved deduplication handling in the UI
- Updated packages
- Made optimize and convert jobs into a single job to decease costs and increase performance when using cloud storage
- Added DatePathMaker as an optional configuration option
- Added file deduplication via original file hash
- Added file name to MediaItem component
- Fixed cloud storage support for file processing
- Fixed cloud storage directory count calculation
- Filesystem refactoring and misc improvements
- Fixed missing
formatForNova
data - Fixed data fields UI in media view modal
- Allow FileHelpers::getFileHash() to read file from specified disk
- Fixed Media model incorrect references (thanks to @vodnicearv)
- Mark selected media items with a checkmark instead of hiding them
- Fixed overriding of toArray breaking Nova UI when overriding configurable media model
- Fixed inertia navigation crashing after using a context menu
- Updated packages
- Fixed constructor not accepting a single argument
- Added
storeMediaFromBase64()
function to MediaHub - Added
withModelData()
function to FileHandler
- Fixed
nova-translatable
having a fixed version
- Fixed MediaItem long file name overflow
- Fixed context menu not working as expected when having multiple MediaHub fields on the same resource
- Fixed context menu positioning on scrollable pages
- Fixed path generation (thanks to @godkinmo)
- Fixed hasValue and fill() functions not working with empty values (thanks to @godkinmo)
- Fixed non-casted array attributes not showing selected media after saving
- Selected media count is now shown in the choose media modal
- Fixed conversions and empty directories not being deleted after deleting media
- Fixed file name overflow in the view media modal
- Updated packages
Initial release.