NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #4158 most downloaded on Packagist
Symfony SonataMediaBundle
Last release 9 months ago
19 Dec 2025
Release timing varies
gaps range from 8 days to 7 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
117 releases · first in 2012
[ #2507 ] Symfony 8 support ( @VincentLanglet )
One column per quarter.
[ #2497 ] Support for doctrine/persistence 4.0. ( @jordisala1991 )
doctrine/persistence 4.0. (@jordisala1991)[ #2492 ] Basic support for using Azure Blob Storage as filesystem ( @jorrit )
[ #2476 ] Use BIGINT for Media::$contentSize ( @OskarStark )
[ #2466 ] Slovak translations ( @fbuchlak )
[ #2460 ] Fixed the callback transformers of media/gallery block services. ( @lemorragia )
[ #2455 ] Symfony 7.1 deprecation about Symfony\Component\HttpKernel\DependencyInjection\Extension usage ( @VincentLanglet )
Symfony\Component\HttpKernel\DependencyInjection\Extension usage (@VincentLanglet)FileThumbnail service (@VincentLanglet)[ #2448 ] Compatibility with ORM 3 ( @dmaicher )
[ #2444 ] Throw TransformationFailedException when reverse transformation fails in ProviderDataTransformer. ( @jorrit )
[#2442] Resolve "Admin has no subject" error from the getMediaBuilder (@VincentLanglet)
[#2430] Support for packages from symfony/* 7.x (@phansys)
[#2423] Usage of deprecated renderWithExtraParams method (@VincentLanglet)
[#2414] Improve French translation (@antoinemineau)
[#2411] Deprecation of Event Subscribers on Symfony 6.3. The MediaEventSubscriber now uses Event Listeners (@Hanmac)
[#2402] Resole "Admin has no subject" error from the getMediaBuilder (@Elkawaie)
[#2405] * round() can return 0 which is invalid for image resizing. (@silasjoisten)
round() can return 0 which is invalid for image resizing. (@silasjoisten)[#2396] Support for SonataBlockBundle 5.0 (@jordisala1991)
[#2393] Support for sonata-project/form-extensions 2.0 (@jordisala1991)
sonata-project/form-extensions 2.0 (@jordisala1991)[#2384] sonata.media.metadata.amazon is removed from the container if the configuration for S3 is not enabled (@jordisala1991)
sonata.media.metadata.amazon is removed from the container if the configuration for S3 is not enabled (@jordisala1991)[#2382] Support for Symfony 4.4 (@jordisala1991)
[#2374] Deprecation for boolean field on MongoDB ODM (@jordisala1991)
gallery_item translation key (english) (@gremo)[#2360] Added support for knplabs/gaufrette ^0.11. (@jordisala1991)
knplabs/gaufrette ^0.11. (@jordisala1991)doctrine/persistence ^2.0. (@jordisala1991)[#2358] Added new configuration parameter sonata_media.filesystem.s3.async (@ozahorulia)
sonata_media.filesystem.s3.async (@ozahorulia)[#2333] Allow CloudFront to compress files passing ContentLength in the headers. (@dmitryuk)
[#2326] Support for sonata-project/doctrine-extensions ^2 (@VincentLanglet)
[#2317] Add support for doctrine/persistence ^3.0. (@jordisala1991)
doctrine/persistence ^3.0. (@jordisala1991)[#2314] Avoid deprecations for console commands on Symfony 6.1. (@jordisala1991)
MediaType form type will now allow you to pass your own data_class instead of relying on the provided $this->class. (@esserj)[#2310] Bump imagine/imagine to ^1.3. (@jordisala1991)
[#2299] Check for allowed extensions and mimetypes are case insensitive. (@VincentLanglet)
[#2291] Translate providerName filter choices (@jordisala1991)
[#2289] Deprecations introduces by SonataAdminBundle 4.9.0 (@VincentLanglet)
[#2285] Fixed auto detect extension if the file does not provide it, for example when dealing with temporal filenames. (@jordisala1991)
[#2280] Fix root category check (@core23)
[#2275] Added support for psr/log ^3.0 (@jordisala1991)
psr/log ^3.0 (@jordisala1991)symfony/translation-contracts ^3.0. (@jordisala1991)[#2273] Fixed admin media translations (@jordisala1991)
[#2222] Added support for Symfony 6. (@jordisala1991)
MediaInterface::setGalleryItems() and GalleryInterface::setGalleryItems(). (@phansys)CRUDController registration for GalleryItemAdmin. (@jordisala1991)Nothing published for this version
[#2219] Fix block service registration (@core23)
[#2204] Make "sonata-project/admin-bundle" dependency optional for blocks (@core23)
[#2285] Fixed auto detect extension if the file does not provide it, for example when dealing with temporal filenames. (@jordisala1991)
[#2271] ImageProviderInterface so ImageProvider can be replaced without extending the class. (@jorrit)
[#2245] src/Resources/views/MediaAdmin/inner_row_media.html.twig (@cezar77)
[#2164] Added property type hints (@jordisala1991)
cdnIsFlushable property on Media entity is non nullable now. (@jordisala1991)FeatureMediaBlockService to not extend MediaBlockService. (@jordisala1991)MediaBlockService to be final. (@jordisala1991)[#2194] Final annotation to methods that will be final on 4.x (@jordisala1991)
master and slave for filesystem and cdn configuration, use primary and secondary instead (@jordisala1991)[#2175] Fixed calling media_thumbnail instead of sonata_thumbnail (@jordisala1991)
media_thumbnail instead of sonata_thumbnail (@jordisala1991)[#2158] Deprecated passing null value for the media parameter to twig functions (@jordisala1991)
MigrateToJsonTypeCommand (@jordisala1991)ServiceProviderDataTransformer (@jordisala1991)CategoryManagerInterface::getRootCategory() to tell it can return null (@phansys)Connection::fetchAll() when using doctrine/dbal:3.x (@phansys)[#2152] Fixed safe output of sonata_media and sonata_thumbnail functions (@jordisala1991)
sonata_media and sonata_thumbnail functions (@jordisala1991)sonata_media and sonata_thumbnail functions with null media (@jordisala1991)[#2149] Fixed MediaRuntime definition (@jordisala1991)
[#2145] Deprecated using twig tags to load media, thumbnails or paths (@jordisala1991)
MediaController downloadAction. (@jordisala1991)downloadAction() (@jordisala1991)[#2101] Fixed missing upload after submit of MediaType field (@jordisala1991)
[#2072] Direct injection of SessionInterface on SessionDownloadStrategy, we use RequestStack to avoid deprecations (@jordisala1991)
@method annotation in order to respect BC (@phansys)Sonata\MediaBundle\Filesystem\Replicate::createStream() (@phansys)Gaufrette\Adapter\StreamFactory in Sonata\MediaBundle\Filesystem\Replicate (@phansys)ResizableThumbnailInterface (@jordisala1991)master branch (@phansys)null from BaseMediaEventSubscriber::getMedia() if the related media does not implement MediaInterface (@phansys)Replicate::write() (@phansys)Sonata\MediaBundle\Filesystem\Replicate::createFileStream() in favor of createStream() (@phansys)SessionInterface on SessionDownloadStrategy, we use RequestStack to avoid deprecations (@jordisala1991)getContext() from Pool without first having that context (@jordisala1991)BaseMediaEventSubscriber::getProvider() (@phansys)Buzz\Browser::sendRequest() with "kriswallsmith/buzz" <0.16 (@phansys)Gaufrette\Adapter\FileFactory interface at Sonata\MediaBundle\Filesystem\Replicate (@phansys)Adapter::createFileStream() (@phansys)Adapter::listDirectory() (@phansys)[#1974] Addded support for nelmio/api-doc-bundle >= 3.9 (@jordisala1991)
nelmio/api-doc-bundle >= 3.9 (@jordisala1991)MediaManager implements MediaManagerInterface (@mrcmorales)[#1955] CDN invalidation from CloudFront when submitting paths that were previously invalidated. (@phansys)
[#1953] Remove superfluous deprecation message when translator class is registered that implements both the legacy and new TranslatorInterface (@jorri…
[#1923] Added support for symfony/translation-contracts ^1.1 || ^2.0 (@wbloszyk)
symfony/translation-contracts ^1.1 || ^2.0 (@wbloszyk)RolesDownloadStrategy::__construct() (@phansys)SessionDownloadStrategy::__construct() (@phansys)CropResizer (@core23)Replicate::$master and Replicate::$slave, in favor of Replicate::$primary and Replicate::$secondary (@dps910)[#1907] Support sonata-project/datagrid-bundle:^3.0 (@Yozhef)
[#1866] Guessing the content type of a file stored on Amazon S3 (@jorrit)
[#1815] Deprecated method signature for CloudFront::__construct(); (@phansys)
BaseProvider::flushCdn() in order to
resolve previous flushing processes. (@phansys)psr/http-client in BaseVideoProvider
(@core23)gallery translation key into Gallery (@gremo)sonata.media.admin.media.manager
is now an alias of sonata.admin.manager.orm or
sonata.admin.manager.doctrine_mongodb instead of a separate service
implemented by the same class. (@jorrit)CloudFront::__construct();
(@phansys)CloudFront::setClient() and
CloudFront::getStatusList(); (@phansys)false or any value not present in the
CDNInterface::STATUS_* constants from CloudFront::getFlushStatus().
(@phansys)sonata.media.adapter.filesystem.mogilefs and
sonata.media.filesystem.mogilefs services;
(@phansys)sonata_media.filesystem.mogilefs configuration node.
(@phansys)Guzzle and Buzz usage in BaseVideoProvider
(@core23)sonata_media.filesystem.s3.sdk_version configuration node.
(@phansys)CloudFrontClient::createInvalidation() and
CloudFrontClient::getInvalidation() methods when using
"aws/aws-sdk-php:^3.0". (@phansys)Media::$cdnIsFlushable) in
BaseProvider::flushCdn() and UpdateCdnStatusCommand.
(@phansys)ImageUploadDimensionValidator
(@tambait)*.orm.xml mapping files.
(@jorrit)Sonata\DoctrineORMAdminBundle\Model\ModelManager and
Sonata\DoctrineMongoDBAdminBundle\Model\ModelManager.
(@jorrit)AwsClient::factory() when using
aws/aws-sdk-php:^3.0; (@phansys)sonata_media.filesystem.s3.region,
sonata_media.filesystem.s3.version and sonata_media.filesystem.s3.endpoint
configuration nodes when using aws/aws-sdk-php:^2.0.
(@phansys)[#1786] Added support for symfony/filesystem:^5.1 (@phansys)
Your coding agent can read these notes before it upgrades. Set up the MCP server →