This week Symfony project experienced the most intense development activity in years. In addition to the three new versions released (2.0.16, 2.1.0 beta2, and 2.1.0 beta3), a major cleanup of tickets and pull requests was made on the official repository. Particularly noteworthy was the refactoring of the form component and its huge performance boost.

Development mailing list

symfony 1 development highlights

Changelog:

  • r33486: [1.4] fixed sfPDODatabase::call() method

Symfony2 development highlights

Master branch:

  • 1fa22d9: [Form] output a more usable error when PropertyPath has tried to find adders and getters, but failed to find them
  • df5bb4a: [Form] unified rendering of errors for nested elements
  • 39e821c: [TwigBundle] added a new paths setting to allow configuration of more paths for the filesystem loader
  • 6e1462e, 1345360: [Form] fixed PropertyPath handling of __get() and offsetGet() methods that return a constant
  • c0a5207: [Form] prevented duplicate validation of form constraints
  • 7727de7: [Form] deprecated Form::bindRequest() and replaced it by a PRE_BIND listener
  • 9c94b48: [Form] fixed the data option to supersede default data set in the model
  • a6d44bd: [Routing] when serializing a Route, don't serialize the compiled route
  • e8bb834: [Form] fixed data to be written back by PropertyPath if it cannot be handled by reference
  • 6ad4018: [Form] display the hint about adder/remover on invalid property access
  • aaf4950, 14bd5ba: [Console] implemented '<' escaping
  • 878e86d: added global variables access in a form theme
  • 7a18100: [Console] replaced var_export with json_encode for default values when exported as text/xml to make them more readable
  • 5b057f8: [Form] fixed DateType to use 'format' for creating the year and day choices
  • 9eeb200: [Form] changed the default format of DateType to 'yyyy-MM-dd' to support HTML 5 out of the box
  • 9a2c617: [ClassLoader] fixed order of interfaces in generated class collection caches
  • 064ad62: [HttpFoundation] allowed _method to be set in the query string
  • 02e0a8f: allowed Kernel:: to be overridden by subclasses
  • ded6c03: [Form] DateTimeType now handles RFC 3339 dates as provided by HTML5
  • 7a76dba: [Form] renamed the options 'data_timezone' and 'user_timezone'
  • b7aae48: [Locale] fixed error resetting in StubIntlDateFormatter::parse()
  • 92abf5a: [Form] enabled error bubbling from the parts of a date/time field to the main field
  • 1a732e4: [Validator] removed the Range constraint as it duplicates functionality given in Min and Max
  • d84b689, 0cdacee: [Validator] added the constraints MinCount and MaxCount ... and replaced them by the constraint Count
  • 0be602d, 741c147, 83a3f75: [Validator] deprecated the Max, Min and Size constraints and renamed to Range
  • f06203a: [Form] improved ValidatorTypeGuesser to interpret the constraints True and False
  • 1fe3996: [Validator] improved error messages displayed when the Valid constraint is misused
  • a92f80b: [Validator] added Length constraint and deprecated MinLength and MaxLength
  • 5e6c06f: [Security] removed hard dependency on for default auth success handler
  • 8298d8c: [Form] improved ChoiceType performance by caching ChoiceList objects
  • 70307e5: [Form] improved EntityType performance by caching the EntityChoiceList
  • a924dab: [OptionsResolver] made the OptionsResolver clonable
  • 3f05e70: ensured that an exception is always converted to an error response (and that we keep the HTTP status code and headers)
  • 2bf4d6c: [Form] fixed FormFactory not to set 'data' option if not explicitely given
  • 2ca753b: [Form] fixed choice list hashing in DoctrineType
  • 653821a, 12d6ae7, 23d8735: [HttpFoundation] removed FileSessionHandler (this driver is inferior to native handling)
  • cd7835d: [Form] cached the form type hierarchy in order to improve performance
  • 2dcc448: raised the minimum version of PHP to 5.3.4 (reverted)
  • 69e5e58: [Form] individual rows of CollectionType cannot be styled anymore for performance reasons
  • 28e137c: [Serializer] added a ChainEncoder and a ChainDecoder
  • 7d53909, d7a5449: added earlier PHP output buffer flush for non FPM environments
  • baf990b: [HttpKernel] fixed the request data collector which always started the session
  • 01b2e39: [Security] extracted default logout success handling logic
  • b55930a: [Security] implemented the Serializable interface in the Role class
  • 0875124: moved the router data collector to HttpKernel
  • dd8a401: made the Kernel dep optional in ConfigDataCollector
  • 8f82e07: made RequestDataCollector from HttpKernel and FrameworkBundle compatible

2.0.x branch:

  • 28f002d: [Locale] fixed bug on the parsing of TYPE_INT64 integers in 32 bit and 64 bit environments caused by PHP bug fix
  • 854daa8: [Form] fixed errors not to be added onto non-synchronized forms
  • 0341492, 11ae9c9: released Symfony 2.0.16
  • e9d799c: [Routing] fixed ApacheUrlMatcher and ApachMatcherDumper classes that did not take care of default parameters in urls

Repository summary: 5,220 watchers (#1 in PHP, #31 overall) and 1403 forks (#1 in PHP, #13 overall).

They talked about us

Published in #A week of symfony