This week Symfony 2.1 session sub-system introduced a huge refactoring that affects session attributes, storage and flash messages. In addition, the tenth maintenance version of Symfony 2.0 was released.

Development mailing list

Symfony2 development highlights

Master branch:

  • 928e352: [Bridge/Doctrine] changed the array access used in UniqueEntityValidator
  • 762d90d: [Profiler] built a common infrastructure
  • a440279: [WebProfilerBundle] added panel pages
  • 50c85ae, 64ea95d: [WebProfiler] added info to the router panel
  • e3cf37f: [HttpFoundation] added the ability to retrieve the target URL in RedirectResponse
  • 88ef52d: [Form] improved FormType::getDefaultOptions() to see default options defined in parent types
  • 1f277df: [Propel] removed useless ModelToIdTransformer
  • 3b1b570: [Form] fixed the date, time and datetime types can be initialized with \DateTime objects
  • fd15529: added Serbian Latin translation for validatoor messages
  • 42c9892: [FrameworkBundle] allowed cache:clear/warmup to skip optional warmers
  • e69a30b: [SwiftmailerBundle] moved the bundle to its own repository
  • 7eb22a7: [MonologBundle] moved bundle to its own repository
  • d69144c, 46d28cd: [Propel] refactored the CollectionToArray transformer
  • 7e5104e: [Form] fixed MergeCollectionListener for the case that the form's data is updated by the data mapper
  • cde34fd: [Form] throwing an AlreadyBoundException in `add` (reverted)
  • da2447e: [Form] fixed MergeCollectionListener when used with a custom property path
  • 11e3516: added GroupSequenceProvider
  • 6a45a41: [Form] fixed Form::bindRequest() when used on a form without children
  • 0a4519d: [Form] fixed duplicate errors on forms with error_bubbling=false
  • dbaddbb: [Form] allowed empty choices array for ChoiceType
  • 39288bc: [HttpFoundation] added AttributesInterface and AttributesBagInterface and concrete implementations
  • c969423: [HttpFoundation] added FlashBagInterface and concrete implementation (this commit outsources the flash message processing to it's own interface)
  • 3a263dc, 57ef984: [HttpFoundation] introduced session storage base class and interfaces
  • 85b5c43: [HttpFoundation] added drivers for PHP native session save handlers, files, sqlite, memcache and memcached
  • e185c8d: [HttpFoundation] refactored component for session workflow
  • 669bc96, ec44e68, fe870be: [HttpFoundation] added pure Memcache, Memcached and Null storage drivers
  • 5b7ef11: [HttpFoundation] simplify session storage class names now we have a separate namespace for sessions
  • dad60ef: [HttpFoundation] added back get defaults and small clean-up
  • 0d2745f: [HttpFoundation] removed constants from FlashBagInterface
  • 7878a0a: [HttpFoundation] renamed pop() to all() and getAll() to all()
  • 91f4f8a, 146a502, 0f6c50a: [HttpFoundation] try to keep the new Session implementation backwards compatible (default flashbag auto-expires, added service aliases and some methods)
  • 93d81a1: [HttpFoundation] removed configuration for session storages in session.xml as we cannot provide a way to configure them
  • 8a01dd5: renamed getFlashes() to getFlashBag() to avoid clashes
  • cb6fdb1: [HttpFoundation] removed Session::close()
  • 5efbd9f: [HttpFoundation] fixed Request::create() when passing arguments as an array
  • 745b9a6: [HttpKernel] fixed function support in ControllerResolver

Repository summary: 3,918 watchers (#1 in PHP, #28 overall) and 1010 forks (#1 in PHP, #11 overall).

New plugins

Updated plugins

  • dcPropelReports:
    • moved prototype inside forms. Removed it from view.yml
  • apostrophe:
    • nonrecursive version of aFiles::rmRf needed more love to work properly
    • the new aMediaItemTable::addFileAsMediaItem method imports the specified file into the media library, converting the filename to a reasonable title
    • the aMediaImport class has been refactored to use the above method
    • getimagesize() calls in aImageConverter are now protected by @ so they don't spew warnings
  • apostropheBlog:
    • app_aBlog_media_width now sets the width parameter to the standard areas used in single column blog slots
    • added the app_aBlog_popular_tags_limit and app_aBlog_tags_by_name options to maintain blog performance
    • avoid double escaping by using an actual UTF8 ellipsis rather than an entity escape sequence
    • sometimes events have missing dates and this crashes search results

They talked about us

Published in #A week of symfony