NiftyCent
techie
14h | Jan 27, 2021, 3:20:41 PM
Symfony 4.4.19 released
/ng/symfony

Symfony 4.4.19 has just been released. Here is a list of the most
important changes:

bug #38900 [Serializer] Exclude non-initialized properties accessed with getters (@BoShurik)
bug #39887 [Translator] fix handling plural for floating numbers (@kylekatarnls)
bug #39967 [Messenger] fix redis messenger options with dsn (@Kleinast)
bug #39970 [Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64 (@nicolas-grekas)
bug #39909 [PhpUnitBridge] Allow relative path to composer cache (@jderusse)
bug #39944 [HttpKernel] Configure the ErrorHandler even when it is overriden (@nicolas-grekas)
bug #39932 [Console] [Command] Fix Closure code binding when it is a static anonymous function (@fancyweb)
bug #39880 [DoctrineBridge] Add username to UserNameNotFoundException (@qurben)
bug #39633 [HttpFoundation] Drop int return type from parseFilesize() (@LukeTowers)
bug #39889 [HttpClient] Add check for constant in Curl client (@pierredup)
bug #39886 [HttpFoundation] Revert #38614 and add assert to avoid regressions (@BafS)
bug #39858 Fix problem when SYMFON _PHPUNI _VERSION is empty string value (@alexander-schranz)
bug #39861 [DependencyInjection] Skip deprecated definitions in CheckTypeDeclarationsPass (@chalasr)
bug #39862 [Security] Replace message data in JSON security error response (@wouterj)
bug #39667 [DoctrineBridge] Take into account that indexBy=”perso _id” could be a db column name, for a referenced entity (@victormacko)
bug #39799 [DoctrineBridge] Fix circular loop with EntityManager (@jderusse)
bug #39821 [DependencyInjection] Don’t trigger notice for deprecated aliases pointing to deprecated definitions (@chalasr)
bug #39816 [HttpFoundation] use atomic writes in MockFileSessionStorage (@nicolas-grekas)
bug #39735 [Serializer] Rename normalize param (@VincentLanglet)
bug #39797 Dont allow unserializing classes with a destructor (@jderusse)
bug #39743 [Mailer] Fix missing BCC recipients in SES bridge (@jderusse)
bug #39764 [Config]  fix handling float-like key attribute values (@xabbuh)
bug #39787 [Yaml] a colon followed by spaces exclusively separates mapping keys and values (@xabbuh)
bug #39788 [Cache] fix possible collision when writing tmp file in filesystem adapter (@nicolas-grekas)
bug #39794 Dont allow unserializing classes with a destructor - 4.4 (@jderusse)
bug #39747 [DependencyInjection] Support PHP 8 builtin types in CheckTypeDeclarationsPass (@derrabus)
bug #39738 [VarDumper] fix mutating $GLOBALS while cloning it (@nicolas-grekas)
bug #39746 [DependencyInjection] Fix InvalidParameterTypeException for function parameters (@derrabus)
bug #39681 [HttpFoundation] parse cookie values containing the equal sign (@xabbuh)
bug #39716 [DependencyInjection] do not break when loading schemas from network paths on Windows (@xabbuh)
bug #39703 [Finder] apply the sort callback on the whole search result (@xabbuh)
bug #39717 [TwigBridge] Remove full head content in HTML to text converter (@pupaxxo)
bug #39708 [WebProfilerBundle] take query and request parameters into account when matching routes (@xabbuh)
bug #39683 [Yaml] keep trailing newlines when dumping multi-line strings (@xabbuh)
bug #39670 [Form] disable error bubbling by default when inheri _data is configured (@xabbuh)
bug #39686 [Lock] Fix config merging in lock (@jderusse)
bug #39668 [Yaml] do not dump extra trailing newlines for multiline blocks (@xabbuh)
bug #39653 [Form] fix passing null $pattern to IntlDateFormatter (@nicolas-grekas)
bug #39598 [Messenger] Fix stopwach usage if it has been reset (@lyrixx)
bug #39631 [VarDumper] Fix display of nullable union return types (@derrabus)
bug #39629 [VarDumper] fixed displaying “mixed” as “?mixed” (@nicolas-grekas)
bug #39597 [Mailer] Handle failure when sending DATA (@jderusse)
bug #39610 [ProxyManagerBridge] fix PHP notice, switch to “friendsofphp/proxy-manager-lts” (@nicolas-grekas)

Want to upgrade to this new release? Because Symfony protects
backwards-compatibility very closely, this should be quite easy. Use
SymfonyInsight upgrade reports
to detect the code you will need to change in your project and
read our upgrade
documentation to learn more.
Want to be notified whenever a new Symfony release is published? Or when a
version is not maintained anymore? Or only when a security issue is fixed?
Consider subscribing to the Symfony Roadmap Notifications.



Sponsor the Symfony project.

feedproxy.google.com/~r/symfony/blog/~3/ ...

Symfony 4.4.19 released (Symfony Blog)
Symfony 4.4.19 has just been released.
| | |
techie
14h | Jan 27, 2021, 3:20:40 PM
Symfony 5.1.11 released
/ng/symfony

