This week, Symfony development activity focused on fixing bugs and updating tests to make them compatible with the newest PHPUnit versions. Meanwhile, the upcoming Symfony 8.1 release started adding new features, such as a new attribute for interactive choice questions in console commands. Finally, Symfony UX introduced a new Toolkit package.

Symfony development highlights

This week, 119 pull requests were merged (94 in code and 25 in docs) and 53 issues were closed (49 in code and 4 in docs). Excluding merges, 37 authors made additions and deletions. See details for code and docs.

6.4 changelog:

  • edd3153: [HttpClient] fix assertion for updated syntax error messages in PHP 8.6
  • d0e18e8: [HttpKernel] don't reset services between fragments redering when using in HttpCache
  • 4b99a4a: [HttpClient] fix existing headers must be replaced in CachingHttpClient
  • cf613d6: [HttpKernel] Fix using HTTP Cache in worker mode
  • 28d4044: [HttpClient] fix and test replacing repeated headers with CachingHttpClient
  • a855e13: [Serializer] fix #[Ignore] on same-name properties <-> methods
  • ae9fb0f: [FrameworkBundle] fix mocking decorated services in tests
  • 58e95eb: [Messenger] fix DBALv4 support by replacing trigger by explicit pg_notify()
  • 215e04f: [Serializer] fix removing nested values
  • d0f5130: [Scheduler] fix array to string conversion in #[AsCronTask] arguments
  • 3d7eaf9: [HttpFoundation] fix double-prefixing of session keys when using redis/memcached
  • a98be41: [Process] ignore invalid env var names
  • 6495ec4: [Scheduler] array to string conversion when using AsCronTask with array options
  • 315b0db: [Finder] fix Finder::append() breaking generic typing contract
  • e6fb9f6, aee5b74, 339ecf4, 181ac74, 30932b7, 6a2d3ab, 8282a73, 4a993c4, 528a998, 528a998, ea2140e, fda8926, 07497fa, 36836b5, 1fd8f3f: do not use PHPUnit mock objects without configured expectations

7.3 changelog:

  • 6355d14: [JsonPath] fix tests for PHP 8.6
  • d809048: [TypeInfo] fix type resolution when called class is in other namespace
  • 58c7060: [JsonStreamer] fix memory leak by caching stream readers/writers
  • 9b041c3: [WebProfiler] fix the security profiler template

7.4 changelog:

  • fd88949: [Mailer] also bypass Return-Path header within MicrosoftGraphApiTransport
  • 28abe4d: [FrameworkBundle] skip extensions with empty configuration in reference.php
  • 5eeded5: [Config] fix merging node that canBeDisable()/canBeEnabled()
  • ad9d081: [BrowserKit] allow wrapping response content to give proper context when fetching fragments
  • b884740: [Config] allow ParamConfigurator in ParametersConfig
  • cff9bb1: [Messenger] fix DeduplicateStamp serialization
  • 6359f81: [ObjectMapper] fix mapping for missing source properties
  • c5d80b1: [FrameworkBundle] don't list ExpressionConfigurator if expression-language is not installed on reference config shape

8.1 changelog:

  • 4f64f33: [HttpKernel] improve Cache attribute expression vars
  • 255ec54: [Console] add #[AskChoice] attribute for interactive choice questions
  • 4a25bad: [HttpKernel] deserialize UploadedFile for #[MapRequestPayload]
  • e493930: [HttpClient] add support for the max_connect_duration option
  • 67a90a1: [Messenger] remove legacy DBALv3-related getExtraSetupSqlForTable() methods
  • c162068: [Messenger] set get_notify_timeout to check_delayed_interval when using pgSQL
  • d8b0184: [Uid] add argument $format to Ulid::isValid()
  • e4a5606: [FrameworkBundle, ObjectMapper] add automatic class-map array based on map attributes
  • 7eef473: [JsonStreamer] leverage ContainerBuilder::findTaggedResourceIds and Definition::addResourceTag
  • 9d1aaf4: [ObjectMapper] throw exception for invalid transform callable
  • 3839b8b: [HttpKernel] fix tests not cleaning the temporary var/ folder
  • 0bf20c9: [FrameworkBundle] fix debug:container --tag=service.tag not showing priority of #[AsTaggedItem]
  • 2ff7ec0: [DependencyInjection] allow environment variables with . in them

Newest issues and pull requests

Symfony Jobs

These are some of the most recent Symfony job offers:

  • Backend Symfony Developer at DonkeyCode
    Contract / Freelance - €400 – €450 / day
    Full remote
    View details
  • Symfony Developer at Dutch Volleyball Federation Nevobo
    Full-time - €33,000 – €46,000 / year
    Remote + part-time onsite (Utrecht, Netherlands)
    View details
  • Backend Symfony Developer at SportFinder
    Full-time - €3,500 – €4,500 / month
    Remote + part-time onsite (Charleroi, Belgium)
    View details
  • DevOps for a Symfony project at Dayuse
    Full-time - €50,000 – €60,000 / year
    Remote + part-time onsite (Paris, France)
    View details
  • Backend Symfony Developer at TreeHouse
    Full-time - €3,200 – €6,500 / month
    Rotterdam, Netherlands
    View details

You can publish a Symfony job offer for free on symfony.com.

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.

This week, SymfonyCasts published the following updates:

They talked about us

Call to Action

Published in #A week of symfony