Skip to content

Releases: smartbooster/sonata-bundle

v2.8.1

24 Sep 15:26
9fd7610
Compare
Choose a tag to compare

Added

  • list_api_call_route_url.html.twig template to reduce the size of the url on AbstractApiCallAdmin (@mathieu-ducrot)

Fixed

  • show_history_field.html.twig fix error "Impossible to access an attribute ("f") on a string variable ("label.empty")." on display empty collections history (@lfortunier)

v2.8.0

02 Sep 16:33
2f5c52c
Compare
Choose a tag to compare

Removed

  • Dropped support on Parameter::historyLegacy and also remove it from the ParameterAdmin (@mathieu-ducrot)

v2.7.0

28 Aug 16:16
a755d6b
Compare
Choose a tag to compare

Added

  • docs/tailwind.md documentation (@lfortunier and @mathieu-ducrot)
  • AbstractAdmin::getHistoryConfig new method to impact on show_history_field rendering (@mathieu-ducrot)
  • show_history_field.html.twig Add render_diff and render_diff_label block to ease template override (@mathieu-ducrot)
  • Add common translations used on ApiCallAdmin and CronAdmin + history.context.sso (@mathieu-ducrot)

Changed

  • show_history_field.html.twig Adjust the template to translate when history config fields has the enum_prefix_label option (@mathieu-ducrot)
  • docs/mailer.md update documentation on doc route import, documentation_help block, MailableInterface use and how to extend the BaseMailer (@mathieu-ducrot)

Fixed

  • _documentation.scss Fix tailwind sb-documentation style : max-width + table and image max-width/transform (@mathieu-ducrot)
  • BaseMailer::setRecipientToEmail recipients reset for successive calls on the send method (@mathieu-ducrot)

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