Skip to content

v0.20.3

Choose a tag to compare

@github-actions github-actions released this 15 Sep 21:44
· 232 commits to main since this release
Immutable release. Only release title and notes can be modified.
5f17685

0.20.3 (2026-09-15)

  • Read YAML configuration values with Symfony's own YAML parser, so numbers written as 60_000, +60, 0x1A or 0o17 are no longer reported as invalid types
  • Treat every tagged YAML configuration value as opaque instead of only !php/const
  • Read bundle configuration schemas from the extensions the kernel registers, so a bundle that declares its extension while prepending no longer has every configured key reported as unknown
  • Speed up checks by compiling each .gitignore file once per project instead of once per examined file
  • Speed up checks by looking for a suppression directive before parsing a document's comments
  • Read Messenger bus and transport references from Messenger configuration keys instead of any YAML key named like them, so a $bus service argument is no longer reported as an unknown bus
  • Read bus names from resolved BusNameStamp instantiations instead of matching the class name in text, so string contents and same-named classes from other namespaces are ignored
  • Recognize routed Messenger transports declared under a senders key, in block or inline style, and stop reporting the senders key itself as an unknown transport
  • Read Twig {% trans %} keys from parsed tag directives instead of matching tag text, so a tag inside a string literal is ignored and whitespace-control forms are recognized
  • Recognize createForm() and createNamed() only on $this or a form factory receiver, so options passed to a same-named method on an unrelated object are no longer diagnosed
  • Ignore Stimulus markup inside HTML comments and read data-action references only from complete Stimulus descriptors, so commented markup and URL values are no longer reported as unknown controllers
  • Read YAML validation constraints and their options the way Symfony does, so nested constraints such as the entries of All are no longer reported as unknown options of their parent
  • Ignore trans() calls whose receiver is declared with a type no translator can satisfy
  • Bind PHP route collection variables through parsed type declarations and object creations, so a RoutingConfigurator mentioned in a comment or a string no longer turns unrelated add() calls into routes
  • Read a repository's @extends ServiceEntityRepository<Entity> tag from its own doc comment instead of the preceding kilobyte of source
  • Offer Twig completion for assets, routes, templates, security roles and Stimulus helpers only inside a Twig directive, and Stimulus data-* attribute completion only in markup
  • Scope Messenger option completion in YAML to Messenger configuration and service tags
  • Read subscribed events from the array a declared event subscriber returns, so local arrays and same-named methods on unrelated classes no longer register events
  • Read serializer groups context entries from serializer attributes and calls instead of any groups key, so validation groups are no longer indexed as serializer groups
  • Recognize groups in serializer Context attributes
  • Treat a doubled %% as an escaped percent sign in environment expressions
  • Recognize form options declared by a type extension registered on several types of the same hierarchy
  • Report unknown Twig components only in applications that enable symfony/ux-twig-component, so an application's own component() Twig function is no longer diagnosed