Symfony 5.1.11 has just been released. Here is a list of the most
important changes:

bug #38900 [Serializer] Exclude non-initialized properties accessed with getters (@BoShurik)
bug #39872 [Validator] propagate the object being validated to nested constraints (@xabbuh)
bug #39887 [Translator] fix handling plural for floating numbers (@kylekatarnls)
bug #39967 [Messenger] fix redis messenger options with dsn (@Kleinast)
bug #39970 [Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64 (@nicolas-grekas)
bug #39956 [Uid] fix checking for valid UUIDs (@nicolas-grekas)
bug #39909 [PhpUnitBridge] Allow relative path to composer cache (@jderusse)
bug #39944 [HttpKernel] Configure the ErrorHandler even when it is overriden (@nicolas-grekas)
bug #39896 [PropertyInfo] Fix breaking change with has(arguments…) methods (@YaFou)
bug #39932 [Console] [Command] Fix Closure code binding when it is a static anonymous function (@fancyweb)
bug #39871 [Notifier] [OvhCloud] “Invalid signature” for message with slashes (@OneT0uch)
bug #39900 [Uid] Unable to extend Uuid/Ulid and use fromString() (@OskarStark)
bug #39880 [DoctrineBridge] Add username to UserNameNotFoundException (@qurben)
bug #39633 [HttpFoundation] Drop int return type from parseFilesize() (@LukeTowers)
bug #39889 [HttpClient] Add check for constant in Curl client (@pierredup)
bug #39886 [HttpFoundation] Revert #38614 and add assert to avoid regressions (@BafS)
bug #39873 [DependencyInjection] Fix container injection with TypedReference (@jderusse)
bug #39858 Fix problem when SYMFON _PHPUNI _VERSION is empty string value (@alexander-schranz)
bug #39861 [DependencyInjection] Skip deprecated definitions in CheckTypeDeclarationsPass (@chalasr)
bug #39862 [Security] Replace message data in JSON security error response (@wouterj)
bug #39839 [Messenger] [AmazonSqs] Fix auto-setup for fifo queue (@starred-gijs)
bug #39667 [DoctrineBridge] Take into account that indexBy=”perso _id” could be a db column name, for a referenced entity (@victormacko)
bug #39799 [DoctrineBridge] Fix circular loop with EntityManager (@jderusse)
bug #39821 [DependencyInjection] Don’t trigger notice for deprecated aliases pointing to deprecated definitions (@chalasr)
bug #39816 [HttpFoundation] use atomic writes in MockFileSessionStorage (@nicolas-grekas)
bug #39812 Make EmailMessage & SmsMessage transport nullable (@odolbeau)
bug #39735 [Serializer] Rename normalize param (@VincentLanglet)
bug #39797 Dont allow unserializing classes with a destructor (@jderusse)
bug #39743 [Mailer] Fix missing BCC recipients in SES bridge (@jderusse)
bug #39764 [Config]  fix handling float-like key attribute values (@xabbuh)
bug #39787 [Yaml] a colon followed by spaces exclusively separates mapping keys and values (@xabbuh)
bug #39788 [Cache] fix possible collision when writing tmp file in filesystem adapter (@nicolas-grekas)
bug #39794 Dont allow unserializing classes with a destructor - 4.4 (@jderusse)
bug #39795 Dont allow unserializing classes with a destructor - 5.1 (@jderusse)
bug #39747 [DependencyInjection] Support PHP 8 builtin types in CheckTypeDeclarationsPass (@derrabus)
bug #39738 [VarDumper] fix mutating $GLOBALS while cloning it (@nicolas-grekas)
bug #39746 [DependencyInjection] Fix InvalidParameterTypeException for function parameters (@derrabus)
bug #39681 [HttpFoundation] parse cookie values containing the equal sign (@xabbuh)
bug #39716 [DependencyInjection] do not break when loading schemas from network paths on Windows (@xabbuh)
bug #39703 [Finder] apply the sort callback on the whole search result (@xabbuh)
bug #39717 [TwigBridge] Remove full head content in HTML to text converter (@pupaxxo)
bug #39649 [Validator] propagate groups to nested constraints (@xabbuh)
bug #39708 [WebProfilerBundle] take query and request parameters into account when matching routes (@xabbuh)
bug #39692 [FrameworkBundle] Dump abstract arguments (@jderusse)
bug #39683 [Yaml] keep trailing newlines when dumping multi-line strings (@xabbuh)
bug #39670 [Form] disable error bubbling by default when inheri _data is configured (@xabbuh)
bug #39686 [Lock] Fix config merging in lock (@jderusse)
bug #39668 [Yaml] do not dump extra trailing newlines for multiline blocks (@xabbuh)
bug #39674 [Messenger] fix postgres transport when the retry table is the same (@lyrixx)
bug #39653 [Form] fix passing null $pattern to IntlDateFormatter (@nicolas-grekas)
bug #39598 [Messenger] Fix stopwach usage if it has been reset (@lyrixx)
bug #39636 [Uid] Handle ValueErrors triggered by ext-uuid on PHP 8 (@derrabus)
bug #39631 [VarDumper] Fix display of nullable union return types (@derrabus)
bug #39629 [VarDumper] fixed displaying “mixed” as “?mixed” (@nicolas-grekas)
bug #39597 [Mailer] Handle failure when sending DATA (@jderusse)
bug #39621 [Security] Fix event propagation for globally registered security events (@scheb)
bug #39610 [ProxyManagerBridge] fix PHP notice, switch to “friendsofphp/proxy-manager-lts” (@nicolas-grekas)

