This week, development activity focused on fixing some bugs and polishing some of the new features introduced in the upcoming Symfony 5.1 version, which will be released next week. Meanwhile, Symfony 3.4 and all the other versions were updated to add compatibility with PHP 8, which will be released at the end of the year.
Symfony development highlights
This week, 63 pull requests were merged (47 in code and 16 in docs) and 33 issues were closed (22 in code and 11 in docs). Excluding merges, 26 authors made 8,648 additions and 2,549 deletions. See details for code and docs.
- 7ee33f9: [HttpKernel] fixed error logger when stderr is redirected to /dev/null
- 8e428ed: [PhpUnitBridge] fixed bad detection of unsilenced deprecations
- 42c7975: [Intl] bumped ICU to 67.1 version
- af0df4c: [HttpKernel] fixed that the Store would not save responses with the X-Content-Digest header present
- 5fc4d1b: [Validator] added missing translations of nn locale
- 4a0d5f1: [HttpKernel] prevent calling method_exists() with non-string values
- b202696: [Debug] undefined variables raise a warning in PHP 8
- 77a826c: [Config] removed implicit cast of ReflectionProperty to string
- 14ffc02: [Intl] fixed call to ReflectionProperty::getValue() for static properties
- 4e19168: [Debug] PHP 8 does not pass $context to error handlers
- e220e7c: [PropertyAccess] parse PHP 8 TypeErrors correctly
- 475a715: [DomCrawler] catch expected ValueError
- 42692d6: [Validator] catch expected ValueError
- fb91dc2: [VarDumper] ReflectionFunction::isDisabled() is deprecated
- 410b621: address deprecation of ReflectionType::getClass()
- 6e368f1: [Cache] accessing undefined constants raises an Error in PHP 8
- c4ac3c1: [VarDumper] fixed PHP 8 support
- 638b200: [Security] unserialize $parentData if needed to avoid errors
- 2e46c63: [Security] fixed wrong roles comparison
- 6d7c696: [BrowserKit] raw body with custom Content-Type header
- a25e88b: [Cache, HttpClient] made method signatures compatible with their corresponding traits
- 6e368f1: [Cache] accessing undefined constants raises an Error in PHP 8
- 1a21a75: [OptionsResolver, Serializer] removed calls to deprecated ReflectionParameter::getClass()
- f32c2c1: [ErrorHandler] apply PHP 8 fixes from Debug component
- 87c6683: [HttpKernel] bring back the debug toolbar
- 754bba4: [DI] removed preload primitive types
- 0fd5b95: [Validator] allow passing a validator to Validation::createCallable()
- 8f6afdd: use ">=" for the "php" requirement in composer.json
- 3815b26: [Messenger] added suggestion for Amazon SQS transport and make check more readable
- a7c09ac: [Messenger] fixed check for allowed options in AwsSqs configuration
- 6314732: [Validator] made ExpressionLanguageSyntax validator usable with annotation
- a99a55f: [Form] don't add the inputmode attribute on fields whose type is the same
- c403789: [Security] removed "services" prototype node from "custom_authenticator"
- e00017e: [Validator] deprecated the "allowEmptyString" option
Symfony CLI
Symfony CLI is a must-have tool when developing Symfony applications on your local machine. It includes the Symfony Local Server, the best way to run local Symfony applications. This week Symfony CLI released its new 4.15.0 version with the following changes:
- Add
php-ext-install
helper available during SymfonyCloud build stage - Validate the configured PHP extensions availability before deploying
php.ini
is now used during the SymfonyCloud build stage- Allow
#admins
as recipients forhealth.email
integrations - Improve suggestions when command name is not found
- Turn URLs into links in
security:check
- Fix
security:check
does not respect output coloration - Fix formatting issues on small screens
- Fix serving files like
*.php.html
Newest issues and pull requests
- Run Symfony 3.4+ on PHP 8
- [Messenger] Add a catch-all routing rule
- ChoiceType Field should have a choice_translation_parameters option
- [HttpKernel][HttpClient] CachingHttpClient should be configurable as a private cache
- [Messenger] Consume batch of messages in bulk
They talked about us
- Build assets with Webpack Encore on Github Actions
- Basic Authentication and Registration Steps with Symfony Security Bundle (Symfony 5)
- How to Build an Automated Lone Worker System in PHP using Symfony Workflow & Twilio
- Serialize empty object as empty object instead of empty array with Symfony serializer
- Lightning-fast search using Symfony AlgoliaBundle
- Setting up Symfony with Imagine library and cloud storage (Amazon S3) efficiently, on top of Kubernetes
- Practical Guide — How to upgrade from Symfony 3.x to 5.0 ( or 4.x ) — Part 1
- Practical Guide — How to upgrade from Symfony 3.x to 5.0 ( or 4.x ) — Part 2
- How to use RabbitMQ with Symfony messenger
- Symfony. Subiendo archivos con Flysystem a S3
- Nuevo en Symfony 5.1: Mejoras en el componente Validator
- Nuevo en Symfony 5.1: Mejoras en los formularios
- Nuevo en Symfony 5.1: Mejoras en el componente HttpFoundation
- Nuevo en Symfony 5.1: Actualizaciones automáticas del esquema de base de datos
- Construire les assets avec Webpack Encore sur Github Actions
- Messenger Symfony : Responsabilité unique dans vos handlers
- Symfony Yerel Web Sunucusu
- Экспорт в Excel просто, быстро и красиво
- [EC-CUBE4(symfony)]createNamedBuilderでinput要素を配列で取得するChoiceTypeのformを作成(初心者向け)
Call to Action
- Follow Symfony on Twitter and retweet this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.