Skip to content

Releases: smartbooster/sonata-bundle

v2.6.0

11 Jul 09:21
fc1f1a7
Compare
Choose a tag to compare

Added

v2.5.0

25 Jun 09:08
f7c60bb
Compare
Choose a tag to compare

Added

  • show_history_field.html.twig based on tailwind class + Twig HistoryExtension required to autocomplete some data of the history rows
  • HistoryExtension to automaticaly add the mentioned above template on the show view of every entity that implement the Smart\CoreBundle\Entity\HistoryInterface
  • iconify cdn to use iconify-icon Web Component in standard_layout.html.twig and empty_layout.html.twig
  • Twig FormatExtension to detect data type base on string value
  • templates/macros/badge.html.twig to use in tailwind block
  • AbstractAdmin::showHistoryTemplate property to ease the override of the show_history_template.html.twig per admin

Changed

  • BC Break SendAccountCreationEmailTrait::sendAccountCreationEmailAction the user subject is now entirely passed to the BaseMailer to log the email sent in
    his history.
    • You must add the MailableInterface to your User entity for BaseMailer::setRecipientToEmail to work properly
  • BaseMailer::setRecipientToEmail advanced scenario to init the to, cc and bcc of the email based on the recipient type
  • BC Break AbstractApiCallAdmin and AbstractCronAdmin now use messages for choice_translation_domain for their type properties
    • You must move your cron.my_command.label translations on the messages.%lang%.%format% file instead of using the admin.%lang%.%format%
  • api_call_status.html.twig now display null status code as "Ongoing" placeholder text
  • Parameter entity now use HistorizableInterface from core-bundle
    • Impact on ParameterAdmin : HistoryLogger DI removed + all previous log mention removed
    • No more need to declare the list_value.html.twig and timeline_history_field.html.twig on the project as they are handle by the Sonata-Bundle
    • BC Break database migration require to keep old history legacy :
    <?php
    
    declare(strict_types=1);
    
    namespace DoctrineMigrations;
    
    use Doctrine\DBAL\Schema\Schema;
    use Doctrine\Migrations\AbstractMigration;
    
    final class Version20240619081425 extends AbstractMigration
    {
        public function getDescription(): string
        {
            return "Rename history field to historyLegacy for conversion and add new history field which is saved from the core-bundle";
        }
    
        public function up(Schema $schema): void
        {
            $this->addSql('ALTER TABLE smart_parameter CHANGE history history_legacy JSON DEFAULT NULL');
            $this->addSql('ALTER TABLE smart_parameter ADD history JSON DEFAULT NULL');
        }
    
        public function down(Schema $schema): void
        {
            $this->addSql('ALTER TABLE smart_parameter DROP history');
            $this->addSql('ALTER TABLE smart_parameter CHANGE history_legacy history JSON DEFAULT NULL');
        }
    }

Flag as deprecated

In anticipation for the v3.0.0 (cf. UPGRADE-3.0.md) we mark the following classes as deprecated :

  • Smart\SonataBundle\Entity\Log\BatchLog
  • Smart\SonataBundle\Entity\Log\HistorizableInterface
  • Smart\SonataBundle\Entity\Log\HistorizableTrait
  • Smart\SonataBundle\Logger\BatchLogger
  • Smart\SonataBundle\Logger\HistoryLogger
  • templates\admin\base_field\timeline_history_field.html.twig

Release handle by (@mathieu-ducrot)

v2.4.0

12 Jun 11:27
addeff4
Compare
Choose a tag to compare

Add markdown documentation rendering feature (@mathieu-ducrot)

Added

  • DocumentationController::renderMarkdown action to render markdown documentation files stored in the /documentation directory
    • RouteLoader + RouteCompilerPass to auto generate routing for each markdown files
    • markdown.html.twig template to render the markdown content as html
  • _documentation.scss .sb-documentation class based on @tailwindcss/typography plugin
  • _tailwind.scss dedicated smartbooster tailwind override or missing class from unalign tailwind version

Changed

  • services.yaml reorder services declaration by alphabetical namespace subject

Fixed

  • DocumentationController::email use twig injected service to render the response content so no extra controller extending DocumentationController is
    needed.
  • standard_layout.html.twig add missing extra padding on sonata_page_content_header when there is an env_banner

Removed

  • /config/routing.yaml deleted in favor of route being available through the RouteLoader (so when updating to this version you no longer need to
    import it)

v2.3.0

10 Jun 12:49
8dcf0a5
Compare
Choose a tag to compare

Added

  • ui_banner.html.twig macro to prompt a tailwind banner for usefull info (current environment, ...) (@mathieu-ducrot)
  • AbstractApiCallAdmin::getOriginChoices for api call origin filter (@mathieu-ducrot)
  • ui_banner.html.twig macro to prompt a tailwind banner for usefull info (current environment, ...) (@mathieu-ducrot)
  • empty_layout.html.twig add ui_banner on the sonata_wrapper block to show current server environment
  • standard_layout.html.twig add ui_banner on the sonata_header_noscript_warning block to show current server environment
    • to unlock it add the following to your twig.globals config : smart_server_environment: '%env(default::ENVIRONMENT)%'
  • admin.en.xlf add missing english translations (@mathieu-ducrot)
  • RestartApiCallTrait controller action to recall already monitored api call (@mathieu-ducrot)
    • Dedicated restart_api_call.html.twig action template with special ROLE_MONITORING_RESTART_API_CALL role check
    • Dedicated admin.extension.action_restart_api_call sonata extension
  • AbstractApiCallAdmin add restartedAt date show view + refresh icon on list to check which api has been recalled (@mathieu-ducrot)

