NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #2030 most downloaded on Packagist
Integrate Doctrine ORM into the SonataAdminBundle
Last release 8 months ago
05 Jan 2026
Release timing varies
gaps range from 2 weeks to 10 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
122 releases · first in 2013
[#1109] Deprecate ModelManager collections methods. (@VincentLanglet)
[#1077] Use deprecated tag instead of sonata_template_deprecate to not throw unwanted deprecation notices (@franmomu)
One column per quarter.
deprecated tag instead of sonata_template_deprecate to not throw unwanted deprecation notices (@franmomu)ModelManager::camelize (@VincentLanglet)[#979] Add new filter for empty fields (@core23)
format option of the StringFilter. (@VincentLanglet)[#1049] Deprecated passing null as argument 2 for ModelManager::find(); (@phansys)
StringFilter support for START_WITH and END_WITH operator
(@napestershine)FieldDescription::getTargetModel().
(@phansys)null as argument 2 for ModelManager::find(); (@phansys)null as argument 1 for ModelManager::getNormalizedIdentifier(); (@phansys)ModelManager::getNormalizedIdentifier(); (@phansys)object as argument 1 for ModelManager::getUrlSafeIdentifier(); (@phansys)FieldDescription::getTargetEntity() in favor of FieldDescription::getTargetModel(). (@phansys)[#1055] decimal and float type use the float template if no number template exists (@VincentLanglet)
decimal and float type use the float template if no number template
exists (@VincentLanglet)one_to_one, one_to_many, many_to_one and many_to_many type are
correctly using the template defined in your config instead of the Sonata one.
(@VincentLanglet)Fixed usage of deprecated Twig syntax for..if.
ModelManager::getDefaultPerPageOptionsArrayFilter which supports @ORM\Column(type="array")for..if.case_sensitive option into account
when the operator is =.Typo in AbstractDateFilter, DateRangeOperatorType::TYPE_EQUAL should have been DateOperatorType::TYPE_EQUAL.
Typo in AbstractDateFilter, DateRangeOperatorType::TYPE_EQUAL should have been
DateOperatorType::TYPE_EQUAL.
Deprecate getModelIdentifier from ModelManager
ModelManager::getNormalizedIdentifier().getModelIdentifier from ModelManagerRemoved deprecated usage of admin FormType constants
@method annotation for ProxyQueryvoid in ModelManager::getNormalizedIdentifier(), which is
intended to return a value or null.FormType constantsDatagridAdded support for guessing the show type of simple_array fields.
simple_array fields._sort_by filter to not be initially defined.sonata.admin.manager tag to sonata.admin.manager.orm service._sort_by_ datagrid value is properly applied before any custom orderBy.deprecations from doctrine/persistence
computeNbResult where groupBy was useddoctrine/persistencetoString() methods.Builder/DatagridBuilder::getBaseDatagrid()toString and __toString when calling
getValueFromType on value-object such as UuidFix ProxyQuery::getQueryBuilder() return type.
operator_type and operator_options are overridable for the provided Filters
Added support for Doctrine-Bundle 2.0
Pager->computeNbResult has no resultCreate const for operator choices in Filter classes
Create const for operator choices in Filter classes
Don't hide edit button sonata_type_model_list_widget if there is no value
sonata_type_model_list_widget if there is no valueAdded support for protected (no public constructor) entity creation
Deprecations about core bundle forms
StringFilter with null valuesSonata\DoctrineORMAdminBundle\Datagrid\Pager::computeNbResult() now returns an integer, not a string
Sonata\DoctrineORMAdminBundle\Datagrid\Pager::computeNbResult() now returns an integer, not a stringTypeError with explode in ModelManager
TypeError with explode in ModelManager
Compatibility with sonata-project/exporter 2
sonata-project/exporter 2Fix deprecation for symfony/config 4.2+
__toString() will be used if provided. (This also fixes the issue where the
id fails to display when the binary / byte datatype is used as primary key,
e.g., UUIDBinaryType (aka: InnoDB Optimised Binary UUIDs))StringFilter case-insensitiveTwig_Error_Runtime "Key "associationAdmin" for array with keys
translationDomain, associationadmin, options" does not exist."sonata.admin.manipulator.acl.object.orm is now public
sonata.admin.manipulator.acl.object.orm is now publicBlock sonata_type_model_list_widget in template Form/form_admin_fields.html.twig now determines the object identifier correctly when building a link t
sonata_type_model_list_widget in template Form/form_admin_fields.html.twig now determines the object identifier correctly when building a link to the associated adminFix FieldDescription for multi-level embedded properties
sonata.admin.manager.orm as public serviceAdded ProxyQuery::setDistinct and ProxyQuery::isDistinct.
ProxyQuery::setDistinct and ProxyQuery::isDistinct.Pager use CountWalker for get count.Now it is possible to use entities with arguments on the constructor on the Collection and Admin types.
Support for "datetime_immutable", "datetimetz_immutable", "date_immutable" and "time_immutable" Doctrine types at TypeGuesser::guessType() and FilterT
TypeGuesser::guessType() and FilterTypeGuesser::guessType().base_show_field.html.twig.Symfony 3.4 deprecation notice about getting private service AuditReader from the container
setSortOrder input is now validated### Fixed - typo in ListBuilder
Switched to templates from SonataAdminBundle
deprecation about Doctrine\ORM\Mapping\ClassMetadataInfo
add a new Model even if one is already selected::class constantsDoctrine\ORM\Mapping\ClassMetadataInfowarning about deprecate "e" modifier for preg_replace
ProxyQuery::setHint which allow to pass Query hint in createQuerypreg_replaceReplaced deprecated getEntityManager with getManager
sonata-ba-field-error class to table fields with errorsgetEntityManager with getManagerFixed ClassFilter for Symfony 3+. Remove deprecated for Symfony > 2.7
ModelManager::getDataSourceIterator when getSortBy is emptyA list field with actions type will get all the required field options just like the _action field.
actions type will get all the required field options just like the _action field._action field will get a proper actions type.ModelFilter::handleMultiple fix method to retrieve parent alias for building IDENTITY query partAddAuditEntityCompilerPass::process() when definition simplethings.entityaudit.audited_entities is not present, as of 2.x version for simplethings/entity-audit-bundle.Fixed broken translation in oneToMany table view
edit_orm_one_to_many_inline_table.html.twigConsider NULL values when using 'is not equal' advanced model filter
DatagridMapper::addIdentifier on mapped fieldORM any-to-any list and show templates now use hasAccess
hasAccessFormContractorUse mor reliable UnitOfWork::getEntityState() method to detect persisted entities.
UnitOfWork::getEntityState() method to detect persisted entities.RuntimeException usagesDate range filter can now be used with only one side defined
FormContractor::getDefaultOptions checks which type is used. Instead of checking for an array of available types, we improve this by checking for the class instance or parents.admin_code option for sonata_type_model_listFormContractor supports the new Sonata\AdminBundle\Form\Type\ModelListTypeForm Type to be compatible with Symfony 2.8+Fix FormContractor::getDefaultOptions not checking against form types FQCNs
FormContractor::getDefaultOptions not checking against form types FQCNsFix wrong property name on FormContractor
sonata_type_model_list popupDeprecated usage of form type name
form type nameAvoid duplicate field in ORDER clause
Added missing default sort by primary key(s).
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →