This week, Symfony released the first beta of Symfony 5.1.0, the upcoming version which will be released at the end of May 2020. Meanwhile, Symfony added a new mechanism to deprecate public services into private, a new way to automate the handling of schema differences and deprecated the Inflector component in favor of the String component.
Symfony development highlights
This week, 75 pull requests were merged (69 in code and 6 in docs) and 57 issues were closed (47 in code and 10 in docs). Excluding merges, 26 authors made 6,234 additions and 1,744 deletions. See details for code and docs.
- e3d2a50: [Inflector] improve testSingularize() argument name
- 469d82d: [Validator] s469d82d6e2b9af282690482edcdd03a2be4de377kip validation when email is an empty object
- bb77914: [Yaml] fixed parse error when unindented collections contain a comment
- 78a7f46: [DX] show the ParseException message in all YAML file loaders
- cf0d086: [WebProfiler] do not add src-elem CSP directives if they do not exist
- bd952b9: [Filesystem] handle paths on different drives
- cfa048c: fixed exception messages containing exception messages
- 6340e87: [Yaml] prevent notice for invalid octal numbers on PHP 7.4
- 9b89115: [PhpUnitBridge] mark parent class also covered in CoverageListener
- 9b088bb: removed patches for Doctrine bugs and deprecations
- 94482fe: [FrameworkBundle] display actual target for error in AssetsInstallCommand
- f6ae18e: [DependencyInjection, EventDispatcher] added contract for implementation
- 0a7fa8f: executed Docker dependent tests with GitHub actions
- 64e5a9d: [Console] default hidden question to 1 attempt for non-tty session
- cf6e499: [Console] don't check tty on stdin because it breaks with data lost during stream conversion
- a609375: [Mime] fixed bad method call on EmailAddressContains
- e75c227: [Messenger] queue name is a required parameter
- 99d5818: [HttpClient] test that timeout is not fatal
- 6310084: [Mime] handle passing custom mime types as string
- e9be741: [FrameworkBundle] allow configuring the default base URI with a DSN
- a910192: [DependencyInjection] add a mechanism to deprecate public services to private
- 6852327: [Yaml] properly handle empty lines
- 0d4bba8: [Messenger] added support for RecoverableException
- 09d78cf: [Yaml] added support for YAML 1.2 octal notation and deprecated YAML 1.1 one
- 55706f7: log deprecations on a dedicated Monolog channel
- a0c2dd8: [Security] added CustomUserMessageAccountStatusException
- 3d30ff7: [ExpressionLanguage] added expression language syntax validator
- b9d4149: automatically provide Messenger Doctrine schema to "diff"
- 341ea45: [Form] added the html5 option to ColorType to validate the input
- 3e737ec: [Inflector, String] moved Inflector to String
- 5a2aef1: [String] allow passing a string of custom characters to ByteString::fromRandom
- 3cb4056: [Serializer] allowed to include the severity in ConstraintViolationList
- 36c0ce7: [FrameworkBundle] use the router context by default for assets
- 4dbf987: [Form] deprecated NumberToLocalizedStringTransformer::ROUND_* constants
- af160e2: [HttpFoundation] fixed perf of ResponseHeaderBag::initDate()
- 75e71e3: [FrameworkBundle] removed getProjectDir method from MicroKernelTrait
- 4eb32cf: [DependencyInjection] reduced recursivity of ResolveHotPathPass
- 070552e: [DependencyInjection] give priority to container.hot_path over container.no_preload
- 8f58a2d: [Cache] fixed accepting sub-second max-lifetimes in ArrayAdapter
- 012247d: [HttpClient] removed "experimental" annotations
- 8fec065: [HttpClient] fixed dealing with informational response
- 97a5782: [Security] improved method signatures
- 3acc28f: [HttpClient] added TimeoutExceptionInterface
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.14.4 version with the following changes:
- Hide cursor when the spinner is running
- Fix errors not displayed when starting the proxy
- Fix detaching domains
- Fix 'panic: send on closed channel'
Newest issues and pull requests
- [RFC] [DI] Compiler pass to remove optional/invalid services
- Add an option in the tagged Service Locator to enforce unique index
- [RFC] Pass RequestContext from RouterListener to Matchers explicitly
- Don't require an object property to be readable for writing
They talked about us
- Lockdown diaries — React + Symfony + Api Platform: the perfect combination
- GraphQL between Angular and Symfony
- Symfony Request & Response flow
- Why & How to use Doctrine Migrations Rollup?
- Deploying Symfony5 / Webpack / Apache / MySQL with Heroku
- Nuevo en Symfony 5.1: Soporte para Async AWS
- Nuevo en Symfony 5.1: Configuración más simple del contexto de la petición
- Nuevo en Symfony 5.1: Validador para ExpressionLanguage
- Nuevo en Symfony 5.1: Protección frente a ataques SSRF
- Как переиспользовать код с бандлами Symfony 5? Часть 6. Тестирование
Call to Action
- Follow Symfony on Twitter and retweet this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.
Good job !