2012-11-05: Los filtros fueron rebautizados como semiwares de la aplicación en la documentación.
2012-11-05: Las prioridades de escuchas before(), after(), error() y finish() ahora establecen la prioridad del evento Symfony subyacente en vez de un before personalizado.
2012-11-05: Se removió el controlador de la excepción predefinida ahora se debería hacer a través de su método disable():
Antes:
unset($app[‘exception_handler’]);
Después:
$app[‘exception_handler’]->disable();
2012-07-15: se quitó el servicio monolog.configure. En su lugar usa el método extend:
Antes:
$app['monolog.configure'] = $app->protect(function ($monolog) use ($app) { // hace algo });Después:
$app['monolog'] = $app->share($app->extend('monolog', function($monolog, $app) { // hace algo return $monolog; }));
2012-06-17: ControllerCollection ahora toma como argumento del constructor una instancia de ruta a seguir.
Antes:
$controllers = new ControllerCollection();Después:
$controllers = new ControllerCollection(new Route()); // o aún mejor $controllers = $app['controllers_factory'];
2012-06-17: Se añadieron características de aplicación para PHP 5.4
2012-06-16: Se renombró request.default_locale a locale
2012-06-16: Se eliminó el servicio translator.loader. Ve la documentación para cómo utilizar archivos de traducción basados en XLIFF o YAML.
2012-06-15: Se quitó el servicio twig.configure. En su lugar usa el método extend:
Antes:
$app['twig.configure'] = $app->protect(function ($twig) use ($app) { // hace algo });Después:
$app['twig'] = $app->share($app->extend('twig', function($twig, $app) { // hace algo return $twig; }));
2012-06-13: Se añadió una ruta para la lógica intermedia de before
2012-06-13: Se rebautizó la ruta middleware a before
2012-06-13: Se añadió una extensión para el componente de Seguridad de Symfony
2012-05-31: Se hicieron opcionales las dependencias BrowserKit, CssSelector, DomCrawler, Finder y Process. Los proyectos que dependen de ellas (por ejemplo, a través de pruebas funcionales) tendrán que añadir esas dependencias a su composer.json.
2012-05-26: Se agregó el boot() a ServiceProviderInterface.
2012-05-26: Se quitó SymfonyBridgesServiceProvider Ahora, implícitamente comprueba la existencia del puente.
2012-05-26: Se quitó el parámetro translator.messages (en su lugar usa translator.domains).
2012-05-24: Se quitó el servicio autoloader (en su lugar usa composer). Las opciones *.class_path en todos los proveedores integrados también se han quitado en favor de Composer.
2012-05-21: Se cambió error() para permitir la manipulación de excepciones específicas.
2012-05-20: Se añadió una manera para definir la configuración en una colección de controladores.
2012-05-20: La instancia de la petición ya no está disponible en la aplicación después de que se ha manipulado.
2012-04-01: Se agregaron los filtros finish.
2012-03-20: Se añadió el ayudante json:
$data = array('some' => 'data');
$response = $app->json($data);
2012-03-11: Se añadió la lógica intermedia de ruta
2012-03-02: Ahora se utiliza Composer para gestionar dependencias
2012-02-27: Se actualizó la manipulación de sesión a Symfony 2.1.
2012-01-02: Se introdujo el apoyo para respuestas que transmiten secuencias.
2011-09-22: Se cambió el nombre de ExtensionInterface a ServiceProviderInterface. Todas las extensiones integradas se han renombrado consecuentemente (por ejemplo, Silex\Extension\TwigExtension ha cambiado el nombre a Silex\Provider\TwigServiceProvider)
2011-09-22: La forma de trabajar de las aplicaciones reutilizables ha cambiado. El método mount() ahora toma una instancia de ControllerCollection en lugar de una Application.
Antes:
$app = new Application(); $app->get('/bar', function() { return 'foo'; }); return $app;Después:
$app = new ControllerCollection(); $app->get('/bar', function() { return 'foo'; }); return $app;
2011-08-08: La configuración del método controlador ahora se hace en el propio Controlador
Antes:
$app->match('/', function () { echo 'foo'; }, 'GET|POST');Después:
$app->match('/', function () { echo 'foo'; })->method('GET|POST');