summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorNatalia <124304+nessita@users.noreply.github.com>2024-05-22 00:07:17 -0300
committernessita <124304+nessita@users.noreply.github.com>2024-05-22 11:29:45 -0300
commit59b649c7dfc8016d94bf3a5340992a28ce0eb0cf (patch)
tree0ec666c13771effaa545e05ce2b80eaec4695c37 /docs
parent8e68c50341f0d159b7af9d2a071c7c24ffc126b7 (diff)
Made cosmetic edits to 5.1 release notes.
Diffstat (limited to 'docs')
-rw-r--r--docs/releases/5.1.txt83
1 files changed, 68 insertions, 15 deletions
diff --git a/docs/releases/5.1.txt b/docs/releases/5.1.txt
index bb79e3590a..49741ca81c 100644
--- a/docs/releases/5.1.txt
+++ b/docs/releases/5.1.txt
@@ -7,8 +7,8 @@ Django 5.1 release notes - UNDER DEVELOPMENT
Welcome to Django 5.1!
These release notes cover the :ref:`new features <whats-new-5.1>`, as well as
-some :ref:`backwards incompatible changes <backwards-incompatible-5.1>` you'll
-want to be aware of when upgrading from Django 5.0 or earlier. We've
+some :ref:`backwards incompatible changes <backwards-incompatible-5.1>` you
+should be aware of when upgrading from Django 5.0 or earlier. We've
:ref:`begun the deprecation process for some features
<deprecated-features-5.1>`.
@@ -26,6 +26,63 @@ only officially support the latest release of each series.
What's new in Django 5.1
========================
+``{% query_string %}`` template tag
+-----------------------------------
+
+Django 5.1 introduces the :ttag:`{% query_string %} <query_string>` template
+tag, simplifying the modification of query parameters in URLs, making it easier
+to generate links that maintain existing query parameters while adding or
+changing specific ones.
+
+For instance, navigating pagination and query strings in templates can be
+cumbersome. Consider this template fragment that dynamically generates a URL
+for navigating to the next page within a paginated view:
+
+.. code-block:: html+django
+
+ {# Linebreaks added for readability, this should be one, long line. #}
+ <a href="?{% for key, values in request.GET.iterlists %}
+ {% if key != "page" %}
+ {% for value in values %}
+ {{ key }}={{ value }}&amp;
+ {% endfor %}
+ {% endif %}
+ {% endfor %}page={{ page.next_page_number }}">Next page</a>
+
+When switching to using this new template tag, the above magically becomes:
+
+.. code-block:: html+django
+
+ <a href="{% query_string page=page.next_page_number %}">Next page</a>
+
+PostgreSQL Connection Pools
+---------------------------
+
+Django 5.1 also introduces :ref:`connection pool <postgresql-pool>` support for
+PostgreSQL. As the time to establish a new connection can be relatively long,
+keeping connections open can reduce latency.
+
+To use a connection pool with `psycopg`_, you can set the ``"pool"`` option
+inside :setting:`OPTIONS` to be a dict to be passed to
+:class:`~psycopg:psycopg_pool.ConnectionPool`, or to ``True`` to use the
+``ConnectionPool`` defaults::
+
+ DATABASES = {
+ "default": {
+ "ENGINE": "django.db.backends.postgresql",
+ # ...
+ "OPTIONS": {
+ "pool": {
+ "min_size": 2,
+ "max_size": 4,
+ "timeout": 10,
+ }
+ },
+ },
+ }
+
+.. _psycopg: https://www.psycopg.org/
+
Middleware to require authentication by default
-----------------------------------------------
@@ -55,8 +112,8 @@ Minor features
* The default iteration count for the PBKDF2 password hasher is increased from
720,000 to 870,000.
-* In order to follow OWASP recommendations, the default ``parallelism`` of the
- ``ScryptPasswordHasher`` is increased from 1 to 5.
+* The default ``parallelism`` of the ``ScryptPasswordHasher`` is
+ increased from 1 to 5, to follow OWASP recommendations.
* :class:`~django.contrib.auth.forms.BaseUserCreationForm` and
:class:`~django.contrib.auth.forms.AdminPasswordChangeForm` now support
@@ -91,9 +148,9 @@ Minor features
``continent_name``, and ``is_in_european_union`` values.
* :meth:`.GeoIP2.city` now exposes the ``accuracy_radius`` and ``region_name``
- values. In addition the ``dma_code`` and ``region`` values are now exposed as
- ``metro_code`` and ``region_code``, but the previous keys are also retained
- for backward compatibility.
+ values. In addition, the ``dma_code`` and ``region`` values are now exposed
+ as ``metro_code`` and ``region_code``, but the previous keys are also
+ retained for backward compatibility.
* :class:`~django.contrib.gis.measure.Area` now supports the ``ha`` unit.
@@ -160,7 +217,7 @@ File Storage
~~~~~~~~~~~~
* The :attr:`~django.core.files.storage.FileSystemStorage.allow_overwrite`
- parameter of :class:`~django.core.files.storage.FileSystemStorage` allows
+ parameter of :class:`~django.core.files.storage.FileSystemStorage` now allows
saving new files over existing ones.
Forms
@@ -173,8 +230,8 @@ Forms
Management Commands
~~~~~~~~~~~~~~~~~~~
-* :djadmin:`makemigrations` command now displays meaningful symbols for each
- operation to highlight :class:`operation categories
+* The :djadmin:`makemigrations` command now displays meaningful symbols for
+ each operation to highlight :class:`operation categories
<django.db.migrations.operations.base.OperationCategory>`.
Migrations
@@ -226,11 +283,6 @@ Templates
be made available on the ``Template`` instance. Such data may be used, for
example, by the template loader, or other template clients.
-* The new :ttag:`{% query_string %} <query_string>` template tag allows
- changing a :class:`~django.http.QueryDict` instance for use in links, for
- example, to generate a link to the next page while keeping any filtering
- options in place.
-
* :ref:`Template engines <field-checking>` now implement a ``check()`` method
that is already registered with the check framework.
@@ -382,6 +434,7 @@ Miscellaneous
overwriting files in storage, set the new
:attr:`~django.core.files.storage.FileSystemStorage.allow_overwrite` option
to ``True`` instead.
+
* The ``get_cache_name()`` method of ``FieldCacheMixin`` is deprecated in favor
of the ``cache_name`` cached property.