WARNING: 5.1.11 is the last version for the Symfony 5.1 branch. If some
of your projects are still using this version, consider upgrading as soon as possible.
Want to upgrade to this new release? Because Symfony protects
backwards-compatibility very closely, this should be quite easy. Use
SymfonyInsight upgrade reports
to detect the code you will need to change in your project and
read our upgrade
documentation to learn more.
Want to be notified whenever a new Symfony release is published? Or when a
version is not maintained anymore? Or only when a security issue is fixed?
Consider subscribing to the Symfony Roadmap Notifications.



Sponsor the Symfony project.

feedproxy.google.com/~r/symfony/blog/~3/ ...

Symfony 5.1.11 released (Symfony Blog)
Symfony 5.1.11 has just been released.
| | |
techie
14h | Jan 27, 2021, 3:20:39 PM
Symfony 5.2.2 released
/ng/symfony

Symfony 5.2.2 has just been released. Here is a list of the most
important changes:

bug #38900 [Serializer] Exclude non-initialized properties accessed with getters (@BoShurik)
bug #39982 [SecurityBundle] Fix referencing aliases from RegisterEntryPointsPass (@chalasr)
bug #39872 [Validator] propagate the object being validated to nested constraints (@xabbuh)
bug #39887 [Translator] fix handling plural for floating numbers (@kylekatarnls)
bug #39967 [Messenger] fix redis messenger options with dsn (@Kleinast)
bug #39970 [Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64 (@nicolas-grekas)
bug #39956 [Uid] fix checking for valid UUIDs (@nicolas-grekas)
bug #39951 [Form] check parent types for labe _format and translatio _domain (@xabbuh)
bug #39911 [RateLimiter] Fix infinite values with NoLimiter (@YaFou)
bug #39936 [Validator] Fix DebugCommand (@loic425)
bug #39909 [PhpUnitBridge] Allow relative path to composer cache (@jderusse)
bug #39944 [HttpKernel] Configure the ErrorHandler even when it is overriden (@nicolas-grekas)
bug #39896 [PropertyInfo] Fix breaking change with has(arguments…) methods (@YaFou)
bug #39932 [Console] [Command] Fix Closure code binding when it is a static anonymous function (@fancyweb)
bug #39871 [Notifier] [OvhCloud] “Invalid signature” for message with slashes (@OneT0uch)
bug #39900 [Uid] Unable to extend Uuid/Ulid and use fromString() (@OskarStark)
bug #39880 [DoctrineBridge] Add username to UserNameNotFoundException (@qurben)
bug #39633 [HttpFoundation] Drop int return type from parseFilesize() (@LukeTowers)
bug #39889 [HttpClient] Add check for constant in Curl client (@pierredup)
bug #39886 [HttpFoundation] Revert #38614 and add assert to avoid regressions (@BafS)
bug #39873 [DependencyInjection] Fix container injection with TypedReference (@jderusse)
bug #39858 Fix problem when SYMFON _PHPUNI _VERSION is empty string value (@alexander-schranz)
bug #39861 [DependencyInjection] Skip deprecated definitions in CheckTypeDeclarationsPass (@chalasr)
bug #39862 [Security] Replace message data in JSON security error response (@wouterj)
bug #39859 [Security] Replace message data in JSON security error response (@wouterj)
bug #39839 [Messenger] [AmazonSqs] Fix auto-setup for fifo queue (@starred-gijs)
bug #39667 [DoctrineBridge] Take into account that indexBy=”perso _id” could be a db column name, for a referenced entity (@victormacko)
bug #39799 [DoctrineBridge] Fix circular loop with EntityManager (@jderusse)
bug #39821 [DependencyInjection] Don’t trigger notice for deprecated aliases pointing to deprecated definitions (@chalasr)
bug #39816 [HttpFoundation] use atomic writes in MockFileSessionStorage (@nicolas-grekas)
bug #39812 Make EmailMessage & SmsMessage transport nullable (@odolbeau)
bug #39735 [Serializer] Rename normalize param (@VincentLanglet)
bug #39797 Dont allow unserializing classes with a destructor (@jderusse)
bug #39743 [Mailer] Fix missing BCC recipients in SES bridge (@jderusse)
bug #39764 [Config]  fix handling float-like key attribute values (@xabbuh)
bug #39787 [Yaml] a colon followed by spaces exclusively separates mapping keys and values (@xabbuh)
bug #39788 [Cache] fix possible collision when writing tmp file in filesystem adapter (@nicolas-grekas)
bug #39796 Dont allow unserializing classes with a destructor - 5.2 (@jderusse)
bug #39794 Dont allow unserializing classes with a destructor - 4.4 (@jderusse)
bug #39795 Dont allow unserializing classes with a destructor - 5.1 (@jderusse)
bug #39389 [Security]  Move the handleAuthenticationSuccess logic outside try/catch block (@jderusse)
bug #39747 [DependencyInjection] Support PHP 8 builtin types in CheckTypeDeclarationsPass (@derrabus)
bug #39738 [VarDumper] fix mutating $GLOBALS while cloning it (@nicolas-grekas)
bug #39746 [DependencyInjection] Fix InvalidParameterTypeException for function parameters (@derrabus)
bug #39681 [HttpFoundation] parse cookie values containing the equal sign (@xabbuh)
bug #39716 [DependencyInjection] do not break when loading schemas from network paths on Windows (@xabbuh)
bug #39703 [Finder] apply the sort callback on the whole search result (@xabbuh)
bug #39717 [TwigBridge] Remove full head content in HTML to text converter (@pupaxxo)
bug #39672 [FrameworkBundle] Fix UidNormalizer priority (@fancyweb)
bug #39649 [Validator] propagate groups to nested constraints (@xabbuh)
bug #39708 [WebProfilerBundle] take query and request parameters into account when matching routes (@xabbuh)
bug #39692 [FrameworkBundle] Dump abstract arguments (@jderusse)
bug #39683 [Yaml] keep trailing newlines when dumping multi-line strings (@xabbuh)
bug #39670 [Form] disable error bubbling by default when inheri _data is configured (@xabbuh)
bug #39686 [Lock] Fix config merging in lock (@jderusse)
bug #39668 [Yaml] do not dump extra trailing newlines for multiline blocks (@xabbuh)
bug #39674 [Messenger] fix postgres transport when the retry table is the same (@lyrixx)
bug #39653 [Form] fix passing null $pattern to IntlDateFormatter (@nicolas-grekas)
bug #39637 [Security] Fix event propagation for AuthenticationTokenCreatedEvent when globally registered (@scheb)
bug #39647 [Validator] Update Isin message to match the translation files (@derrabus)
bug #39598 [Messenger] Fix stopwach usage if it has been reset (@lyrixx)
bug #39636 [Uid] Handle ValueErrors triggered by ext-uuid on PHP 8 (@derrabus)
bug #39631 [VarDumper] Fix display of nullable union return types (@derrabus)
bug #39629 [VarDumper] fixed displaying “mixed” as “?mixed” (@nicolas-grekas)
bug #39597 [Mailer] Handle failure when sending DATA (@jderusse)
bug #39621 [Security] Fix event propagation for globally registered security events (@scheb)
bug #39603 [TwigBridge] allow null values in form helpers (@xabbuh)
bug #39610 [ProxyManagerBridge] fix PHP notice, switch to “friendsofphp/proxy-manager-lts” (@nicolas-grekas)
bug #39584 [Security] Add RememberMe Badge to LoginLinkAuthenticator (@jderusse)
bug #39586 Supports empty path for slack DSN (@odolbeau)

