Lines Matching +full:enable +full:- +full:weak +full:- +full:ssl +full:- +full:ciphers
38 sufficient; the e-mail address isn't necessary.
53 Summary -- Release highlights
60 .. PEP-sized items next.
71 * :pep:`618`, Add Optional Length-Checking To zip.
95 .. _whatsnew310-pep563:
98 ------------------------------
106 .. code-block:: python
134 .. code-block:: python
151 ---------------------
161 .. code-block:: python
170 .. code-block:: python
179 .. code-block:: python
200 .. code-block:: python
210 .. code-block:: python
225 .. code-block:: python
237 .. code-block:: python
249 .. code-block:: python
264 .. code-block:: python
278 .. code-block:: python
300 .. code-block:: python
314 .. code-block:: python
324 * Usage of ``*`` in f-strings:
326 .. code-block:: python
332 SyntaxError: f-string: cannot use starred expression here
342 .. code-block:: python
360 .. code-block:: python
381 .. code-block:: python
398 -----------------------------------------------------------
409 ------------------------------------
446 block is a no-op.
517 match exists, the behavior is a no-op. For example, if ``status`` of 500 is
518 passed, a no-op occurs.
524 variables. In this example, a data point can be unpacked to its x-coordinate
525 and y-coordinate::
562 print(f"Y={y} and the point is on the y-axis.")
564 print(f"X={x} and the point is on the x-axis.")
636 - Like unpacking assignments, tuple and list patterns have exactly the
642 - Sequence patterns support wildcards: ``[x, y, *rest]`` and ``(x, y,
647 - Mapping patterns: ``{"bandwidth": b, "latency": l}`` captures the
652 - Subpatterns may be captured using the ``as`` keyword::
659 - Most literals are compared by equality. However, the singletons ``True``,
662 - Named constants may be used in patterns. These named constants must be
684 .. _whatsnew310-pep597:
687 -------------------------------------------------------------
690 platform and locale dependent. Since UTF-8 is used on most Unix
691 platforms, omitting ``encoding`` option when opening UTF-8 files
694 # BUG: "rb" mode or encoding="utf-8" should be used.
700 is true and locale-specific default encoding is used.
702 ``-X warn_default_encoding`` option and :envvar:`PYTHONWARNDEFAULTENCODING`
703 are added to enable the warning.
705 See :ref:`io-text-encoding` for more information.
707 .. _new-feat-related-type-hints:
717 --------------------------------
726 def square(number: Union[int, float]) -> Union[int, float]:
732 def square(number: int | float) -> int | float:
742 See :ref:`types-union` and :pep:`604` for more details.
749 ------------------------------------------
755 parameter types of one callable to another callable -- a pattern commonly
774 ------------------
777 top-level unannotated assignments. This simplicity sometimes made it difficult
794 PEP 647: User-Defined Type Guards
795 ---------------------------------
840 * Two new builtin functions -- :func:`aiter` and :func:`anext` have been added
856 * Class and module objects now lazy-create empty annotations dicts on demand.
860 :ref:`annotations-howto`.
881 the :const:`__debug__` constant. (Contributed by Dong-hee Na in :issue:`45000`.)
897 -------
904 --------
910 -----
917 -------------------------
919 since Python 3.6. An import-time :class:`DeprecationWarning` has now been
923 ------
929 ---
935 ------
941 ------
947 ---------------
949 The ``__args__`` of the :ref:`parameterized generic <types-genericalias>` for
962 ----------
975 ------
989 -----------
997 Keyword-only fields
1000 dataclasses now supports fields that are keyword-only in the
1002 keyword-only fields.
1004 You can say that every field is keyword-only:
1006 .. code-block:: python
1015 Both ``name`` and ``birthday`` are keyword-only parameters to the
1018 You can specify keyword-only on a per-field basis:
1020 .. code-block:: python
1029 Here only ``birthday`` is keyword-only. If you set ``kw_only`` on
1030 individual fields, be aware that there are rules about re-ordering
1031 fields due to keyword-only fields needing to follow non-keyword-only
1035 keyword-only. This will probably be the most common usage:
1037 .. code-block:: python
1049 Here, ``z`` and ``t`` are keyword-only parameters, while ``x`` and
1053 .. _distutils-deprecated:
1056 ---------
1060 completely replaced by third-party packages ``setuptools`` and
1074 -------
1080 ---------
1082 :func:`encodings.normalize_encoding` now ignores non-ASCII characters.
1086 ---------
1097 ------------
1104 --
1110 ----
1117 -------
1125 The pure-Python fallback of :func:`~hashlib.pbkdf2_hmac` is deprecated. In
1126 the future PBKDF2-HMAC will only be available when Python has been built with
1131 ----
1137 ----------------
1139 Make IDLE invoke :func:`sys.excepthook` (when started without '-n').
1162 Highlight the new :ref:`soft keywords <soft-keywords>` :keyword:`match`,
1163 :keyword:`case <match>`, and :keyword:`_ <wildcard-patterns>` in
1164 pattern-matching statements. However, this highlighting is not perfect
1165 and will be incorrect in some rare cases, including some ``_``-s in
1169 ------------------
1172 (`history <https://importlib-metadata.readthedocs.io/en/latest/history.html>`_).
1174 :ref:`importlib.metadata entry points <entry-points>`
1181 top-level Python modules and packages to their
1185 -------
1193 it examines. :func:`inspect.get_annotations` can also correctly un-stringize
1197 :ref:`annotations-howto`.
1202 also now un-stringize stringized annotations.
1206 ---------
1212 --
1228 (Contributed by Dong-hee Na in :issue:`43106`.)
1231 -------
1233 :func:`os.path.realpath` now accepts a *strict* keyword-only argument. When set
1239 -------
1254 *follow_symlinks* keyword-only argument for consistency with corresponding
1259 --------
1262 identification from `freedesktop.org os-release
1263 <https://www.freedesktop.org/software/systemd/man/os-release.html>`_ standard file.
1267 ------
1272 :mod:`pprint` can now pretty-print :class:`dataclasses.dataclass` instances.
1276 ----------
1278 Add ``--quiet`` option to command-line interface of :mod:`py_compile`.
1282 ------
1290 ------
1297 ----------
1305 ----
1311 ------
1322 ssl section in Improved Modules
1323 ---
1325 The ssl module requires OpenSSL 1.1.1 or newer.
1328 The ssl module has preliminary support for OpenSSL 3.0.0 and new option
1329 :data:`~ssl.OP_IGNORE_UNEXPECTED_EOF`.
1335 a :exc:`DeprecationWarning`. :attr:`ssl.SSLContext.options` has
1336 :data:`~ssl.OP_NO_SSLv2` and :data:`~ssl.OP_NO_SSLv3` set by default and
1338 :ref:`deprecation section <whatsnew310-deprecated>` has a list of deprecated
1342 The ssl module now has more secure default settings. Ciphers without forward
1343 secrecy or SHA-1 MAC are disabled by default. Security level 2 prohibits
1344 weak RSA, DH, and ECC keys with less than 112 bits of security.
1345 :class:`~ssl.SSLContext` defaults to minimum protocol version TLS 1.2.
1349 The deprecated protocols SSL 3.0, TLS 1.0, and TLS 1.1 are no longer
1354 Add a *timeout* parameter to the :func:`ssl.get_server_certificate` function.
1357 The ssl module uses heap-types and multi-phase initialization.
1360 A new verify flag :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` has been added.
1364 -------
1372 ---
1383 -------
1390 ---------
1403 ---------
1408 as a positional-only argument.
1412 -----
1420 ------
1422 For major changes, see :ref:`new-feat-related-type-hints`.
1427 1. ``Literal`` now de-duplicates parameters.
1467 --------
1474 ------------
1501 ---
1508 ---------
1522 (around 30--40% for small objects).
1526 The ``python3 -m module-name`` command startup time is 1.4x faster in
1527 average. On Linux, ``python3 -I -m module-name`` imports 69 modules on Python
1528 3.9, whereas it only imports 51 modules (-18) on Python 3.10.
1537 * When building Python with :option:`--enable-optimizations` now
1538 ``-fno-semantic-interposition`` is added to both the compile and link line.
1539 This speeds builds of the Python interpreter created with :option:`--enable-shared`
1541 …https://developers.redhat.com/blog/2020/06/25/red-hat-enterprise-linux-8-2-brings-faster-python-3-…
1548 faster, lzma decompression 1.20x ~ 1.32x faster, ``GzipFile.read(-1)`` 1.11x
1559 now sometimes use Crochemore & Perrin's "Two-Way" string searching
1563 * Add micro-optimizations to ``_PyType_Lookup()`` to improve type attribute cache lookup
1567 * The following built-in functions now support the faster :pep:`590` vectorcall calling convention:
1569 …(Contributed by Dong-hee Na and Jeroen Demeyer in :issue:`43575`, :issue:`43287`, :issue:`41922`, …
1576 .. _whatsnew310-deprecated:
1610 Python 3.12. Refer to the :ref:`module changes <distutils-deprecated>`
1613 * Non-integer arguments to :func:`random.randrange` are deprecated.
1709 * The undocumented built-in function ``sqlite3.enable_shared_cache`` is now
1745 * The following :mod:`ssl` features have been deprecated since Python 3.6,
1748 * :data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl.OP_NO_TLSv1`,
1749 :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2`, and
1750 :data:`~ssl.OP_NO_TLSv1_3` are replaced by
1754 * :data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`,
1755 :data:`~ssl.PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`,
1756 :data:`~ssl.PROTOCOL_TLSv1_1`, :data:`~ssl.PROTOCOL_TLSv1_2`, and
1757 :data:`~ssl.PROTOCOL_TLS` are deprecated in favor of
1758 :data:`~ssl.PROTOCOL_TLS_CLIENT` and :data:`~ssl.PROTOCOL_TLS_SERVER`
1760 * :func:`~ssl.wrap_socket` is replaced by :meth:`ssl.SSLContext.wrap_socket`
1762 * :func:`~ssl.match_hostname`
1764 * :func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`
1766 * NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` and
1767 :meth:`ssl.SSLContext.set_npn_protocols` are replaced by ALPN.
1771 requires a :ref:`debug build of Python <debug-build>`.
1780 .. _whatsnew310-removed:
1817 (Contributed by Dong-hee Na and Terry J. Reedy in :issue:`42299`.)
1823 * Remove deprecated aliases to :ref:`collections-abstract-base-classes` from
1828 :doc:`high-level API <../library/asyncio-api-index>` following deprecation
1831 1. This simplifies the high-level API.
1832 2. The functions in the high-level API have been implicitly getting the
1835 3. Event loop passing is error-prone especially when dealing with loops
1838 Note that the low-level API will still accept ``loop``.
1839 See :ref:`changes-python-api` for examples of how to replace existing code.
1853 ----------------------------
1863 .. _changes-python-api:
1866 -------------------------
1892 a 16-bit unsigned integer.
1896 :doc:`high-level API <../library/asyncio-api-index>` following deprecation
1925 --------------------
1987 * The :mod:`atexit` module must now always be built as a built-in module.
1990 * Add :option:`--disable-test-modules` option to the ``configure`` script:
1994 * Add :option:`--with-wheel-pkg-dir=PATH option <--with-wheel-pkg-dir>`
2002 ``/usr/share/python-wheels/`` directory and don't install the
2007 * Add a new :option:`configure --without-static-libpython option
2008 <--without-static-libpython>` to not build the ``libpythonMAJOR.MINOR.a``
2013 * The ``configure`` script now uses the ``pkg-config`` utility, if available,
2015 locations can be explicitly specified with the :option:`--with-tcltk-includes`
2016 and :option:`--with-tcltk-libs` configuration options.
2019 * Add :option:`--with-openssl-rpath` option to ``configure`` script. The option
2021 ``./configure --with-openssl=/path/to/openssl --with-openssl-rpath=auto``.
2029 -----------------------------------
2039 ------------
2085 :ref:`static types <static-types>`.
2088 * Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an
2097 <debug-build>` (if the ``Py_DEBUG`` macro is defined). In the limited C API,
2106 The limited C API is still not supported in the :option:`--with-trace-refs`
2133 ----------------------
2139 <arg-parsing>` and the :pep:`353`.
2170 :ref:`Python Initialization Configuration API <init-config>` to get the
2171 :ref:`Python Path Configuration. <init-path-config>`.
2175 :c:func:`PyCell_SET` macros can no longer be used as l-value or r-value.
2181 * The non-limited API files ``odictobject.h``, ``parser_interface.h``,
2185 included in ``Python.h``: :ref:`Include Files <api-includes>`. If they have
2200 ----------
2208 -------
2275 * Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files.
2278 could create names conflicts. For example, ``Python-ast.h`` defined a
2322 algorithmic complexity. This is a mitigation for `CVE-2020-10735
2323 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735>`_.