diff --git a/book/templating.rst b/book/templating.rst
index e9cfdfaf086..a91c4b5ba81 100644
--- a/book/templating.rst
+++ b/book/templating.rst
@@ -1007,6 +1007,25 @@ If you need absolute URLs for assets, you can set the third argument (or the
+.. versionadded:: 2.5
+ Versioned URLs for assets were introduced in Symfony 2.5.
+
+If you need versioned URLs for assets, you can set the fourth argument (or the
+``version`` argument) to the desired version:
+
+.. configuration-block::
+
+ .. code-block:: html+jinja
+
+
+
+ .. code-block:: html+php
+
+
+
+If you dont give a version or pass ``null``, the default package version will
+be used. If you pass ``false``, versioned URL will be deactivated.
+
.. index::
single: Templating; Including stylesheets and JavaScripts
single: Stylesheets; Including stylesheets
diff --git a/components/templating/helpers/assetshelper.rst b/components/templating/helpers/assetshelper.rst
index 6151d2b4784..6f096d35c52 100644
--- a/components/templating/helpers/assetshelper.rst
+++ b/components/templating/helpers/assetshelper.rst
@@ -80,6 +80,18 @@ is used in :phpfunction:`sprintf`. The first argument is the path and the
second is the version. For instance, ``%s?v=%s`` will be rendered as
``/images/logo.png?v=328rad75``.
+.. versionadded:: 2.5
+ On-demand versioned URLs for assets were introduced in Symfony 2.5.
+
+You can also generate a versioned URL using the fourth argument of the helper:
+
+.. code-block:: html+php
+
+
+
+
Multiple Packages
-----------------
diff --git a/reference/twig_reference.rst b/reference/twig_reference.rst
index 23c39471555..00e709fd335 100644
--- a/reference/twig_reference.rst
+++ b/reference/twig_reference.rst
@@ -20,77 +20,77 @@ Functions
.. versionadded:: 2.4
The ``expression`` function was introduced in Symfony 2.4.
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| Function Syntax | Usage |
-+=======================================================+============================================================================================+
-| ``render(uri, options = {})`` | This will render the fragment for the given controller or URL |
-| ``render(controller('B:C:a', {params}))`` | For more information, see :ref:`templating-embedding-controller`. |
-| ``render(path('route', {params}))`` | |
-| ``render(url('route', {params}))`` | |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``render_esi(controller('B:C:a', {params}))`` | This will generate an ESI tag when possible or fallback to the ``render`` |
-| ``render_esi(url('route', {params}))`` | behavior otherwise. For more information, see :ref:`templating-embedding-controller`. |
-| ``render_esi(path('route', {params}))`` | |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``render_hinclude(controller(...))`` | This will generates an Hinclude tag for the given controller or URL. |
-| ``render_hinclude(url('route', {params}))`` | For more information, see :ref:`templating-embedding-controller`. |
-| ``render_hinclude(path('route', {params}))`` | |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``controller(attributes = {}, query = {})`` | Used along with the ``render`` tag to refer to the controller that you want to render. |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``asset(path, packageName = null, absolute = false)`` | Get the public path of the asset, more information in |
-| | ":ref:`book-templating-assets`". |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``asset_version(packageName = null)`` | Get the current version of the package, more information in |
-| | ":ref:`book-templating-assets`". |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``form(view, variables = {})`` | This will render the HTML of a complete form, more information in |
-| | in :ref:`the Twig Form reference`. |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``form_start(view, variables = {})`` | This will render the HTML start tag of a form, more information in |
-| | in :ref:`the Twig Form reference`. |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``form_end(view, variables = {})`` | This will render the HTML end tag of a form together with all fields that |
-| | have not been rendered yet, more information |
-| | in :ref:`the Twig Form reference`. |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``form_enctype(view)`` | This will render the required ``enctype="multipart/form-data"`` attribute |
-| | if the form contains at least one file upload field, more information in |
-| | in :ref:`the Twig Form reference `. |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``form_widget(view, variables = {})`` | This will render a complete form or a specific HTML widget of a field, |
-| | more information in :ref:`the Twig Form reference `. |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``form_errors(view)`` | This will render any errors for the given field or the "global" errors, |
-| | more information in :ref:`the Twig Form reference `. |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``form_label(view, label = null, variables = {})`` | This will render the label for the given field, more information in |
-| | :ref:`the Twig Form reference `. |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``form_row(view, variables = {})`` | This will render the row (the field's label, errors and widget) of the given |
-| | field, more information in :ref:`the Twig Form reference `. |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``form_rest(view, variables = {})`` | This will render all fields that have not yet been rendered, more |
-| | information in :ref:`the Twig Form reference `. |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``csrf_token(intention)`` | This will render a CSRF token. Use this function if you want CSRF protection without |
-| | creating a form |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``is_granted(role, object = null, field = null)`` | This will return ``true`` if the current user has the required role, more |
-| | information in ":ref:`book-security-template`" |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``logout_path(key)`` | This will generate the relative logout URL for the given firewall |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``logout_url(key)`` | Equal to ``logout_path(...)`` but this will generate an absolute URL |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``path(name, parameters = {})`` | Get a relative URL for the given route, more information in |
-| | ":ref:`book-templating-pages`". |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``url(name, parameters = {})`` | Equal to ``path(...)`` but it generates an absolute URL |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
-| ``expression(expression)`` | Creates an :class:`Symfony\\Component\\ExpressionLanguage\\Expression` in Twig. See |
-| | ":ref:`Template Expressions `". |
-+-------------------------------------------------------+--------------------------------------------------------------------------------------------+
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| Function Syntax | Usage |
++=======================================================================+============================================================================================+
+| ``render(uri, options = {})`` | This will render the fragment for the given controller or URL |
+| ``render(controller('B:C:a', {params}))`` | For more information, see :ref:`templating-embedding-controller`. |
+| ``render(path('route', {params}))`` | |
+| ``render(url('route', {params}))`` | |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``render_esi(controller('B:C:a', {params}))`` | This will generate an ESI tag when possible or fallback to the ``render`` |
+| ``render_esi(url('route', {params}))`` | behavior otherwise. For more information, see :ref:`templating-embedding-controller`. |
+| ``render_esi(path('route', {params}))`` | |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``render_hinclude(controller(...))`` | This will generates an Hinclude tag for the given controller or URL. |
+| ``render_hinclude(url('route', {params}))`` | For more information, see :ref:`templating-embedding-controller`. |
+| ``render_hinclude(path('route', {params}))`` | |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``controller(attributes = {}, query = {})`` | Used along with the ``render`` tag to refer to the controller that you want to render. |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``asset(path, packageName = null, absolute = false, version = null)`` | Get the public path of the asset, more information in |
+| | ":ref:`book-templating-assets`". |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``asset_version(packageName = null)`` | Get the current version of the package, more information in |
+| | ":ref:`book-templating-assets`". |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``form(view, variables = {})`` | This will render the HTML of a complete form, more information in |
+| | in :ref:`the Twig Form reference`. |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``form_start(view, variables = {})`` | This will render the HTML start tag of a form, more information in |
+| | in :ref:`the Twig Form reference`. |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``form_end(view, variables = {})`` | This will render the HTML end tag of a form together with all fields that |
+| | have not been rendered yet, more information |
+| | in :ref:`the Twig Form reference`. |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``form_enctype(view)`` | This will render the required ``enctype="multipart/form-data"`` attribute |
+| | if the form contains at least one file upload field, more information in |
+| | in :ref:`the Twig Form reference `. |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``form_widget(view, variables = {})`` | This will render a complete form or a specific HTML widget of a field, |
+| | more information in :ref:`the Twig Form reference `. |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``form_errors(view)`` | This will render any errors for the given field or the "global" errors, |
+| | more information in :ref:`the Twig Form reference `. |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``form_label(view, label = null, variables = {})`` | This will render the label for the given field, more information in |
+| | :ref:`the Twig Form reference `. |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``form_row(view, variables = {})`` | This will render the row (the field's label, errors and widget) of the given |
+| | field, more information in :ref:`the Twig Form reference `. |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``form_rest(view, variables = {})`` | This will render all fields that have not yet been rendered, more |
+| | information in :ref:`the Twig Form reference `. |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``csrf_token(intention)`` | This will render a CSRF token. Use this function if you want CSRF protection without |
+| | creating a form |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``is_granted(role, object = null, field = null)`` | This will return ``true`` if the current user has the required role, more |
+| | information in ":ref:`book-security-template`" |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``logout_path(key)`` | This will generate the relative logout URL for the given firewall |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``logout_url(key)`` | Equal to ``logout_path(...)`` but this will generate an absolute URL |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``path(name, parameters = {})`` | Get a relative URL for the given route, more information in |
+| | ":ref:`book-templating-pages`". |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``url(name, parameters = {})`` | Equal to ``path(...)`` but it generates an absolute URL |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
+| ``expression(expression)`` | Creates an :class:`Symfony\\Component\\ExpressionLanguage\\Expression` in Twig. See |
+| | ":ref:`Template Expressions `". |
++-----------------------------------------------------------------------+--------------------------------------------------------------------------------------------+
Filters
-------