Want to upgrade to this new release? Because Symfony protects
backwards-compatibility very closely, this should be quite easy. Use
SymfonyInsight upgrade reports
to detect the code you will need to change in your project and
read our upgrade
documentation to learn more.
Want to be notified whenever a new Symfony release is published? Or when a
version is not maintained anymore? Or only when a security issue is fixed?
Consider subscribing to the Symfony Roadmap Notifications.



Sponsor the Symfony project.

feedproxy.google.com/~r/symfony/blog/~3/ ...

Symfony 5.2.2 released (Symfony Blog)
Symfony 5.2.2 has just been released.
| | |
techie
3d | Jan 25, 2021, 1:21:34 PM
CFP and CFT for SymfonyLive Online conferences end next week
/ng/symfony

During the first semester of 2021, we’ll happily meet you online for several conferences, in dedicated languages:


A Polish Online Conference on March 12th: SymfonyLive Online Polish Edition 2021
A French Online Conference on April 9th: SymfonyLive Online French Edition 2021
A German Online Conference on April 16th: SymfonyLive Online German Edition 2021
A Spanish Online Conference on May 7th: SymfonyLive Online Spanish Edition 2021
An international Online Conference in English on June 17-18: SymfonyWorld Online 2021**. Early bird is open until February 8th 2021, book your online workshop ticket or combo workshop and conference ticket or conference only ticket now.


Call for Papers and Call for Trainers for all SymfonyLive Online 2021 conferences end next week, on February 1st 2021, and Call for Papers and Call for Trainers for SymfonyWorld 2021 is open until February 15th 2021, send in your talk and workshop proposals now!

