A week of symfony #236 (4->10 July 2011)

This week Symfony2 published its fourth release candidate version, one of the latest versions before the final release. In addition, Symfony2 updated Doctrine version to 2.1 and Monolog version to 1.0. Lastly, some exception messages were improved and validation error messages were updated/translated to lots of languages.

Development mailing list

symfony 1 development highlights


  • r32729: [1.3, 1.4] updated getHost() to consider a chain of forwarded hosts
  • r32741: [1.4] removed non-countries from sfCultureInfo::getCountries()

Symfony2 development highlights


  • 06c3712: [Form] FileTypeCsrdExtension is not required any more (as FileType now extends FieldType)
  • 756ea8d, 311a9bd: call session_name() only if user gave an new one
  • bd89cc7: [FrameworkBundle] fixed Template parser to accept template with dots
  • e6da824: [MonologBundle] added services for core processors
  • b9656e6: updated Doctrine version to 2.1.0
  • 4f8a980: [Security] removed a hack related to URL generation
  • 431460f: [Form] removed choice or choice_list requirement as the following conditions already check enough and this condition prevents empty select forms (populated by ajax for example)
  • 4c6e177: [Form] fixed the default validator
  • 932cd10, 722ad12: made HTTP headers coming from proxies non-trusted by default
  • d58ba34: [Validator] consider the ini directive 'upload_max_filesize' while validating an uploaded file
  • 3df5ec3: [HttpKernel] added support for 'upload_max_filesize' ini directive in the Client
  • 133169f: better exception message for extension in XmlFileLoader
  • d3b7807: [Doctrine] fixed Doctrine guesser when the object is a proxy and not an original entity instance
  • 090a51a, f21dc42: added Registry::getEntityManagerForObject() to conveniently get the entity manager associated with a given Entity
  • 0824736: fixed validation of Doctrine proxy objects
  • ef022c0: removed the magical guessing of the type name to avoid WTF issues
  • 47da6cf: [Form] removed guesser for Choice constraints
  • fa20b51: [Console] refactored definition printer
  • 874fb95: [MonologBundle] refactored the configuration of processors
  • f8b5f35: [MonologBundle] refactored the way to configure the email prototype for swiftmailer
  • c12676b: [Doctrine] added a better error message when an Entity has no __toString method defined
  • bb5075d: [HttpFoundation] prevented Response headers to be sent twice. This change allows for more flexibility if the developer wants to flush the Response content early
  • 7eec2ca: [Form] added a form type name validator
  • 6039569, ac1448f, 4f9060c: [Routing] added # and ? to escaped chars
  • 6786e81: [HttpFoundation] code factorization in UploadedFile
  • 76a5816: [HttpKernel] fixed recursion when flattenning an exception stack trace
  • bb1b480: [Translation] added CSV controls for CsvFileLoader
  • df57e0f: [Validator] added strict option to ChoiceConstraint
  • 28be194: updated Monolog to 1.0.0
  • 8cba490: [Process] removed workaround as it seems to not work anymore after the recent changes
  • 08b4219: [DoctrineBridge] fixed Unique Validator does not work with null values
  • 9714cfc: fixed fatal error when intl module is not installed

Repository summary: 2,518 watchers (#1 in PHP, #23 overall) and 656 forks (#1 in PHP, #13 overall).

New plugins

  • sfSimpleMenu: simple plugin for creating menus.
  • sfTextDateInputJQueryDatePicker: allows you to use a normal text input field for date or date/time entry, and have a button next to the input which pops up a jQuery DatePicker component for selecting the date by hand.
  • sfActionCredentialsGetter: enables you to get the required credentials for a given module name and action name, and to determine whether the action is secure.
  • ncTracker: provides a tracking mechanism for actions performed or visited on the application.
  • sfNginxMiniServer: allows symfony developers to quickly write and test their pages by spawning a mini-webserver using Nginx and PHP from within their symfony app.

Updated plugins

  • sfAjaxAdminDoctrineTheme:
    • trap Doctrine exceptions on delete and present the errors gracefully using flashes
    • made AJAX actions asynchronous and showed a spinner while they are occurring
    • validated in JavaScript that at least one item and a batch action is selected before proceeding with the batch action. If not, issue an alert
    • confirmed batch actions using a confirm dialog
    • properly handle custom links in the list table rows
    • UI and speed improvements
  • sfGuardUserSwitcher:
    • fixed reloading of credentials
    • allowed to switch if switched user is not allowed to switch
  • sfGearman:
    • removed references to sfGearmanConnection interface
  • sfTrafficCMS:
    • added general content and images support
  • cpDataTables:
    • updated to dataTables 1.8.1
    • fixed default stylesheet
  • apostrophePeople:
    • refactored filter by name functionality
    • reordered methods in people plugin actions
    • created aPeople constructor for aPeople javascript
    • moved plugin classes to base classes so that people plugin is consistent with our other plugins
    • abstracted person out of the people partial the people partial is just a foreach loop person is the individual person markup
    • changed sidebar forms to post
    • filters reset when no filter items are specified
    • no longer storing filters in the session
  • apostropheExtraSlots:
    • renamed the aMapSlot.js to aExtraSlots.js to be consistent with all of our plugins
  • apostrophe:
    • added a refresh event to formUpdates
    • added a setBlank function to a.js
    • added single-image and mult-image class name logic to the slideshow partial
    • added aMysql class which provides a very useful, very fast set of methods for handling SQL queries conveniently without the overhead of a proper ORM like Doctrine
    • reworked linkToRemote to accept 'selector' instead of 'link'
  • apostropheBlog:
    • Wordpress import task has moved to apostropheImportersPlugin
    • Disqus support now uses the disqus_thread_identifier column when it is present, otherwise defaults to the id
    • refactored code to get the right thread identifier so it's less redundant and annoying

They talked about us

Help the Symfony project!

As with any Open-Source project, contributing code or documentation is the most common way to help, but we also have a wide range of sponsoring opportunities.


Is there a timetable for the official Symfony2 "admin generator" ? I want to start using Symfony2, but I want to start with the admin part of the website.

Comments are closed.

To ensure that comments stay relevant, they are closed for old posts.