summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorKen Jin <28750310+Fidget-Spinner@users.noreply.github.com>2021-02-15 17:00:20 (GMT)
committerGitHub <noreply@github.com>2021-02-15 17:00:20 (GMT)
commita2f0654b0a5b4c4f726155620002cc1f5f2d206a (patch)
tree52779bb7707f1c778e1f547656307a13020eaeee /Doc
parent4bb2a1ebc569eee6f1b46ecef1965a26ae8cb76d (diff)
downloadcpython-a2f0654b0a5b4c4f726155620002cc1f5f2d206a.zip
cpython-a2f0654b0a5b4c4f726155620002cc1f5f2d206a.tar.gz
cpython-a2f0654b0a5b4c4f726155620002cc1f5f2d206a.tar.bz2
bpo-42967: Fix urllib.parse docs and make logic clearer (GH-24536)
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/urllib.parse.rst18
-rw-r--r--Doc/whatsnew/3.6.rst4
-rw-r--r--Doc/whatsnew/3.8.rst4
-rw-r--r--Doc/whatsnew/3.9.rst4
4 files changed, 18 insertions, 12 deletions
diff --git a/Doc/library/urllib.parse.rst b/Doc/library/urllib.parse.rst
index 1a79078..67c2120 100644
--- a/Doc/library/urllib.parse.rst
+++ b/Doc/library/urllib.parse.rst
@@ -190,7 +190,8 @@ or on combining URL components into a URL string.
read. If set, then throws a :exc:`ValueError` if there are more than
*max_num_fields* fields read.
- The optional argument *separator* is the symbol to use for separating the query arguments. It defaults to `&`.
+ The optional argument *separator* is the symbol to use for separating the
+ query arguments. It defaults to ``&``.
Use the :func:`urllib.parse.urlencode` function (with the ``doseq``
parameter set to ``True``) to convert such dictionaries into query
@@ -204,8 +205,10 @@ or on combining URL components into a URL string.
Added *max_num_fields* parameter.
.. versionchanged:: 3.10
- Added *separator* parameter with the default value of `&`. Python versions earlier than Python 3.10 allowed using both ";" and "&" as
- query parameter separator. This has been changed to allow only a single separator key, with "&" as the default separator.
+ Added *separator* parameter with the default value of ``&``. Python
+ versions earlier than Python 3.10 allowed using both ``;`` and ``&`` as
+ query parameter separator. This has been changed to allow only a single
+ separator key, with ``&`` as the default separator.
.. function:: parse_qsl(qs, keep_blank_values=False, strict_parsing=False, encoding='utf-8', errors='replace', max_num_fields=None, separator='&')
@@ -232,7 +235,8 @@ or on combining URL components into a URL string.
read. If set, then throws a :exc:`ValueError` if there are more than
*max_num_fields* fields read.
- The optional argument *separator* is the symbol to use for separating the query arguments. It defaults to `&`.
+ The optional argument *separator* is the symbol to use for separating the
+ query arguments. It defaults to ``&``.
Use the :func:`urllib.parse.urlencode` function to convert such lists of pairs into
query strings.
@@ -244,8 +248,10 @@ or on combining URL components into a URL string.
Added *max_num_fields* parameter.
.. versionchanged:: 3.10
- Added *separator* parameter with the default value of `&`. Python versions earlier than Python 3.10 allowed using both ";" and "&" as
- query parameter separator. This has been changed to allow only a single separator key, with "&" as the default separator.
+ Added *separator* parameter with the default value of ``&``. Python
+ versions earlier than Python 3.10 allowed using both ``;`` and ``&`` as
+ query parameter separator. This has been changed to allow only a single
+ separator key, with ``&`` as the default separator.
.. function:: urlunparse(parts)
diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst
index 8a64da1..03a877a 100644
--- a/Doc/whatsnew/3.6.rst
+++ b/Doc/whatsnew/3.6.rst
@@ -2447,11 +2447,11 @@ details, see the documentation for ``loop.create_datagram_endpoint()``.
Notable changes in Python 3.6.13
================================
-Earlier Python versions allowed using both ";" and "&" as
+Earlier Python versions allowed using both ``;`` and ``&`` as
query parameter separators in :func:`urllib.parse.parse_qs` and
:func:`urllib.parse.parse_qsl`. Due to security concerns, and to conform with
newer W3C recommendations, this has been changed to allow only a single
-separator key, with "&" as the default. This change also affects
+separator key, with ``&`` as the default. This change also affects
:func:`cgi.parse` and :func:`cgi.parse_multipart` as they use the affected
functions internally. For more details, please see their respective
documentation.
diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst
index d21921d..91afffb 100644
--- a/Doc/whatsnew/3.8.rst
+++ b/Doc/whatsnew/3.8.rst
@@ -2238,11 +2238,11 @@ details, see the documentation for ``loop.create_datagram_endpoint()``.
Notable changes in Python 3.8.8
===============================
-Earlier Python versions allowed using both ";" and "&" as
+Earlier Python versions allowed using both ``;`` and ``&`` as
query parameter separators in :func:`urllib.parse.parse_qs` and
:func:`urllib.parse.parse_qsl`. Due to security concerns, and to conform with
newer W3C recommendations, this has been changed to allow only a single
-separator key, with "&" as the default. This change also affects
+separator key, with ``&`` as the default. This change also affects
:func:`cgi.parse` and :func:`cgi.parse_multipart` as they use the affected
functions internally. For more details, please see their respective
documentation.
diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst
index 5f4f8ba..3086930 100644
--- a/Doc/whatsnew/3.9.rst
+++ b/Doc/whatsnew/3.9.rst
@@ -1520,11 +1520,11 @@ become a :exc:`TypeError` in Python 3.10.
urllib.parse
------------
-Earlier Python versions allowed using both ";" and "&" as
+Earlier Python versions allowed using both ``;`` and ``&`` as
query parameter separators in :func:`urllib.parse.parse_qs` and
:func:`urllib.parse.parse_qsl`. Due to security concerns, and to conform with
newer W3C recommendations, this has been changed to allow only a single
-separator key, with "&" as the default. This change also affects
+separator key, with ``&`` as the default. This change also affects
:func:`cgi.parse` and :func:`cgi.parse_multipart` as they use the affected
functions internally. For more details, please see their respective
documentation.