Being a speaker or a trainer of any Online Symfony conference means that you’ll receive your free ticket to attend the conference and your speaker package gift! We also provide the material for your online talk or workshop, meaning that we’ll send you a camera and a mic if yours are not good enough to record your talk or deliver your workshop! Speaking of recording, we are pre-recording all talks to enable a smooth conference experience. Having the talks pre-recorded prevent us from any sound, image or technical issues during the conference. It also enables us to add subtitles to all talks making sure you can fully understand our speakers and being inclusive with everyone. Plus, it will also save us time in the editing of videos. All talks will be ready for replay! Last but not least, if you never spoke at a conference before, you'll be able to organize rehearsals with a mentor and be stress-free during the conference as your talk will be ready! It's the best opportunity to jump in and become a speaker!

The Diversity Initiative can also help you with your talk. There is a #diversity Slack channel but also a #speaker-mentoring channel. If you need feedback from experienced speakers or other people just starting out their speaking career, come by and say “hi”. Read the last Diversity Update blog post for more information.

Since your talk will be pre-recorded, you'll be available online to answer questions during or at the end of your talk in the track chat! This way, it's very easy to interact or network with our attendees! For trainers, workshops won't be pre-recorded neither recorded.

Send in now your talk and workshop proposals:


CFP and CFT SymfonyLive Online 2021 in Polish
CFP and CFT SymfonyLive Online 2021 in French
CFP and CFT SymfonyLive Online 2021 in German
CFP and CFT SymfonyLive Online 2021 in Spanish
CFP and CFT SymfonyWorld Online 2021 in English


Become a Speaker or Trainer at our upcoming Online Symfony conferences!



Sponsor the Symfony project.

feedproxy.google.com/~r/symfony/blog/~3/ ...

CFP and CFT for SymfonyLive Online conferences end next week (Symfony Blog)
We’re thrilled to meet you online for our upcoming SymfonyLive conferences! Our CFP and CFT for all SymfonyLive Online conferences end next week, on February 1st 2021, send in your talk and workshop...
| | |
techie
4d | Jan 24, 2021, 11:20:16 AM
A Week of Symfony #734 (18-24 January 2021)
/ng/symfony

This week, Symfony made some changes in the default way that JavaScript files are linked from templates. In addition, the Uid component added some utilities to convert from different formats and Symfony improved the handling of CSRF tokens to prevent BREACH security attacks.

Symfony development highlights

This week, 67 pull requests were merged (37 in code and 30 in docs) and 69 issues were closed (61 in code and 8 in docs). Excluding merges, 40 authors made 3,116 additions and 210 deletions. See details for code and docs.

4.4 changelog:


6af4446: fix problem when SYMFONY_PHPUNIT_VERSION is empty string value
98bfdf7: [HttpClient] add check for constant in Curl client
ee5b51a: [DoctrineBridge] add username to UserNameNotFoundException
3257d4c: [HttpFoundation] drop int return type from parseFilesize()
35c19c8: [DoctrineBridge] add username to UserNameNotFoundException
64398da: [MonologBridge] typo in consoleFormatterOptions property name
c6f5e2a: [Console] fix Closure code binding when it is a static anonymous function
799bc2a: [HttpKernel] configure the ErrorHandler even when it is overriden
0c7eb27: [PhpUnitBridge] allow relative path to composer cache


5.1 changelog:


2c8368f: [Uid] clarify the format returned by getTime()
64c8a55: [Uid] unable to extend Uuid/Ulid and use fromString()
1c9d2c8: [Notifier] fix invalid signature for message with slashes in OvhCloud
de8ddfd: [PropertyInfo] fix breaking change with has*(arguments...) methods


5.2 changelog:


b4c362c: [Validator] fix DebugCommand
3fedac0: [RateLimiter] fix infinite values with NoLimiter


5.x changelog:


2941951: [Asset] fix JsonManifest when there is no dependency on HttpClient
b4ec36f: [DependencyInjection] fix container injection with TypedReference
49889c9: [DependencyInjection] add a remove() method to the PHP configurator
6b9fa0b: [FrameworkBundle] do not fail when MercureBundle is not installed
dc9db1e: [Console] add option --short to the list command
c5140c2: [Uid] add fromBase58(), fromBase32(), fromRfc4122() and fromBinary() methods
0a66727: [Notifier] fix HttpClient TransportException handling
4c2375f: [Security] randomize CSRF token to harden BREACH attacks


Newest issues and pull requests


Add support for bright colours in symfony/console
[Messenger] Support for an AWS SNS transport
Autowire ServiceLocator with iterable of tagged services


They talked about us


Switch Symfony String Route Names to Constants
How to override Router URL Generator in Symfony 5
Новое в Symfony: инициатива UX — новая экосистема JavaScript для Symfony
Новое в Symfony 5.2: атрибуты PHP 8


Call to Action


Follow Symfony on Twitter and retweet this article.
Subscribe to the Symfony blog RSS and never miss a Symfony story again.




Sponsor the Symfony project.

feedproxy.google.com/~r/symfony/blog/~3/ ...

