Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Medialibrary Laravel Package

spatie/laravel-medialibrary

Attach and manage files on Eloquent models with an easy API. Handle uploads, store media on any Laravel filesystem (local, S3, etc.), organize collections, and generate image/PDF conversions and manipulations with built-in support for responsive images.

View on GitHub
Deep Wiki
Context7
11.22.1

What's Changed

  • Removed stray 3MB speaking-page.png from the repo root, accidentally committed in a previous "wip" commit. Reduces the size of the package archive downloaded by Composer.

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.22.0...11.22.1

11.22.0

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.21.2...11.22.0

11.21.2

What's Changed

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.21.1...11.21.2

11.21.1

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.21.0...11.21.1

11.21.0

What's Changed

  • Add Laravel 13 support
11.20.0

What's new

  • Add getAvailableTemporaryUrl method (#3919)

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.19.0...11.20.0

11.18.2

What's Changed

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.18.1...11.18.2

11.18.1

What's Changed

  • Revert breaking interface change on registerAllMediaConversions() — the ?Media $media = null parameter that was added to the HasMedia interface in v11.18.0 has been removed, as it broke userland code that overrides the method without the parameter. The PHPStan error is now handled via the baseline instead. Fixes #3915.
11.18.0

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.17.10...11.18.0

11.17.10

What's Changed

This new method is similar to getAvailablePath() but calls getPathRelativeToRoot() instead of getPath(). This is useful when working with both local and cloud filesystem drivers, as getPath() returns an absolute path that cannot be passed to Storage::get().

Example usage:

Storage::disk($media->disk)->get(
    $media->getAvailablePathRelativeToRoot(['conversion'])
)

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.17.9...11.17.10

11.17.9

What's Changed

This fix resolves an issue where getStream() was forcing directory-style paths, making it impossible to use custom PathGenerators with non-directory paths (like prefixes). The fix allows developers to use filename prefixes such as {basePath}-{fileName}.

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.17.8...11.17.9

11.17.7
11.17.2
11.17.1
11.17.0

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.14.0...11.17.0

11.16.0

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.15.0...11.16.0

11.15.0

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.14.0...11.15.0

11.14.0

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.13.0...11.14.0

11.13.0
11.12.8

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.12.7...11.12.8

11.12.7
11.12.6

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.12.5...11.12.6

11.12.2

What's Changed

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.12.1...11.12.2

11.12.1

What's Changed

Full Changelog: https://github.com/spatie/laravel-medialibrary/compare/11.12.0...11.12.1

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai