media.php routing config ([@dmaicher](https://github.com/dmaicher))media.xml routing config ([@dmaicher](https://github.com/dmaicher))doctrine/persistence 4.0. ([@jordisala1991](https://github.com/jordisala1991))Symfony\Component\HttpKernel\DependencyInjection\Extension usage ([@VincentLanglet](https://github.com/VincentLanglet))FileThumbnail service ([@VincentLanglet](https://github.com/VincentLanglet))symfony/* 7.x ([@phansys](https://github.com/phansys))picture element twig options are merged, making them work same way as srcset ([@haivala](https://github.com/haivala))renderWithExtraParams method ([@VincentLanglet](https://github.com/VincentLanglet))round() can return 0 which is invalid for image resizing. ([@silasjoisten](https://github.com/silasjoisten))sonata-project/form-extensions 2.0 ([@jordisala1991](https://github.com/jordisala1991))sonata.media.metadata.amazon is removed from the container if the configuration for S3 is not enabled ([@jordisala1991](https://github.com/jordisala1991))gallery_item translation key (english) ([@gremo](https://github.com/gremo))knplabs/gaufrette ^0.11. ([@jordisala1991](https://github.com/jordisala1991))doctrine/persistence ^2.0. ([@jordisala1991](https://github.com/jordisala1991))sonata_media.filesystem.s3.async ([@ozahorulia](https://github.com/ozahorulia))doctrine/persistence ^3.0. ([@jordisala1991](https://github.com/jordisala1991))MediaType form type will now allow you to pass your own data_class instead of relying on the provided $this->class. ([@esserj](https://github.com/esserj))imagine/imagine to ^1.3. ([@jordisala1991](https://github.com/jordisala1991))psr/log ^3.0 ([@jordisala1991](https://github.com/jordisala1991))symfony/translation-contracts ^3.0. ([@jordisala1991](https://github.com/jordisala1991))MediaInterface::setGalleryItems() and GalleryInterface::setGalleryItems(). ([@phansys](https://github.com/phansys))CRUDController registration for GalleryItemAdmin. ([@jordisala1991](https://github.com/jordisala1991))srcset tag by giving it an array of format names.translationBundle cannot be nullsonata:media:remove-thumbnails command when running this command without arguments.'onDelete' => 'CASCADE' for mapping from GalleryHasMedia to Media and GalleryaddClassesToCompilejms/serializer-bundle ^2.0Psr\Log\LoggerInterface in order to log any exception that could arise from $provider->transform() to get form errors when uploads are too big!.xml.skeleton files of configMediaExtension classknplabs/gaufrette v0.3.0providers column by providerName on clean command^3.2AddProviderCompilerPassgetRequest method on controller for BC with Symfony 2.3+MediaAdminControllerBaseAdmin incorrectly retrieved providerNameAdmin/BaseMediaAdmin.phpMediaAdmincascade_validation from GalleryAdminImageProviderInterface so ImageProvider can be replaced without extending the class. ([@jorrit](https://github.com/jorrit))src/Resources/views/MediaAdmin/inner_row_media.html.twig ([@cezar77](https://github.com/cezar77))cdnIsFlushable property on Media entity is non nullable now. ([@jordisala1991](https://github.com/jordisala1991))FeatureMediaBlockService to not extend MediaBlockService. ([@jordisala1991](https://github.com/jordisala1991))MediaBlockService to be final. ([@jordisala1991](https://github.com/jordisala1991))master and slave for filesystem and cdn configuration, use primary and secondary instead ([@jordisala1991](https://github.com/jordisala1991))media_thumbnail instead of sonata_thumbnail ([@jordisala1991](https://github.com/jordisala1991))MigrateToJsonTypeCommand ([@jordisala1991](https://github.com/jordisala1991))ServiceProviderDataTransformer ([@jordisala1991](https://github.com/jordisala1991))CategoryManagerInterface::getRootCategory() to tell it can return null ([@phansys](https://github.com/phansys))Connection::fetchAll() when using doctrine/dbal:3.x ([@phansys](https://github.com/phansys))doctrine/dbal < 2.11 ([@phansys](https://github.com/phansys))sonata_media and sonata_thumbnail functions ([@jordisala1991](https://github.com/jordisala1991))sonata_media and sonata_thumbnail functions with null media ([@jordisala1991](https://github.com/jordisala1991))MediaController downloadAction. ([@jordisala1991](https://github.com/jordisala1991))downloadAction() ([@jordisala1991](https://github.com/jordisala1991))[@method](https://github.com/method) annotation in order to respect BC ([@phansys](https://github.com/phansys))Sonata\MediaBundle\Filesystem\Replicate::createStream() ([@phansys](https://github.com/phansys))Gaufrette\Adapter\StreamFactory in Sonata\MediaBundle\Filesystem\Replicate ([@phansys](https://github.com/phansys))ResizableThumbnailInterface ([@jordisala1991](https://github.com/jordisala1991))master branch ([@phansys](https://github.com/phansys))null from BaseMediaEventSubscriber::getMedia() if the related media does not implement MediaInterface ([@phansys](https://github.com/phansys))Replicate::write() ([@phansys](https://github.com/phansys))Sonata\MediaBundle\Filesystem\Replicate::createFileStream() in favor of createStream() ([@phansys](https://github.com/phansys))SessionInterface on SessionDownloadStrategy, we use RequestStack to avoid deprecations ([@jordisala1991](https://github.com/jordisala1991))getContext() from Pool without first having that context ([@jordisala1991](https://github.com/jordisala1991))BaseMediaEventSubscriber::getProvider() ([@phansys](https://github.com/phansys))Buzz\Browser::sendRequest() with "kriswallsmith/buzz" <0.16 ([@phansys](https://github.com/phansys))Gaufrette\Adapter\FileFactory interface at Sonata\MediaBundle\Filesystem\Replicate ([@phansys](https://github.com/phansys))Adapter::createFileStream() ([@phansys](https://github.com/phansys))Adapter::listDirectory() ([@phansys](https://github.com/phansys))nelmio/api-doc-bundle >= 3.9 ([@jordisala1991](https://github.com/jordisala1991))MediaManager implements MediaManagerInterface ([@mrcmorales](https://github.com/mrcmorales))sprintf() in flushPaths() methods at CloudFront and CloudFrontVersion3. ([@phansys](https://github.com/phansys))TranslatorInterface ([@jorrit](https://github.com/jorrit))symfony/translation-contracts ^1.1 || ^2.0 ([@wbloszyk](https://github.com/wbloszyk))RolesDownloadStrategy::__construct() ([@phansys](https://github.com/phansys))SessionDownloadStrategy::__construct() ([@phansys](https://github.com/phansys))CropResizer ([@core23](https://github.com/core23))Replicate::$master and Replicate::$slave, in favor of Replicate::$primary and Replicate::$secondary ([@dps910](https://github.com/dps910))aws/aws-sdk-php < 3.0 ([@wbloszyk](https://github.com/wbloszyk))sonata-project/datagrid-bundle:^3.0 ([@Yozhef](https://github.com/Yozhef))addDownloadSecurityprovider and context options are now required$request instead of $this->get('request')SonataMediaBundle.it.xliff fixed "gallery" and "Gallery" translations (case) ([@gremo](https://github.com/gremo))BaseProvider::flushCdn() in order to
resolve previous flushing processes. ([@phansys](https://github.com/phansys))psr/http-client in BaseVideoProvider
([@core23](https://github.com/core23))gallery translation key into Gallery ([@gremo](https://github.com/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](https://github.com/jorrit))CloudFront::__construct();
([@phansys](https://github.com/phansys))CloudFront::setClient() and
CloudFront::getStatusList(); ([@phansys](https://github.com/phansys))false or any value not present in the
CDNInterface::STATUS_* constants from CloudFront::getFlushStatus().
([@phansys](https://github.com/phansys))sonata.media.adapter.filesystem.mogilefs and
sonata.media.filesystem.mogilefs services;
([@phansys](https://github.com/phansys))sonata_media.filesystem.mogilefs configuration node.
([@phansys](https://github.com/phansys))Guzzle and Buzz usage in BaseVideoProvider
([@core23](https://github.com/core23))sonata_media.filesystem.s3.sdk_version configuration node.
([@phansys](https://github.com/phansys))CloudFrontClient::createInvalidation() and
CloudFrontClient::getInvalidation() methods when using
"aws/aws-sdk-php:^3.0". ([@phansys](https://github.com/phansys))Media::$cdnIsFlushable) in
BaseProvider::flushCdn() and UpdateCdnStatusCommand.
([@phansys](https://github.com/phansys))ImageUploadDimensionValidator
([@tambait](https://github.com/tambait))*.orm.xml mapping files.
([@jorrit](https://github.com/jorrit))Sonata\DoctrineORMAdminBundle\Model\ModelManager and
Sonata\DoctrineMongoDBAdminBundle\Model\ModelManager.
([@jorrit](https://github.com/jorrit))AwsClient::factory() when using
aws/aws-sdk-php:^3.0; ([@phansys](https://github.com/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](https://github.com/phansys))doctrine/mongodb-odm <2.0
([@franmomu](https://github.com/franmomu))Sonata\MediaBundle\Controller\Api\GalleryController for
sonata.media.controller.api.gallery service
([@wbloszyk](https://github.com/wbloszyk))Sonata\MediaBundle\Controller\Api\MediaController for
sonata.media.controller.api.media service
([@wbloszyk](https://github.com/wbloszyk))friendsofsymfony/rest-bundle:^3.0
([@wbloszyk](https://github.com/wbloszyk))image_too_small error message
([@romainjanvier](https://github.com/romainjanvier))twig/string-extra dependency.
([@franmomu](https://github.com/franmomu))MediaManagerInterface to NoDriverManager
([@core23](https://github.com/core23))rest routing type in favor for xml
([@wbloszyk](https://github.com/wbloszyk))ContainerAwareCommand to Command and
inject services instead container ([@wbloszyk](https://github.com/wbloszyk))truncate filter with u filter.
([@franmomu](https://github.com/franmomu))Class could not be determined for Controller identified Error
([@wbloszyk](https://github.com/wbloszyk))symfony/mime:^5.0maxFileSize as a parameter in the validation messageCleanMediaCommandbin/console lint:container command and pass an object of class
NoDriverManager of the expected GalleryManagerInterface interfaceSonata\MediaBundle\Command\DefaultGenerator into Sonata\MediaBundle\Command\IdGeneratorSonata\MediaBundle\Command\ODMGenerator into Sonata\MediaBundle\Command\UuidGeneratorSonata\MediaBundle\Command\PHPCRGenerator into Sonata\MediaBundle\Command\PathGeneratorsonata.media.metadata.amazon service.^1.0 supportSimpleResizer and SquareResizer resizers now use ImagineCompatibleResizerTraitaddResizer method call on the thumbnail service only if the method exists.AmazonMetadataBuilderMediaInterface::setCdnFlushIdentifierbreadcrumb as default context for seo blocks{% spaceless %} tag, which is deprecated as of Twig 1.38
with {% apply spaceless %} filter;{% for .. if .. %}, which is deprecated as of Twig 2.10
with filter filter'.\Twig_ classes without namespace.list_image.html.twig instead of using hardcoded "edit".Sonata\MediaBundle\Admin\GalleryAdminSonata\MediaBundle\Admin\GalleryHasMediaAdminSonata\MediaBundle\Admin\ODM\MediaAdminSonata\MediaBundle\Admin\ORM\MediaAdminSonata\MediaBundle\Admin\PHPCR\GalleryAdminSonata\MediaBundle\Admin\PHPCR\MediaAdminSonata\MediaBundle\Block\Breadcrumb\GalleryIndexBreadcrumbBlockServiceSonata\MediaBundle\Block\Breadcrumb\GalleryViewBreadcrumbBlockServiceSonata\MediaBundle\Block\Breadcrumb\MediaViewBreadcrumbBlockServiceSonata\MediaBundle\Block\FeatureMediaBlockServiceSonata\MediaBundle\Block\GalleryBlockServiceSonata\MediaBundle\Block\GalleryListBlockServiceSonata\MediaBundle\Block\MediaBlockServiceSonata\MediaBundle\CDN\CloudFrontSonata\MediaBundle\CDN\FallbackSonata\MediaBundle\CDN\PantherPortalSonata\MediaBundle\CDN\ServerSonata\MediaBundle\Command\AddMassMediaCommandSonata\MediaBundle\Command\AddMediaCommandSonata\MediaBundle\Command\CleanMediaCommandSonata\MediaBundle\Command\FixMediaContextCommandSonata\MediaBundle\Command\MigrateToJsonTypeCommandSonata\MediaBundle\Command\RefreshMetadataCommandSonata\MediaBundle\Command\RemoveThumbsCommandSonata\MediaBundle\Command\SyncThumbsCommandSonata\MediaBundle\Command\UpdateCdnStatusCommandSonata\MediaBundle\Consumer\CreateThumbnailConsumerSonata\MediaBundle\Controller\Api\GalleryControllerSonata\MediaBundle\Controller\Api\MediaControllerSonata\MediaBundle\Controller\GalleryAdminControllerSonata\MediaBundle\Controller\GalleryControllerSonata\MediaBundle\Controller\MediaAdminControllerSonata\MediaBundle\Controller\MediaControllerSonata\MediaBundle\DependencyInjection\Compiler\AddProviderCompilerPassSonata\MediaBundle\DependencyInjection\Compiler\GlobalVariablesCompilerPassSonata\MediaBundle\DependencyInjection\Compiler\SecurityContextCompilerPassSonata\MediaBundle\DependencyInjection\Compiler\ThumbnailCompilerPassSonata\MediaBundle\DependencyInjection\ConfigurationSonata\MediaBundle\DependencyInjection\SonataMediaExtensionSonata\MediaBundle\Document\GalleryManagerSonata\MediaBundle\Document\MediaManagerSonata\MediaBundle\Entity\GalleryManagerSonata\MediaBundle\Entity\MediaManagerSonata\MediaBundle\Extra\ApiMediaFileSonata\MediaBundle\Extra\PixlrSonata\MediaBundle\Filesystem\LocalSonata\MediaBundle\Filesystem\ReplicateSonata\MediaBundle\Form\DataTransformer\ProviderDataTransformerSonata\MediaBundle\Form\DataTransformer\ServiceProviderDataTransformerSonata\MediaBundle\Form\Type\ApiDoctrineMediaTypeSonata\MediaBundle\Form\Type\ApiGalleryHasMediaTypeSonata\MediaBundle\Form\Type\ApiGalleryTypeSonata\MediaBundle\Form\Type\ApiMediaTypeSonata\MediaBundle\Form\Type\MediaTypeSonata\MediaBundle\Generator\DefaultGeneratorSonata\MediaBundle\Generator\ODMGeneratorSonata\MediaBundle\Generator\PHPCRGeneratorSonata\MediaBundle\Listener\ODM\MediaEventSubscriberSonata\MediaBundle\Listener\ORM\MediaEventSubscriberSonata\MediaBundle\Listener\PHPCR\MediaEventSubscriberSonata\MediaBundle\Metadata\AmazonMetadataBuilderSonata\MediaBundle\Metadata\NoopMetadataBuilderSonata\MediaBundle\Metadata\ProxyMetadataBuilderSonata\MediaBundle\PHPCR\BaseGalleryHasMediaRepositorySonata\MediaBundle\PHPCR\BaseGalleryRepositorySonata\MediaBundle\PHPCR\BaseMediaRepositorySonata\MediaBundle\PHPCR\GalleryManagerSonata\MediaBundle\PHPCR\MediaManagerSonata\MediaBundle\Provider\DailyMotionProviderSonata\MediaBundle\Provider\FileProviderSonata\MediaBundle\Provider\ImageProviderSonata\MediaBundle\Provider\PoolSonata\MediaBundle\Provider\VimeoProviderSonata\MediaBundle\Provider\YouTubeProviderSonata\MediaBundle\Resizer\SimpleResizerSonata\MediaBundle\Resizer\SquareResizerSonata\MediaBundle\Security\ForbiddenDownloadStrategySonata\MediaBundle\Security\PublicDownloadStrategySonata\MediaBundle\Security\RolesDownloadStrategySonata\MediaBundle\Security\SessionDownloadStrategySonata\MediaBundle\Serializer\GallerySerializerHandlerSonata\MediaBundle\Serializer\MediaSerializerHandlerSonata\MediaBundle\SonataMediaBundleSonata\MediaBundle\Thumbnail\ConsumerThumbnailSonata\MediaBundle\Thumbnail\FormatThumbnailSonata\MediaBundle\Thumbnail\LiipImagineThumbnailSonata\MediaBundle\Twig\Extension\FormatterMediaExtensionSonata\MediaBundle\Twig\Extension\MediaExtensionSonata\MediaBundle\Twig\GlobalVariablesSonata\MediaBundle\Twig\Node\MediaNodeSonata\MediaBundle\Twig\Node\PathNodeSonata\MediaBundle\Twig\Node\ThumbnailNodeSonata\MediaBundle\Twig\TokenParser\MediaTokenParserSonata\MediaBundle\Twig\TokenParser\PathTokenParserSonata\MediaBundle\Twig\TokenParser\ThumbnailTokenParserSonata\MediaBundle\Validator\Constraints\ValidMediaFormatSonata\MediaBundle\Validator\FormatValidator_controller attribute for routes which were using deprecated syntax.jms/serializer-bundle:^3.0resizer_options.$media->getBinaryContent()->getClientSize() return nullgetReferenceUrl method for all video providersknplabs/gaufrette ^0.2Pool::getDownloadSecuritydownloadSecurity in Resources/views/MediaAdmin/edit.html.twig template.CategoryManager::find()setFormTheme when viewing the gallery listSimpleResizer::computeBox() will return the size of the resulting image
instead of just the scaled image before the cropping step.nullsetFormTheme when viewing the media listTypeError on media upload when validation fails for another fieldSonata\MediaBundle\Provider\Metadata classMediaProviderInterface::getProviderMetadata return type in PHPDocSonata\CoreBundle\Model\BaseEntityManagerMediaManagerInterfaceFormatterMediaExtensionsonata-project/formatter-bundle 4 from being installedallowedExtensions and allowedMimeTypes propertiessonata.media.manager.category publicrender instead of renderWithExtraParams()db_driver configuration parameter is optional now with no_driver default valuesonata:media:sync-thumbnails command when running this command with PHPCR or ODM document mapper.SonataNotificationBundle as a required dependency^0.4 and ^0.5^0.16AmazonMetadataBuilder now relies on Psr7 mimeType guessersonata- classes from templates^0.1and ^0.2^0.13getMockBuilder with createMock where it was possibleSonata\MediaBundle\Listener\ORM\MediaEventSubscriber::onClear to clear the rootCategories cache when the EntityManager is clearedregion key to S3Client configalt attribute to thumbnail twig tagSession instead of the whole Container in Security/SessionDownloadStrategySonata\MediaBundle\Listener\ORM\MediaEventSubscriber::onClear now subscribes to onClear too$container property in Security/SessionDownloadStrategyPool::$downloadSecurities for Pool::$downloadStrategies propertyPool::addDownloadSecurity for Pool::addDownloadStrategy methodPool::getDownloadSecurity for Pool::getDownloadStrategy methodApiDoc and QueryParam use statements in Api/GalleryControllersonata-project/block-bundle dependencyApiMediaType::getParent compatibility with Symfony3 formsMediaType::buildForm compatibility with Symfony3 formsMediaType::getParent compatibility with Symfony3 formsBaseVideoProvider::buildEditForm compatibility with Symfony3 formsBaseVideoProvider::buildCreateForm compatibility with Symfony3 formsBaseVideoProvider:: buildMediaType compatibility with Symfony3 formsFileProvider::buildEditForm compatibility with Symfony3 formsFileProvider::buildCreateForm compatibility with Symfony3 formsFileProvider::buildMediaType compatibility with Symfony3 formsAdmin classBaseProvider::$name propertyHow can I help you explore Laravel packages today?