A Week of Symfony #734 (18-24 January 2021) (Symfony Blog)
This week, Symfony made some changes in the default way that JavaScript files are linked from templates. In addition, the Uid component added some utilities to convert from different formats and Symfo...
| | |
techie
9d | Jan 19, 2021, 2:20:26 PM
Moving <script> inside <head> and the "defer" Attribute
/ng/symfony

With the introduction of the Symfony UX Initiative a lot of cool things are
happening in the Symfony world related to JavaScript. Stimulus already has
great integration thanks to the Encore.enableStimulusBridge() feature and
Turbo has huge potential to give an SPA-like experience with server-rendered HTML.
Related to this, I want to talk about a simple change that just happened to the
symfony/twig-bundle recipe.
If you start a new project today, the location of the {% block javascripts %}
in base.html.twig has moved from the bottom of the page up into &lt;head&gt;:
1
2
3
4
5
6
7
8
9
10
11
12&lt;!-- templates/base.html.twig --&gt;
&lt;html&gt;
&lt;head&gt;
{% block stylesheets %}{% endblock %}
+
+ {% block javascripts %}{% endblock %}
&lt;/head&gt;
&lt;body&gt;
{% block body %}{% endblock %}
- {% block javascripts %}{% endblock %}
&lt;/body&gt;
&lt;/html&gt;


Historically, this lived at the bottom of the page so that any &lt;script&gt; tags wouldn’t
be executed until the page had already finished loading. This was for two reasons:

When your browser sees a normal &lt;script&gt; tag, it waits (blocks the page) while
that JavaScript is downloaded and executed.
You often want the full HTML to already be available when your JavaScript executes.

So why did we move the javascripts block into &lt;head&gt;? Isn’t that worse? Actually,
it’s better, as long as your script tags have the defer attribute.

&lt;script src=”” defer&gt;¶
When your browser sees a &lt;script tag with a defer attribute, it treats it
differently. First, it still starts downloading it immediately… but your browser
does not wait for it to be downloaded before rendering the rest of the page: it is
“non-blocking”. And second, after the JavaScript is downloaded, your browser
waits until the page is fully-loaded before executing the JavaScript.
In other words: your browser starts downloading the file earlier (without blocking
the page) but your code is still executed after the page is loaded: the same as
having it at the bottom of the page.
So as long as your add the defer attribute, life is good! Well… except for
“inline” JavaScript: it behaves differently.


The “Caveat”: Inline JavaScript Cannot be Deferred¶
When you use &lt;script src=&quot;/app.js&quot; defer&gt;, that code will execute after the
page finishes loading, just like if the &lt;script&gt; tag were at the bottom of
the page. But inline JavaScript cannot be deferred.
Imagine you have an app.js file that creates a global variable:
1
2
3
4
5// app.js
// set a global &quot;App&quot; variable
window.App = {
// ...
}


And then you write some “inline” JavaScript in your template that uses it:
1
2
3
4
5
6
7
8
9&lt;html&gt;
&lt;head&gt;
&lt;script src=&quot;/app.js&quot; defer&gt;&lt;/script&gt;
&lt;script defer&gt;
// try to use the App variable from app.js
App.initializeSomething();
&lt;/script&gt;
&lt;/head&gt;
&lt;!-- ... --&gt;


If you tried this, you’d get an error!

Uncaught ReferenceError: App is not defined
If you have multiple &lt;script src=&quot;/...&quot; defer&gt; tags, they do render in order.
The problem is that “inline” JavaScript cannot be deferred: it always executes
immediately. This means that App.initializeSomething() is called before
app.js.
If you have a lot of inline JavaScript like this, then you may not be able to
use defer. No problem: keep your JavaScript at the bottom of the page without
defer.
But the ideal solution is to move all of your inline JavaScript into
external JavaScript files. This can sometimes be tricky if you want to pass a
dynamic value into JavaScript. This can be fixed by setting a global
variable and reading that in your external JavaScript:
1
2
3
4
5
6
7
8
9&lt;script src=&quot;/app.js&quot; defer&gt;&lt;/script&gt;

