Lines Matching +full:linux +full:- +full:stable +full:- +full:openssl
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.
85 * :pep:`644`, Require OpenSSL 1.1.1 or newer
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`
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 -------
1119 The hashlib module requires OpenSSL 1.1.1 or newer.
1122 The hashlib module has preliminary support for OpenSSL 3.0.0.
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
1127 OpenSSL support.
1131 ----
1133 The hmac module now uses OpenSSL's HMAC implementation internally.
1137 ----------------
1139 Make IDLE invoke :func:`sys.excepthook` (when started without '-n').
1167 Highlight the new :ref:`soft keywords <soft-keywords>` :keyword:`match`,
1168 :keyword:`case <match>`, and :keyword:`_ <wildcard-patterns>` in
1169 pattern-matching statements. However, this highlighting is not perfect
1170 and will be incorrect in some rare cases, including some ``_``-s in
1179 ------------------
1182 (`history <https://importlib-metadata.readthedocs.io/en/latest/history.html>`_).
1184 :ref:`importlib.metadata entry points <entry-points>`
1191 top-level Python modules and packages to their
1195 -------
1203 it examines. :func:`inspect.get_annotations` can also correctly un-stringize
1207 :ref:`annotations-howto`.
1212 also now un-stringize stringized annotations.
1216 ---------
1222 --
1228 ``eventfd2`` syscall on Linux.
1238 (Contributed by Dong-hee Na in :issue:`43106`.)
1241 -------
1243 :func:`os.path.realpath` now accepts a *strict* keyword-only argument. When set
1249 -------
1264 *follow_symlinks* keyword-only argument for consistency with corresponding
1269 --------
1272 identification from `freedesktop.org os-release
1273 <https://www.freedesktop.org/software/systemd/man/os-release.html>`_ standard file.
1277 ------
1282 :mod:`pprint` can now pretty-print :class:`dataclasses.dataclass` instances.
1286 ----------
1288 Add ``--quiet`` option to command-line interface of :mod:`py_compile`.
1292 ------
1300 ------
1307 ----------
1315 ----
1321 ------
1333 ---
1335 The ssl module requires OpenSSL 1.1.1 or newer.
1338 The ssl module has preliminary support for OpenSSL 3.0.0 and new option
1348 :ref:`deprecation section <whatsnew310-deprecated>` has a list of deprecated
1353 secrecy or SHA-1 MAC are disabled by default. Security level 2 prohibits
1361 OpenSSL build options, distro configurations, vendor patches, and cipher
1367 The ssl module uses heap-types and multi-phase initialization.
1374 -------
1382 ---
1393 -------
1400 ---------
1413 ---------
1418 as a positional-only argument.
1422 -----
1430 ------
1432 For major changes, see :ref:`new-feat-related-type-hints`.
1437 1. ``Literal`` now de-duplicates parameters.
1477 --------
1484 ------------
1504 ---
1511 ---------
1525 (around 30--40% for small objects).
1529 The ``python3 -m module-name`` command startup time is 1.4x faster in
1530 average. On Linux, ``python3 -I -m module-name`` imports 69 modules on Python
1531 3.9, whereas it only imports 51 modules (-18) on Python 3.10.
1540 * When building Python with :option:`--enable-optimizations` now
1541 ``-fno-semantic-interposition`` is added to both the compile and link line.
1542 This speeds builds of the Python interpreter created with :option:`--enable-shared`
1544 …https://developers.redhat.com/blog/2020/06/25/red-hat-enterprise-linux-8-2-brings-faster-python-3-…
1551 faster, lzma decompression 1.20x ~ 1.32x faster, ``GzipFile.read(-1)`` 1.11x
1562 now sometimes use Crochemore & Perrin's "Two-Way" string searching
1566 * Add micro-optimizations to ``_PyType_Lookup()`` to improve type attribute cache lookup
1570 * The following built-in functions now support the faster :pep:`590` vectorcall calling convention:
1572 …(Contributed by Dong-hee Na and Jeroen Demeyer in :issue:`43575`, :issue:`43287`, :issue:`41922`, …
1579 .. _whatsnew310-deprecated:
1613 Python 3.12. Refer to the :ref:`module changes <distutils-deprecated>`
1616 * Non-integer arguments to :func:`random.randrange` are deprecated.
1712 * The undocumented built-in function ``sqlite3.enable_shared_cache`` is now
1749 Python 3.7, or OpenSSL 1.1.0 and will be removed in 3.11:
1774 requires a :ref:`debug build of Python <debug-build>`.
1783 .. _whatsnew310-removed:
1820 (Contributed by Dong-hee Na and Terry J. Reedy in :issue:`42299`.)
1826 * Remove deprecated aliases to :ref:`collections-abstract-base-classes` from
1831 :doc:`high-level API <../library/asyncio-api-index>` following deprecation
1834 1. This simplifies the high-level API.
1835 2. The functions in the high-level API have been implicitly getting the
1838 3. Event loop passing is error-prone especially when dealing with loops
1841 Note that the low-level API will still accept ``loop``.
1842 See :ref:`changes-python-api` for examples of how to replace existing code.
1856 ----------------------------
1866 .. _changes-python-api:
1869 -------------------------
1895 a 16-bit unsigned integer.
1899 :doc:`high-level API <../library/asyncio-api-index>` following deprecation
1928 --------------------
1966 ``f_lasti`` member of ``FrameObject`` objects is not considered stable: please
1979 * :pep:`644`: Python now requires OpenSSL 1.1.1 or newer. OpenSSL 1.0.2 is no
1990 * The :mod:`atexit` module must now always be built as a built-in module.
1993 * Add :option:`--disable-test-modules` option to the ``configure`` script:
1997 * Add :option:`--with-wheel-pkg-dir=PATH option <--with-wheel-pkg-dir>`
2003 Some Linux distribution packaging policies recommend against bundling
2005 ``/usr/share/python-wheels/`` directory and don't install the
2010 * Add a new :option:`configure --without-static-libpython option
2011 <--without-static-libpython>` to not build the ``libpythonMAJOR.MINOR.a``
2016 * The ``configure`` script now uses the ``pkg-config`` utility, if available,
2018 locations can be explicitly specified with the :option:`--with-tcltk-includes`
2019 and :option:`--with-tcltk-libs` configuration options.
2022 * Add :option:`--with-openssl-rpath` option to ``configure`` script. The option
2023 simplifies building Python with a custom OpenSSL installation, e.g.
2024 ``./configure --with-openssl=/path/to/openssl --with-openssl-rpath=auto``.
2031 PEP 652: Maintaining the Stable ABI
2032 -----------------------------------
2034 The Stable ABI (Application Binary Interface) for extension modules or
2036 :ref:`stable` describes C API and ABI stability guarantees along with best
2037 practices for using the Stable ABI.
2042 ------------
2088 :ref:`static types <static-types>`.
2091 * Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an
2100 <debug-build>` (if the ``Py_DEBUG`` macro is defined). In the limited C API,
2109 The limited C API is still not supported in the :option:`--with-trace-refs`
2136 ----------------------
2142 <arg-parsing>` and the :pep:`353`.
2173 :ref:`Python Initialization Configuration API <init-config>` to get the
2174 :ref:`Python Path Configuration. <init-path-config>`.
2178 :c:func:`PyCell_SET` macros can no longer be used as l-value or r-value.
2184 * The non-limited API files ``odictobject.h``, ``parser_interface.h``,
2188 included in ``Python.h``: :ref:`Include Files <api-includes>`. If they have
2203 ----------
2211 -------
2265 The ``Py_SymtableString()`` function was part the stable ABI by mistake but
2273 and from ``python3.dll``, the library that provides the stable ABI on
2278 * Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files.
2281 could create names conflicts. For example, ``Python-ast.h`` defined a