A Week of Symfony #851 (17-23 April 2023)

This week, we continued polishing the new features of the upcoming Symfony 6.3, which will be released in just five weeks. We also published the first blog posts of the New in Symfony 6.3 series. Finally, we announced new talks for the SymfonyOnline June 2023 conference.

Symfony development highlights

This week, 77 pull requests were merged (71 in code and 6 in docs) and 37 issues were closed (33 in code and 4 in docs). Excluding merges, 48 authors made 5,503 additions and 2,627 deletions. See details for code and docs.

5.4 changelog:

1a5e19b: [Filesystem] avoid leading .. for temporary files from Filesystem recursive remove
651b9d6: [Serializer] unexpected value should throw UnexpectedValueException
887c7b0: [Form] cast choices value callback result to string
af5b340: [PropertyAccess] readonly properties must have no PropertyWriteInfo
bee9131: [HttpFoundation] fix memory limit problems in BinaryFileResponse
8b65de5: [Mailer] use body MessageID instead of X-MJ-Request-GUID for Mailjet
0c5246f: [Messenger] fix warning message on failed messenger show command
ba49bda: [Messenger] fixed problem with Redis where worker stops handling messages on first empty message
6aacbd9: [VarDumper] make the server TCP connection sync
6470cc4: [PhpUnitBridge] fix PHPUnit 10.1 compatibility
5ba3046: [Mime] form field values with integer keys not resolved correctly
6366ed2: [Messenger] fix deprecation layer of RedeliveryStamp
2e66dcc: [Console] fix computing column width containing multibyte chars
4d15479: [Process] path resolution changes for PHP in the cgi-fcgi mode
1a06b3b: [HttpKernel] add tests for DataCollector
831e0ca: [Validator] fix support of Enum to ConstraintValidator::formatValue
659000f: [HttpClient] fix global state preventing two CurlHttpClient instances from working together
d1d7539: [Cache] fix success interpretation when pruning cache
638703d: [Cache] send Predis SSL options in the $hosts parameter
7589ff6: [Console] fix the list of supported shells for completions in a phar

6.2 changelog:

20ee89c: [DependencyInjection] fallback to default value when autowiring undefined parameters for optional arguments
a79fe36: [DependencyInjection] fix support for inner collections when using
5269b70: [Translation] fix locale vs LanguageId in Crowdin Bridge
b3bfdf9: [VarExporter] fix forwarding references to proxied classes
e1bcdd5: [Security] make onAuthenticationSuccess Response optional
6f77fa0: [DependencyInjection] do not ignore tags name attribute when it does not define their name
180eb01: [Console] fix the usage of the zsh completion through the fpath discovery

6.3 changelog:

773cb9d: [Routing] convert BackedEnums passed as controller action parameters to their value
849831c: [Validator] add value_length parameter to Length constraint
0eb0320: [HttpKernel] add #[MapQueryParameter] to map and validate individual query parameters to controller arguments
3712d2e: [HttpKernel] don’t use eval() to render ESI/SSI
ff336fa: [Intl] allow compressing emoji and data maps
03ca033: [BrowserKit, HttpClient] update the value of some user agents to comply with the RFC 9110 specification
6378563: [Form] don’t render seconds for HTML5 date pickers unless „with_seconds“ is explicitly set
bfd34b3: [Form] deprecate not configuring the „widget“ option of date/time form types
f709c6e: [Serializer] add types to private and internal properties
474239a: [HttpKernel] collect data from every event dispatcher
33da4c8: [HttpClient] allow using multiple base_uri as array for retries
887c960: [HttpKernel] enhance MapRequestPayload adding format and validation group
ed2414d: [HttpClient] add JsonMockResponse
7bdd344: [Security] added error code to UserPassword constraint
3761915: [HttpFoundation] clear IpUtils cache to prevent memory leaks
e957514: [HttpClient] support file uploads by nesting resource streams in body option
6584f1a: [Security] create Controller Argument Resolver for Security Token
c02173f: [HttpFoundation] add Request::getPayload()
eece9de: [HttpKernel] enhance MapQueryString adding validation group
24b1b02: [Config] improve GlobResource performance
805f207: [Lock] add the void return type in Lock interfaces

Newest issues and pull requests

[Routing] [RFC] Add content-type for Route class
[VarDumper] Tell us more about uninitialized properties
[Scheduler] Expose the run date?
Symfony Expression: Parse without context

SymfonyCasts Updates

SymfonyCasts is the official way to learn Symfony.
Select a track for a guided path through 100+ video tutorial courses about
Symfony, PHP and JavaScript.

These were some of the most relevant SymfonyCasts updates
of the week:

(Video) API Platform 3: Security for your Treasures, Chapter 25: User Test + Plain Password
(Video) API Platform 3: Security for your Treasures, Chapter 26: State Processors: Hashing the User Password
(Video) API Platform 3: Security for your Treasures, Chapter 27: Validation Groups & Patch Formats
(Video) API Platform 3: Security for your Treasures, Chapter 28: Dynamic Groups: Context Builder

They talked about us

Symfony Station Communiqué – 21 April 2023
Protect your application with Symfony rate limiter component
Configure Symfony Secrets with HashiCorp Vault
Hands-On With Drupal 10: Symfony 6.2, the New Tech Stack
Create a new Discussion with a Message and a Message to an existing Discussion [Api-platform]
Protéger son application avec le composant Rate Limiter de Symfony

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.

Symfony Blog

Read More

Latest News


PHP 8.3.8 released!

PHP 8.2.20 released!

PHP 8.1.29 released!

Generated by Feedzy