&lt;script&gt;
- // JavaScript is &quot;inline&quot; so we can use Twig to pass a dynamic value
- App.initializeSomething(&#39;{{ someDynamicValue }}&#39;);

+ // read this from app.js
+ window.SOME_DYNAMIC_VALUE = &#39;{{ someDynamicValue }}&#39;
&lt;/script&gt;


In app.js, you can read window.SOME_DYNAMIC_VALUE. Another popular approach
is to add data- attributes to an element and read them in JavaScript.


encore_entry_script_tags() and the “defer” Attribute¶
If you use Webpack Encore, then you probably don’t write your &lt;script&gt; tags
by hand: you render them with the handy encore_entry_script_tags() Twig function.
So, how can we add the defer attribute?
In WebpackEncoreBundle 1.9, you can specify - in webpack_encore.yaml - an array
of attributes that you want to include on all script tags. To always add
defer:
1
2
3
4
5
6# config/packages/webpack_encore.yaml
webpack_encore:
# ...

+ script_attributes:
+ defer: true


That’s it! No change needed to your templates. If you install WebpackEncoreBundle
today, you’ll get this config automatically thanks its recipe.
Have any questions, let us know! We’ll soon cover all of this on SymfonyCasts.
Have fun!




Sponsor the Symfony project.

feedproxy.google.com/~r/symfony/blog/~3/ ...

Moving <script> inside <head> and the "defer" Attribute (Symfony Blog)
The Twig javascripts block was recently moved up into head in base.html.twig. By using the defer attribute, this can give you the same behavior but better performance.
| | |
techie
11d | Jan 17, 2021, 9:20:12 AM
A Week of Symfony #733 (11-17 January 2021)
/ng/symfony

This week, Symfony added a new shortcut to render forms and set the needed HTTP status code when the form contains errors. In addition, Symfony appointed Oskar Stark as a new member of the Symfony Core team and it published an update on the diversity initiative.

Symfony development highlights

This week, 75 pull requests were merged (51 in code and 24 in docs) and 152 issues were closed (97 in code and 55 in docs). Excluding merges, 34 authors made 5,643 additions and 3,673 deletions. See details for code and docs.

4.4 changelog:


b85611f: don't allow unserializing classes with a destructor
2852a42: &#91;Cache&#93; fixed possible collision when writing tmp file in filesystem adapter
7aad824: &#91;Yaml&#93; a colon followed by spaces exclusively separates mapping keys and values
0211b9a: &#91;Config&#93; fix handling float-like key attribute values
6eff263: &#91;Mailer&#93; fix missing BCC recipients in SES bridge
d23b74e: &#91;Serializer&#93; rename normalize param
f021d6f: updated Slovenian translations
9c6381c: &#91;HttpFoundation&#93; use atomic writes in MockFileSessionStorage
0e25f40: &#91;DependencyInjection&#93; don't trigger notice for deprecated aliases pointing to deprecated definitions
2c9a837: &#91;DoctrineBridge&#93; fix circular loop with EntityManager
8076c2f: &#91;DoctrineBridge&#93; take into account that property could be a column name for a referenced entity
833a9e0: &#91;Security&#93; replace message data in JSON security error response
5ba237a: &#91;DependencyInjection&#93; skip deprecated definitions in CheckTypeDeclarationsPass


5.1 changelog:


4169746: &#91;Notifier&#93; make EmailMessage &amp; SmsMessage transport nullable
402a800: &#91;Messenger&#93; fix auto-setup for fifo queue in AmazonSqs


5.2 changelog:


5dff21b: &#91;Security&#93; move the handleAuthenticationSuccess logic outside try/catch block
15e7eee: &#91;HttpClient&#93; fix transient test with HttpClient jitter
f448627: &#91;SecurityBundle&#93; remove invalid service definition


5.x changelog:


1eb849d: &#91;Notifier&#93; change DSN API
e55762d: &#91;Notifier&#93; add GatewayApi bridge
f2ba203: &#91;Notifier&#93; add Octopush notifier transport
0764380: &#91;Notifier&#93; add AllMySms Bridge
771a2a4: &#91;HttpFoundation&#93; deprecate the NamespacedAttributeBag class
93e853d: &#91;Security&#93; RoleHierarchy returns an unique array of roles
fa87194: &#91;FrameworkBundle&#93; add renderForm() helper setting the appropriate HTTP status code


Newest issues and pull requests


[Uid] Add fromBase58(), fromBase32(), fromRfc4122() and fromBinary() methods
Nondeterministic cache builds
Debug option for Symfony Console (Xdebug)


They talked about us


Login attempt in Symfony under 5.2 version
Create Symfony Bundles on a whim
What you need to know about Symfony 5.2


Call to Action


Follow Symfony on Twitter and retweet this article.
Subscribe to the Symfony blog RSS and never miss a Symfony story again.




Sponsor the Symfony project.

feedproxy.google.com/~r/symfony/blog/~3/ ...

A Week of Symfony #733 (11-17 January 2021) (Symfony Blog)
This week, Symfony added a new shortcut to render forms and set the needed HTTP status code when the form contains errors. In addition, Symfony appointed Oskar Stark as a new member of the Symfony Cor...
| | |
techie
14d | Jan 14, 2021, 8:20:16 AM
New Symfony Core Team Member: Oskar Stark
/ng/symfony

You might already know Oskar Stark as a Symfony Documentation
Core Team member.
Even if his first pull request on symfony/symfony was in 2015, he recently
started to make many changes to the Notifier component, making great
contributions to stabilize the component for Symfony 5.3.
With Oskar joining the core team, there is now 20 Symfony Core Team members who
take care of managing Symfony’s code. I’m very happy that Symfony can rely on
such a strong core team which handles contributions made by thousands of
contributors.
Please, join me in welcoming Oskar in his new role!



Sponsor the Symfony project.

feedproxy.google.com/~r/symfony/blog/~3/ ...

New Symfony Core Team Member: Oskar Stark (Symfony Blog)
New Symfony Core Team Member: Oskar Stark
| | |
techie
14d | Jan 13, 2021, 8:20:14 PM
Update from the Diversity Initiative
/ng/symfony

We wanted to update the community a bit about things happening within the diversity initiative. First up let us talk about how remote conferences are actually an opportunity for diversity and inclusion. Not requiring traveling reduces costs and other hurdles like visa and requirement for family arrangements. Furthermore, since talks at SymfonyWorld were pre-recorded it was possible to ask speakers to add subtitles ahead of time. If you have feedback on how we can improve further, especially in regards to diversity and inclusion, please join #diversity on the Symfony slack.

Speaking of speaking, we also wanted to point out that the global diversity CFP day is happening again on January 23rd. Due to COVID-19 this free event for members of marginalized communities is happening virtually this year just like most conferences right. We envision that also in the future more conferences will happen virtually. This of course brings some new challenges (f.e. having to ensure lighting and audio yourself) but it also provides some new opportunities since people that have held off from public speaking hopefully now find it less frightening. At many conferences the talks can now even be fully pre-recorded!

Related to this, we not only have a #diversity Slack channel but also a #speaker-mentoring channel. If you need feedback from experienced speakers or other people just starting out their speaking career, come by and say “hi”. While we are at it, we also have a #thankyou channel for when you want to thank someone that helped you nail your first conference talk. And in that spirit we also have a #victory channel to celebrate your success.

Right now several people will attend the CoC training so that we can add new people to the CARE team. These trainings are paid for by the donations by the community to the OpenCollective fund. We would like to thank our donors for making this possible.



Sponsor the Symfony project.

feedproxy.google.com/~r/symfony/blog/~3/ ...

Update from the Diversity Initiative (Symfony Blog)
We wanted to update the community a bit about things happening within the diversity initiative.
| | |
techie
17d | Jan 11, 2021, 2:20:28 PM
One week left to enjoy the Early Bird registration for SymfonyLive Online conferences
/ng/symfony

2021 is already here and we’re glad to meet you online again at our upcoming conferences! We'll have the pleasure to organize several online conferences, in dedicated languages:


A Polish Online Conference: SymfonyLive Online 2021 in Polish
A French Online Conference: SymfonyLive Online 2021 in French
A German Online Conference: SymfonyLive Online 2021 in German
A Spanish Online Conference: SymfonyLive Online 2021 in Spanish


Early bird registration for all SymfonyLive Online conferences ends next week on January 18th 2021. Get now your workshop only ticket or conference only ticket or combo workshop and conference ticket at Early Bird price! Call for Papers for all SymfonyLive Online conferences ends on January 25th 2021, send in your talk proposals now!

Check all conferences agenda:


SymfonyLive Online 2021 in Polish. The event will come with 2 pre-conference online workshop days in English on March 10-11, most workshop topics have been announced. The conference day will be on March 12, with 2 conference tracks in Polish only. Call for Papers is open until January 25, submit now your talk proposals. Early bird is open until January 18th 2021, book your online workshop ticket or combo workshop and conference ticket or conference only ticket now!
SymfonyLive Online 2021 in French. The event will come with 2 pre-conference online workshop days in French on April 7 and 8, most workshop topics have been announced. The conference day will be on April 9, with 2 conference tracks in French only. Call for Papers is open until January 25, submit now your talk proposals. Early bird is open until January 18th 2021, book your online workshop ticket or combo workshop and conference ticket or conference only ticket now.
SymfonyLive Online 2021 in German. The event will come with 2 pre-conference online workshop days in English on April 14 and 15, most workshop topics have been announced. The conference day will be on April 16, with 2 conference tracks in German only. Call for Papers is open until January 25, submit now your talk proposals. Early bird is open until January 18th 2021, book your online workshop ticket or combo workshop and conference ticket or conference only ticket now.
SymfonyLive Online 2021 in Spanish. The event will come with 2 pre-conference online workshop days in English on May 5 and 6, most workshop topics have been announced. The conference day will be on May 7, with 2 conference tracks in Spanish only. Call for Papers is open until January 25, submit now your talk proposals. Early bird is open until January 18th 2021, book your online workshop ticket or combo workshop and conference ticket or conference only ticket now.


Most pre-conference workshops have been announced, read our blog post to discover all the workshop topics.

Join us also at SymfonyWorld Online 2021 in English. The international event will come with 2 pre-conference online workshop days in English on June 15 and 16. The 2-day conference will be on June 17-18, with 2 conference tracks per day in English only. Call for Papers is open until February 15, submit now your talk proposals. Early bird is open until February 8th 2021, book your online workshop ticket or combo workshop and conference ticket or conference only ticket now.

Interested in sponsoring our conferences? Contact us at event[at]symfony.com to get more information about our sponsorship offers.

Book your online early bird conference ticket now before the price changes on January 18th 2021!



Sponsor the Symfony project.

feedproxy.google.com/~r/symfony/blog/~3/ ...

One week left to enjoy the Early Bird registration for SymfonyLive Online conferences (Symfony Blog)
We organize several Online conferences at the first semester of 2021. Enjoy our early bird registration until January 18th 2021!
| | |