All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
4.8.0 - 2024-10-18
- [#1776] Add support for Symfony 7. (@jordisala1991)
- [#1767] Symfony 7.1 deprecation about
Symfony\Component\HttpKernel\DependencyInjection\Extension
usage (@VincentLanglet)
4.7.2 - 2024-04-13
- [#1760] Allow to decorate BlockAdmin, SnapshotAdmin and CreateSnapshotService (@VincentLanglet)
4.7.1 - 2023-12-08
4.7.0 - 2023-12-08
- [#1727] Support for the symfony runtime component (@GeraudBourdin)
- [#1719]
sonata_page_path
andsonata_page_url
method. (@VincentLanglet)
- [#1734]
CmsManagerSelector::onSecurityInteractiveLogin
(@tdumalin) - [#1719]
Sonata\PageBundle\Twig\Extension\PageExtension::breadcrumb
. (@VincentLanglet) - [#1719]
Sonata\PageBundle\Twig\Extension\PageExtension::ajaxUrl
. (@VincentLanglet) - [#1719]
Sonata\PageBundle\Twig\Extension\PageExtension::renderContainer
. (@VincentLanglet) - [#1719]
Sonata\PageBundle\Twig\Extension\PageExtension::renderBlock
. (@VincentLanglet) - [#1719]
Sonata\PageBundle\Twig\Extension\PageExtension::controller
. (@VincentLanglet)
4.6.1 - 2023-11-21
- [#1724] Usage of deprecated method
renderWithParams
(@VincentLanglet) - [#1721] Removal of a page (@GeraudBourdin)
4.6.0 - 2023-09-07
- [#1522] Not implementing PageInterface::removeChild (@Hanmac)
- [#1522] Not implementing PageInterface::removeBlock (@Hanmac)
- [#1522] Not passing Serializer to Transformer as 5th argument (@Hanmac)
4.5.0 - 2023-07-22
4.4.0 - 2023-06-04
- [#1696] Support for SonataBlockBundle 5.0 (@jordisala1991)
4.3.0 - 2023-05-14
- [#1692] Support for
sonata-project/form-extensions
2.0 (@jordisala1991)
4.2.0 - 2023-04-25
- [#1679] Support for Symfony 4.4 (@jordisala1991)
- [#1679] Support for Twig 2 (@jordisala1991)
4.1.1 - 2023-04-12
- [#1676] ORM schema mapping does not give validation errors (@jordisala1991)
4.1.0 - 2023-03-10
- [#1658] Support for PHP 7.4
- [#1658] Support for Symfony 6.0 and 6.1
- [#1658] Support for
doctrine/persistence
^2.0.
4.0.0 - 2022-11-30
- [#1635] Changed default entity class values (@VincentLanglet)
4.0.0-alpha-1 - 2022-10-22
- [#1583] Added
assets/css/frontend.scss
to use in site's page (@eerison) - [#1623] Add ability to display and remove blocks that belongs to types that no longer exist on compose page. (@jordisala1991)
- [#1534] Add missing dependency to
symfony/intl
. (@jordisala1991) - [#1530] Add typehints and return types instead of phpdoc on all places possible. (@jordisala1991)
- [#1520] Add support for
sonata-project/doctrine-extensions
^2.0. (@jordisala1991) - [#1520] Add support for
sonata-project/twig-extensions
^2.0. (@jordisala1991) - [#1491] Add support for Symfony 5 and 6. (@jordisala1991)
- [#1485] Add support for Sonata ^4. (@jordisala1991)
- [#1483] Add support for SonataBlockBundle ^4. (@jordisala1991)
- [#1483] Add support for SonataSeoBundle ^3. (@jordisala1991)
- [#1452] Add
PageManager::createWithDefaults()
to create Pages with some default values. (@jordisala1991) - [#1464] Add support for PHP 8.1 (@jordisala1991)
- [#1450] Add Twig ^3.0 compatibility. (@jordisala1991)
- [#1437] Updated ValidatorTest to use ConstraintValidatorTestCase (@Hanmac)
- [#1460] Changed
BaseCommand::class
toSymfony\Command::class
(@eerison) - [#1493] Change
SnapshotChildrenCollection
to be a lazyCollection
from Doctrine (@jordisala1991) - [#1564] Changed
page
context tosonata.page.block.breadcrumb
used insrc/Resources/views/layout.html.twig
file (@eerison) - [#1559] Change frontend compilation system from Gulp to Webpack (@jordisala1991)
- [#1559] Change final minified file to
app.js
andapp.css
(@jordisala1991) - [#1531] Change from xml configuration format to PHP, for the internal bundle configuration. (@jordisala1991)
- [#1528]
BlockAdmin
and its childs now inject their required dependencies through__construct
instead of set methods. (@jordisala1991) - [#1519]
PageAdmin
now injects its required dependencies through__construct
instead of set methods. (@jordisala1991) - [#1513] Replace usage of Container as a dependency by the actual dependencies of services. (@jordisala1991)
- [#1512] Adjust
PageInterface
,SnapshotInterface
andSiteInterface
to reflect all the methods available on the actual implementation. (@jordisala1991) - [#1510] Changed visibility for most protected properties / methods to private, since classes are final. (@jordisala1991)
- [#1508] Changed from
\DateTime
to\DateTimeInterface
on all the codebase. (@jordisala1991) - [#1436] PageExtension doesn't need InitRuntimeInterface anymore (@Hanmac)
- [#1627] Fixed
snapshot
translation (@eerison) - [#1624] Fix to not show blocks that are not meant to be editable. (@jordisala1991)
- [#1625] Fix delete button while editting blocks on compose page. (@jordisala1991)
- [#1607] Fix
customUrl
implementation. (@jordisala1991) - [#1606] Fix
host_with_path
with site on a relative path of '/'. (@jordisala1991) - [#1606] Fix
View Page
button on Page edit, when site has relative path of '/'. (@jordisala1991)
- [#1460] Removed
--site=all
option for the commands (@eerison) - [#1460] Removed
DumpPageCommand::class
(@eerison) - [#1460] Removed
RenderBlockCommand::class
(@eerison) - [#1460] Removed
BaseCommand::class
(@eerison) - [#1596] Removed
sonata.page.assets
option (@eerison) - [#1627] Removed SonataAdmin translation files (@eerison)
- [#1594] Removed deprecate
page_stylesheets
block frombase_layout.html.twig
(@eerison) - [#1594] Removed deprecate
page_javascripts
block frombase_layout.html.twig
(@eerison) - [#1594] Removed deprecate
page_top_bar
block frombase_layout.html.twig
(@eerison) - [#1594] Removed deprecate
page_container
block frombase_layout.html.twig
(@eerison) - [#1594] Removed deprecate
page_asset_footer
block frombase_layout.html.twig
(@eerison) - [#1574] Remove show route for block since blocks are meant to be edited through compose page. (@jordisala1991)
- [#1541] Remove unused
AjaxController
. (@jordisala1991) - [#1541] Remove unused
BlockController
. (@jordisala1991) - [#1524] Remove
BlockContextManager
service to use the default one from BlockBundle. (@VincentLanglet) - [#1506] Remove
setSlugifyMethod
andgetSlugifyMethod
static methods from Page. (@jordisala1991) - [#1473] Removed the command
MigrateBlockNameSettingCommand::class
(@eerison) - [#1473] Removed the command
MigrateToJsonTypeCommand::class
(@eerison) - [#1456] Remove integration with SonataNotificationBundle (@jordisala1991)
- [#1449] Remove SonataCoreBundle related code. (@jordisala1991)
- [#1430] Remove cache related code. (@Hanmac)
3.29.0 - 2022-09-08
3.28.0 - 2022-08-15
- [#1511] Deprecate
slugify_service
configuration option. (@jordisala1991)
3.27.0 - 2022-07-26
- [#1418] Added
CreateSnapshotService
to create snapshots (@eerison) - [#1418] Added
CreateSnapshotBySiteInterface
(@eerison) - [#1418] Added
CreateSnapshotByPageInterface
(@eerison)
- [#1446] Updated SnapshotManger to use QueryBuilder instead of native SQL (@Hanmac)
- [#1427] Make Cache dependency optional (@Hanmac)
- [#1461] Deprecated
DumpPageCommand::class
(@eerison) - [#1461] Deprecated
RenderBlockCommand::class
(@eerison) - [#1459] Deprecated
Mustache:class
generator (@eerison) - [#1434] Deprecated
CleanupSnapshotConsumer
class (@eerison) - [#1434] Deprecated
CleanupSnapshotsConsumer
class (@eerison) - [#1434] Deprecated
--mode
option forsonata:page:cleanup-snapshots
(@eerison) - [#1434] Deprecated
--base-console
option forsonata:page:cleanup-snapshots
(@eerison) - [#1434] Deprecated
--site=all
option forsonata:page:cleanup-snapshots
(@eerison) - [#1434] Deprecated
--base-console
option forsonata:page:create-snapshots
(@eerison) - [#1434] Deprecated
--site=all
option forsonata:page:create-snapshots
(@eerison) - [#1434] Deprecated
--site=all
option forsonata:page:update-core-routes
(@eerison) - [#1434] Deprecated
BaseCommand::class
(@eerison) - [#1482] Deprecated target page code from
src/Command/CloneSiteCommand.php
(@eerison) - [#1482] Deprecated target page code from
src/Entity/Transformer.php
(@eerison) - [#1482] Deprecated
src/Model/Page::target
property (@eerison) - [#1482] Deprecated
src/Model/Page::getTarget()
method (@eerison) - [#1482] Deprecated
src/Model/Page::setTarget()
method (@eerison) - [#1482] Deprecated
src/Model/PageInterface::getTarget()
method (@eerison) - [#1482] Deprecated
src/Model/PageInterface::setTarget()
method (@eerison) - [#1482] Deprecated
src/Model/Snapshot::target
property (@eerison) - [#1482] Deprecated
src/Model/Snapshot::targetId
property (@eerison) - [#1482] Deprecated
src/Model/Snapshot::getTarget()
method (@eerison) - [#1482] Deprecated
src/Model/Snapshot::setTarget()
method (@eerison) - [#1482] Deprecated
src/Model/Snapshot::getTargetId()
method (@eerison) - [#1482] Deprecated
src/Model/Snapshot::setTargetId()
method (@eerison) - [#1482] Deprecated
src/Model/SnapshotPageProxy::target
property (@eerison) - [#1482] Deprecated
src/Model/SnapshotPageProxy::getTargetId()
method (@eerison) - [#1482] Deprecated
src/Model/SnapshotPageProxy::setTargetId()
method (@eerison) - [#1482] Deprecated
src/Page/PageServiceManager::createResponse()
method (@eerison) - [#1476] Deprecated the command
MigrateToJsonTypeCommand::class
(@eerison) - [#1476] Deprecated the command
MigrateBlockNameSettingCommand::class
(@eerison) - [#1435] Deprecated
BlockEsiCache
,BlockJsCache
andBlockSsiCache
. (@Hanmac) - [#1418] Deprecated
async
mode inCreateSnapshotsCommand
(@eerison) - [#1418] Deprecated
sonata.notification.backend
code intoSiteAdminController
(@eerison) - [#1418] Deprecated
sonata.notification.backend
code intoPageAdminController
(@eerison) - [#1418] Deprecated
sendMessage
and$backend
property into theCreateSnapshotAdminExtension
(@eerison)
3.26.0 - 2021-12-28
- [#1392] Add
SnapshotInterface::getId()
method (@core23) - [#1369] Added
Sonata\BlockBundle\Model\BlockManagerInterface
(@core23)
3.25.0 - 2021-12-04
- [#1382] Added PHPStan and Psalm. (@jordisala1991)
3.24.0 - 2021-11-06
- [#1377] Block validation in edit mode (@VincentLanglet)
3.23.0 - 2021-08-22
- [#1341] Support for
SonataCacheBundle
v3 (@VincentLanglet) - [#1341] Support for PHP 8 (@VincentLanglet)
- [#1341] Some return type hint to
BlockEsiCache
,BlockJsCache
andBlockSsiCache
(@VincentLanglet)
- [#1341]
BlockEsiCache::__construct()
signature (@VincentLanglet) - [#1341]
BlockSsiCache::__construct
signature (@VincentLanglet)
- [#1341] Support for
SonataCacheBundle
v2 (@VincentLanglet) - [#1341] Support for
SonataCache
v1 (@VincentLanglet)
3.22.3 - 2021-07-15
- [#1323] Page composer block validation (@VincentLanglet)
- [#1275] Ignore metadata setup on SiteSelector, not whole site detection. (@BadPixxel)
3.22.2 - 2021-05-26
- [#1310] Fixed creating
sonata_page_admin
twig variable only whenSonataAdminBundle
is loaded. (@franmomu)
3.22.1 - 2021-05-18
- [#1305] Do not load
api_form.xml
ifJMSSerializerBundle
is not installed (@4c0n) - [#1306] Added missing Dutch translation value. (@4c0n)
3.22.0 - 2021-04-19
- [#1293] Added
CreateSnapshotAdminExtension::postRemove()
method in order to create a snapshot when a block is deleted. (@gremo) - [#1297] Added
sonata_page_admin
Twig global variable which holdssonata.page.admin.page
service (@franmomu)
- [#1296] Fixed using deprecated Twig tags (@franmomu)
- [#1296] Fixed references to deprecated
sonata.core.slugify.cocur
and changed them tosonata.page.slugify.cocur
(@franmomu) - [#1295] Fixed deprecations using commands because of not returning
int
(@franmomu)
- [#1297] Removed deprecations from
sonata-project/admin-bundle
usingsonata_admin
Twig global variable (@franmomu) - [#1284] Remove admin deprecations (@core23)
3.21.1 - 2021-03-21
- [#1283] Catch null errors when accessing request (@core23)
- [#1283] Catch null errors when loading unknown block (@core23)
3.21.0 - 2021-02-15
3.20.0 - 2020-12-05
- [#1242] Newly created snapshot does not effect on all previous snapshots end dates only the last one (@haivala)
3.19.0 - 2020-09-04
- [#1175] Support for "friendsofsymfony/rest-bundle:^3.0" (@wbloszyk)
- [#1173] Added public alias
Sonata\PageBundle\Controller\Api\BlockController
forsonata.page.controller.api.block
service (@wbloszyk) - [#1173] Added public alias
Sonata\PageBundle\Controller\Api\PageController
forsonata.page.controller.api.page
service (@wbloszyk) - [#1173] Added public alias
Sonata\PageBundle\Controller\Api\SiteController
forsonata.page.controller.api.site
service (@wbloszyk) - [#1173] Added public alias
Sonata\PageBundle\Controller\Api\SnapshotController
forsonata.page.controller.api.snapshot
service (@wbloszyk)
- [#1162] SonataEasyExtendsBundle is now optional, using SonataDoctrineBundle is preferred (@jordisala1991)
- [#1162] Using SonataEasyExtendsBundle to add Doctrine mapping information (@jordisala1991)
- [#1195] Fixed support for string model identifiers at Open API definitions (@wbloszyk)
- [#1173] Fix RestFul API -
Class could not be determined for Controller identified
Error (@wbloszyk) - [#1170] Fix
Twig\Extra\String\StringExtension
optional auto-registration to avoid duplicationtwig.extension
service (@wbloszyk)
- [#1195] Removed requirements that were only allowing integers for model identifiers at Open API definitions (@wbloszyk)
3.18.0 - 2020-06-29
- [#1156] Remove support for Symfony <4.4 (@wbloszyk)
- [#1156] Remove SonataCoreBundle dependencies (@wbloszyk)
3.17.3 - 2020-06-22
3.17.2 - 2020-05-20
- fixed sql to work with mssql
- Fix switch parent
3.17.1 - 2020-05-08
- Truncate texts in page composer
- Fix invalid html in page block
- Ignore subrequests in
SiteSelector
3.17.0 - 2020-05-01
- Catch possible null error when retriving site
- Redirecting after batch snapshot
- Missing var type declaration
- Support for Symfony < 4.3
3.16.0 - 2020-03-25
- Removed underscores in page names when calling
sonata:page:update-core-route
- Dependency on
cocur/slugify
3.15.1 - 2020-03-14
- Fix page actions for symfony 4
3.15.0 - 2020-01-27
- Re-allow SF DI>4.4.0
- Upgrade matthiasnoback/symfony-dependency-injection-test to ^4.0
3.14.0 - 2020-01-12
BlockInteractor
constructor's argument $registry is now an instance ofDoctrine\Persistence\ManagerRegistry
Transformer
constructor's argument $registry is now an instance ofDoctrine\Persistence\ManagerRegistry
- deprecations from
doctrine/persistence
3.13.0 - 2019-10-21
- Add missing translation for admin menu
- Added missing translation for blocks
- Add more
@method
annotation to propagate new methods ofSnapshotManagerInterface
- Fixed
DecoratorStrategy
compatibility withsymfony/http-foundation
>= 3.4.31 - Match PHPDoc with doctrine model
- Add
internal
as default context for technical blocks - Use correct translation domain for page blocks
- Remove translation call for empty block descriptions
- Remove superfluous PHPDoc
3.12.0 - 2019-10-03
- Added missing German translation
- Added support for new
EditableBlockService
- Match PHPDoc with doctrine model
- Increased block type length to 255 chars
- Removed superfluous PHPDoc
- Removed routing deprecations
3.11.1 - 2019-05-28
- compare with a different value type in the
treeAction
- Fixed missing macro call in
breadcrumb.html.twig
3.11.0 - 2019-14-17
- Add
|trans()
tochild.name|default(service.name)
incompose_preview.html.twig
- Translate page name in breadcrumb if no title is defined
- Use page title in breadcrumbs
- Creating homepage from router config (check if page available in config - we will not create default Homepage).
3.10.0 - 2018-10-18
- Removed CoreBundle deprecations
- support for php 5 and php 7.0
3.9.1 - 2018-11-04
- Added group icon to admin pages
- Catch empty locale in exception listener
- Make
sonata.page.kernel.exception_listener
service public
- Hide debug information in prod environment
3.9.0 - 2018-06-18
- Auto-register datepicker form theme
- Force use breadcrumb translation strings for page admins
- Removed default value for parent association mappings
addChild
deprecations- Only blocks with getBlockMetadata method will be shown in "add block of type" menu of Page Composer
- Added support for latest
sonata-project/cache
3.8.0 - 2018-02-23
- added block title translation domain option
- added block icon option
- added block class option
- Added auto-registration sonata.page.router to cmf_routing.router service
- Switch all templates references to Twig namespaced syntax
- Switch from templating service to sonata.templating
- Remove default template from exception list
- Use default template in page create template
- Added styling to page create button
- Allow Slugify ^3.0
- Replaced service names for field types by classnames.
- Commands not working on symfony4
- sonata.page.site.selector is public
- forward-compatibility with strict mode
- Removed default title from blocks
- Removed old
sonata-
classes from templates - Removed compatibility with older versions of FOSRestBundle (<2.1)
3.7.1 - 2018-01-07
- The internal page name is not used as a seo title fallback anymore
- make services explicit public
- Fix for getRuntime on Symfony older than 3.4
- Fixed missing import
- Lowered page request listener to make sure it's triggered behind the firewall listener
- Fixed template choices in BlockAdmin
3.7.0 - 2017-12-12
- Added Russian translations
- Add Symfony 4 compatibility
- Added new configuration
skip_redirection
to skip asking Editor to redirect
- make services explicit public
- compatibility with Twig 2.0 was improved
- Fixed wrong route in pagelist block
- Removed old form alias usage
3.6.0 - 2017-11-14
- use new sf3 choices structure
- Pass form data instead of request object to form::submit
- Not working SEO page title
- read_only error for site selection in page admin
- Renamed internal method to fix sf2.8 incompatibility
- Fixed passing snapshot factory as wrong argument to
Sonata\PageBundle\Entity\SnapshotManager
- Unused
no-confirmation
option for site create command
- support for old versions of php and Symfony
- Removed php5 version checks
3.5.2 - 2017-09-14
- Changed fallback translation domain to
SonataBlockBundle
in page composer
- Batch blocks removing doesn't mark page as edited
- Composer (JS): Relying of custom status-property; instead rely on Response Status Code
- use
configureSettings
instead of deprecatedsetDefaultSettings
- compatibility with Twig 2.0 was improved
_self
returns the template path instead of the template object- Twig runtime error on Symfony < 3.2 and Twig 2.x
- Don't call Extension::addClassesToCompile() on php versions greater than 7
3.5.1 - 2017-07-05
- use FQCN for Symfony 3 for
type
inPageAdmin
- parent page select input no longer has flipped choices
- crash when running
sonata:page:clone-site
- form typess are referenced by FQCN and not by name, which is no longer supported
3.5.0 - 2017-06-05
- added support for
FOSRestBundle:2.0
- Added Italian translations
- Rendering failure when block.page property does not exist.
- Fixed hardcoded paths to classes in
.xml.skeleton
files of config - Compatibility with Symfony 3 was fixed
- A deprecation warning regarding the usage of factories in the DIC was fixed
- deprecation warning about scope attributes
- deprecation error message about
addViolationAt
- added support for both
QuestionHelper
andDialogHelper
inCreateSiteCommand
for Symfony 2.3 and 3.x compatibility - fixed token manager compatibility in
PageAdminController
- fixed the syntax change necessary for question helper as opposed to dialog helper
3.4.1 - 2017-04-04
- Removed block service deprecation
- use
is not null
instead ofis defined
inBlock/block_base.html.twig
3.4.0 - 2017-03-16
- Added --clean option to
sonata:page:update-core-routes
command to remove orphaned pages
- Configuration regex for
ignore_route_patterns
andignore_uri_patterns
nodes - ISO 639 compatibility,
Site::$locale
, now has length set as 7 instead of 6. - Add relative path to the "view page" link in the
PageAdmin
- deprecated usage of the logger
- deprecated usage
configureSideMenu
CmsManagerSelector
now uses thePageAdmin::isGranted
method to check for EDIT- Route name from
admin_sonata_page_page_create
to methodsonata_admin.url()
. Sonata\PageBundle\Admin\PageAdmin
, added methodgetPersistentParameters
- use font awesome icon instead of famfamfam icon in
select_site.html.twig
- Deprecated unused
--all
option insonata:page:update-core-routes
command - Removed deprecation for
security.context
3.3.0 - 2017-01-17
- Added new
sonata:page:clone
command - Added
SiteRequestContextInterface
to check the current context type in get SiteRequestContext - Added
SiteRequestContext::setSite()
to change the site context - Added
SiteRequestContext::getSite()
to get the site context
- Changed
CmsPageRouter::generateFromPage
to change the site context when generating the url for the given page
- Failed to create object: AppBundle\Entity\Site
- NotNull constraint on
Page
instead ofSite
- Fixed
inherits_containers
feature Subject - Missing
blockId
setting SharedBlockBlockService - Use the correct protocol for urls
- The page title won't get overwritten anymore
3.2.0 - 2016-09-20
- Added new command to create block container for all pages
- Added new
SnapshotPageFactory
- UniqueUrl validation isn't checked for Dynamic pages anymore
UniqueUrlValidator
is now more specific with the error, and the error is attached to a field
trigger_error
for deprecatedsonata.core.slugify.native
- Removed deprecation warning for
Admin
usage. - Removed deprecation warning for
AdminExtension
usage. - Fixed duplicate translation in tab menu
- Fixed duplicate translation of batch actions
- make sure the scope in the container is clean to avoid failing test while unit testing the command
- Fixed deprecated doctrine methods
- top menu items not translated for the compose action
- add missing title in the compose action.
- Top menu links for edit/compose action are now highlighted.
- Custom query parameters are no longer lost on redirect.
- The
beta
tag onto theComposer
functionality
3.1.0 - 2016-08-01
- Warmup the cache from the CLI brings an error in HTTP
- Fixed PHP Fatal error: Call to a member function getRelativePath() on null
- Internal test classes are now excluded from the autoloader
3.0.2 - 2016-06-21
- Support version 2.x for
cocur/slugify
dependency
- Typo with
\RuntimeException
usage - Fix missing
$transformer
property inSnapshotPageProxy
- Service definition
sonata.page.admin.page
not exists error if admin-bundle is not present
3.0.1 - 2016-06-13
- Fixed missing null check when rendering tree view without any site
- The page name is now correctly used as a page title fallback
- Removed never implemented
sonata_page_url
twig function