v2.2.0

04 Jun 13:46
6985668
Compare
Choose a tag to compare

Changed

  • AbstractAdmin::__construct params are now all optionnal as we must configure it through tags from what's ask on the next v5 of Sonata Admin (@mathieu-ducrot)
  • Update minimal smartbooster/core-bundle requirements to have ProcessMonitor and ApiCallMonitor services (@mathieu-ducrot)

Added

  • Sonata abstract monitoring admin for CRON and ApiCall (@mathieu-ducrot)
  • Sonata admin template for generic fields : (@mathieu-ducrot)
    • list_nl2br.html.twig
    • show_json.html.twig
    • show_process_logs.html.twig
    • process_status.html.twig
    • api_call_status_code.html.twig

Fixed

  • ParameterAdmin fix remove useless translations options on the type enum field (@mathieu-ducrot)

Removed

  • Remove allowing version ^3.3 for yokai/enum-bundle bundle because ParameterTypeEnum extends TranslatedEnum and this is not present in version ^3.3 (@lfortunier )

v2.1.1

28 Mar 10:07
368ce92
Compare
Choose a tag to compare

Added

  • Add annotations for orm mapping in addition to attributes to be compatible with both implementation (@lfortunier)

Fixed

  • BatchLog::date type to DATETIME_MUTABLE (type error introduce in update v2.0.0) (@mathieu-ducrot )
  • UserTrait::lastLogin type to DATETIME_MUTABLE (type error introduce in update v2.0.0) (@mathieu-ducrot )

v2.1.0

20 Mar 17:15
e9651f8
Compare
Choose a tag to compare

Better Smart Parameter type management and value validation (@mathieu-ducrot )

Uprade guide

The upgrade to this version needs some extra steps from your part to work properly. Please do the following :

  • Run a doctrine migration for the new properties added to the Smart Parameter Entity if you use them.
  • Also add the following templates on your project if you use our ParameterAdmin
{# templates/admin/parameter_admin/list_value.html.twig #}
{% extends '@SonataAdmin/CRUD/base_list_field.html.twig' %}
{% block field %}
    {% include '@SmartSonata/admin/parameter_admin/render_value.html.twig' %}
{% endblock %}
{# templates/admin/parameter_admin/timeline_history_field.html.twig #}
{% extends '@SmartSonata/admin/base_field/timeline_history_field.html.twig' %}
{% block render_value %}
    {% include '@SmartSonata/admin/parameter_admin/render_value.html.twig' %}
{% endblock %}
  • Once this is done, the ParameterAmin should work back as before. Update your smart_sonata.parameters types if you need to and you are good to go.

Now back to what have changes on this version ...

Added

  • ParameterInterface for a better following on Parameter method and type evolution
    • It extends the HistorizableInterface which add the history field to the entity
    • So when upgrading to this version make sure to run a doctrine migration to have your updated values properly logged.
  • ParameterInterface::type Parameter can now have a type (text by default) which impact the validation and the return type of the getValue
  • ParameterInterface::getArrayValue for list values and email chain, this method return the value as a proper array type
  • ParameterInterface::regex used for value validation for text and list parameter type
  • Add yokai/enum-bundle composer requirement for the ParameterTypeEnum

Changed

  • ParameterProvider::getValue now handle every new type added to the ParameterInterface
  • ParameterAdmin impact of new type and regex property added to the ParameterInterface
    • Changes made to the parameter value are now logged in the history of the Parameter
    • The help field is now visible on the show/form only if it's not null

v2.0.1

22 Feb 11:02
432ebcc
Compare
Choose a tag to compare

Fixed

  • Fix clear cache error on EmailProvider locale -> can be nullable and check $requestStack->getCurrentRequest() is not null. (@lfortunier)

v2.0.0

19 Feb 16:22
93bb165
Compare
Choose a tag to compare

Added

  • Add Symfony v6.4 support
  • Default nelmio_alice locale config to fr_FR
  • SmartAdminInterface which is used on AdminCompilerPass to add the required extra services
  • Missing admin and security trad added

Removed

  • Drop Symfony v4 support
  • Remove doctrine/annotations as we now use PHP8 attributes to define ORM properties
  • User roles aren't stored in database anymore, each entity with UserInterface must just define the getRoles function

Changed

  • Use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface service instead of Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface to be compatible with
    SF 6
  • Reformat all the entity annotations with PHP8 attributes
  • AbstractAdmin::setTokenManager is now preset by the new AdminCompilerPass (as the services.yaml abstract: true old way don't work properly with
    SF 6 and the latest Sonata version)
  • The AbstractAdmin::get function has been flagged as @deprecated and will be remove next major (instead inject service via construct DI)

Fixed

  • Fix auto margin of the login-box using display flex

v1.5.1

08 Jan 15:19
b584830
Compare
Choose a tag to compare

Changes

  • Use namespace after use core bundle in PasswordSafeableTrait.php
  • Use bundle smartbooster/standard-bundle, changes in :
    • /bin
    • Add configs
    • Deletes make files
    • Add Kernel
    • Add .gitignore content
    • Changes require dev
    • Changes config of phpcs, phpstan and phpunit
    • Comment base test because it doesn't work with the new smartbooster/standard-bundle implementation
  • Fix some style because of the new smartbooster/standard-bundle implementation
  • Change action phpunit and qa order and use make, delete cache steps
  • Add install.mk instead of use command in Makefile
  • Delete codecov scan sending