A week of symfony #217 (21->27 February 2011)

The public API of Symfony2 will be frozen in just a few days. Therefore, this week developers committed some of the last big impact changes to the code repository: the Response was removed from DIC, CompatAssetsBundle was removed in favor of AsseticBundle, and the boostrap files were also removed.

Several other changes were proposed in the developers mailing list, such as using keys for translations and adding DI to Forms. Lastly, Symfony2 documentation was profoundly reorganized and vastly expanded with new and improved contents.

Development mailing list

Symfony2 development highlights


  • 9b16f1a: [SwiftMailer] added the SendEmail Command (for the spool)
  • f985da5: [HttpFoundation] fixed Cache-Control header when forcing the Response to have an Expires header field
  • f5b1cb1, e7c098e: [DependencyInjection] initial implementation of an allowUnnamedChildren method on NodeBuilder. Also added an extra field exception (reverted)
  • bd15ddd, 554628c, d6617f6: [DependencyInjection] added a NodeBuilder::addNodeBuilder() method that helps achieve a fluid interface when a pre-built NodeBuilder needs to be added
  • fd5cdfc: [DependencyInjection] assured to remove XML-remapped singular options and key attribute options after processing
  • ea768fe, 48459e9: [Config] made the option to remove a key attribute optional
  • f0d2ce7: [TwigBundle] refactored TwigExtension class and implemented configuration tree
  • 026ab6c: [Config] added an ignoreExtraKeys options, which allows you to let options simply be ignore without throwing a validation exception
  • c9406b6: [SecurityBundle] allowed the main Configuration tree to allow factories without a validation exception
  • dff3585: fixed profiler when using ESI in dev env
  • d2684f3: [AsseticBundle] converted to use a Configuration class
  • c01be42: [AsseticBundle] made the filter manager lazy
  • 4ba0e0d: [AsseticBundle] fixed bundle notation of inputs
  • 9b15b69: [AsseticBundle] sort Twig assets by name before loading for filesystem-independent results
  • f1dd3f2, 946d3d9: [TwigBundle] added two global variables (environment & debug)
  • 2c45611: fixed WDT link to the profiler
  • 0834bf4: [WebProfilerBundle] removed the WDT on malformed HTML content
  • f6e624b: [TwigBundle] changed all Boolean to string in XSD as you might want to use a parameter %...%
  • a3207e9: removed CompatAssetsBundle, use AsseticBundle instead
  • b44d044: [HttpKernel] removed the bootstrap files as they do not belong to the component
  • 9a25878: [FrameworkBundle] removed the Welcome page and moved it to the sandbox/standard distrib
  • eda7475: [ZendBundle] only load the logger if there is a config
  • 28bf834: [WebProfilerBundle] made the WDT less intruisive by moving it to its own Ajax request
  • 608e443: [Config] created VariableNode (reverted)
  • f4c0af7: [TwigBundle] allowed arbitrary variables to be accepted as values for globals
  • 23e9386: changed all extensions to use the default Extension::getAlias() impl
  • c518074: added a DI extension for DoctrineMigrations, removed --bundle option in favor of application level settings
  • 8a8c733: [HttpKernel] added the possibility to define a parent token for a token in the profiler
  • 9619c7d: [Routing] removed the routing hack where we add a / at the beginning if it does not exist
  • e729589: splitted swiftmailer configuration to avoid issues when not using smtp
  • d4fc3c9, 7c9528b, b9168bb: [FrameworkBundle] updated the init:bundle skeleton files
  • f21578e: [Security] added abstract user provider definition
  • bf20238: fixed a bug in Response content-type auto-detection
  • d94acd8: removed response as a service (the Response is not available in the DIC anymore)
  • 353177d: replaced Response::createRedirect by a new RedirectResponse class
  • fc372bc: [HttpKernel] changed core.view event to use notifyUntil() instead of filter()
  • a0bae94: [HttpFoundation] updated ResponseHeaderBag to compute Cache-Control whenever any of the headers it considers changes
  • cef86a3: [HttpKernel] added a way to change the ESI cache strategy
  • efb5617: [AsseticBundle] removed response service dependency in AsseticController
  • d7ea92a: [AsseticBundle] updated for latest assetic development
  • 0f353c1: added a command to generate a migration from the sql queries executed when you load some data fixtures (reverted)
  • 788f63d: [FrameworkBundle] simplified the over-complicated template cache warmer
  • 9f2d59c: [AsseticBundle] added stylus filter
  • 192583a: [ZendBundle] added a Configuration class
  • 05055d4: [AsseticBundle] fixed formula caching system
  • d4db531: [AsseticBundle] added resources to the routing loader
  • 968c870: [AsseticBundle] added etags to controller so changes to filters etc trigger invalidation
  • f46c6f7: [Routing] fixed the %2f problem in URLs
  • e16c666: [Routing] made an empty path info to redirect to / (as for any other route that ends with a /)
  • b6049be, 381d1e2: [Translation] added search to FallbackLocale Catalogue
  • 4b3c495: fixed issues found by static code analysis

New plugins

  • sfNginxPush: allows for easy pushing to configured nginx HTTP Push Module endpoints.
  • sfEmailTemplates: (no description)
  • sfMarae: a threaded forum plugin.
  • ynWidgetAjaxAutocomplete: includes a widget to replace sfWidgetForm*Choice with an AJAX-powered autocomplete field. Works for one-to-many and many-to-many relations.
  • sfComet: this will be a simple plugin with a JS class, and some examples.
  • sfIsisImporter: has classes to help importing a CDS/ISIS Database into a Symfony project.
  • ynFormGeo: offers widgets and validators for working with geographic data.

Updated plugins

  • sfProjectAnalyser:
    • modified the error message when a class is not found
    • removed processLib until it work
  • sfTrafficCMS:
    • added faster, less memory hungry export function which uses array hydration
  • sfDoctrineRestGenerator:
    • fixed a deserialization error when passing an empty XML tag
  • pmPropelGenerator:
    • Delete, Edit and Show actions can now be hiden with the 'show_when' option
    • tweaked flash messages
    • checked if the object can be deleted in BatchDelete action
  • sfAlyssaJqGrid:
    • added an option to change the default width of jqgrid
  • assetPackages:
    • the load_panels event is listened only when web_debug is turned on
    • fixed bug on simple stylesheet list in assets-packages.yml
  • dcReloadedFormExtra:
    • refactored mtWidgetFormPlain so that it can be easily extended
    • added a new widget (ncWidgetFormPlainDate) that extends mtWidgetFormPlain and can be used to display dates as plain fields
  • apostrophe:
    • syntax clean up (single quote, double quotes)
    • added app_a_js_debug check in globalJavascripts
    • added a default value of False to the JS Debug because that makes sense
    • changed search success body class that was the same as the interior page search results container class
    • fixed fixtures loading if the Zend Search if not available
    • added maxHeight option to slideshows (used in conjunction with flexHeight to limit the height of a slideshow)
    • added an option to aWidgetFormStaticText to not escape the values passed to it
    • created an aCmsRoute and introduce a hybrid mode (apostrophe url can be used with symfony action)
    • added hybrid page management in the aPage* code
    • easier to see paths when things can't be created in a_writable
    • tolerate deleted slots
  • apostropheBlog:
    • made the edit buttons in the blog use a_button helper
  • sfImageTransform:
    • fixed bug when using an image as a background using GD

New symfony powered websites

  • Embetted: (English) free widgets for betting sites

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.

A week of symfony #217 (21->27 February 2011) symfony.com/blog/a-week-of-symfony-217-21-27-february-2011

Tweet this


Comments are closed.

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