Lines Matching +full:linux +full:- +full:stable +full:- +full:openssl
36 sufficient; the e-mail address isn't necessary.
51 Summary -- Release highlights
58 .. PEP-sized items next.
69 * :pep:`618`, Add Optional Length-Checking To zip.
80 * :pep:`647`, User-Defined Type Guards
84 * :pep:`644`, Require OpenSSL 1.1.1 or newer
94 .. _whatsnew310-pep563:
97 ------------------------------
105 .. code-block:: python
133 .. code-block:: python
150 ---------------------
160 .. code-block:: python
169 .. code-block:: python
178 .. code-block:: python
199 .. code-block:: python
209 .. code-block:: python
224 .. code-block:: python
236 .. code-block:: python
248 .. code-block:: python
263 .. code-block:: python
277 .. code-block:: python
299 .. code-block:: python
313 .. code-block:: python
323 * Usage of ``*`` in f-strings:
325 .. code-block:: python
331 SyntaxError: f-string: cannot use starred expression here
341 .. code-block:: python
359 .. code-block:: python
380 .. code-block:: python
397 -----------------------------------------------------------
408 ------------------------------------
445 block is a no-op.
516 match exists, the behavior is a no-op. For example, if ``status`` of 500 is
517 passed, a no-op occurs.
523 variables. In this example, a data point can be unpacked to its x-coordinate
524 and y-coordinate::
561 print(f"Y={y} and the point is on the y-axis.")
563 print(f"X={x} and the point is on the x-axis.")
635 - Like unpacking assignments, tuple and list patterns have exactly the
641 - Sequence patterns support wildcards: ``[x, y, *rest]`` and ``(x, y,
646 - Mapping patterns: ``{"bandwidth": b, "latency": l}`` captures the
651 - Subpatterns may be captured using the ``as`` keyword::
658 - Most literals are compared by equality. However, the singletons ``True``,
661 - Named constants may be used in patterns. These named constants must be
683 .. _whatsnew310-pep597:
686 -------------------------------------------------------------
689 platform and locale dependent. Since UTF-8 is used on most Unix
690 platforms, omitting ``encoding`` option when opening UTF-8 files
693 # BUG: "rb" mode or encoding="utf-8" should be used.
699 is true and locale-specific default encoding is used.
701 ``-X warn_default_encoding`` option and :envvar:`PYTHONWARNDEFAULTENCODING`
704 See :ref:`io-text-encoding` for more information.
706 .. _new-feat-related-type-hints:
716 --------------------------------
725 def square(number: Union[int, float]) -> Union[int, float]:
731 def square(number: int | float) -> int | float:
741 See :ref:`types-union` and :pep:`604` for more details.
748 ------------------------------------------
754 parameter types of one callable to another callable -- a pattern commonly
773 ------------------
776 top-level unannotated assignments. This simplicity sometimes made it difficult
793 PEP 647: User-Defined Type Guards
794 ---------------------------------
839 * Two new builtin functions -- :func:`aiter` and :func:`anext` have been added
855 * Class and module objects now lazy-create empty annotations dicts on demand.
859 :ref:`annotations-howto`.
880 the :const:`__debug__` constant. (Contributed by Dong-hee Na in :issue:`45000`.)
896 -------
903 --------
909 -----
916 -------------------------
918 since Python 3.6. An import-time :class:`DeprecationWarning` has now been
922 ------
928 ---
934 ------
940 ------
946 ---------------
948 The ``__args__`` of the :ref:`parameterized generic <types-genericalias>` for
961 ----------
974 ------
988 -----------
996 Keyword-only fields
999 dataclasses now supports fields that are keyword-only in the
1001 keyword-only fields.
1003 You can say that every field is keyword-only:
1005 .. code-block:: python
1014 Both ``name`` and ``birthday`` are keyword-only parameters to the
1017 You can specify keyword-only on a per-field basis:
1019 .. code-block:: python
1028 Here only ``birthday`` is keyword-only. If you set ``kw_only`` on
1029 individual fields, be aware that there are rules about re-ordering
1030 fields due to keyword-only fields needing to follow non-keyword-only
1034 keyword-only. This will probably be the most common usage:
1036 .. code-block:: python
1048 Here, ``z`` and ``t`` are keyword-only parameters, while ``x`` and
1052 .. _distutils-deprecated:
1055 ---------
1059 completely replaced by third-party packages ``setuptools`` and
1073 -------
1079 ---------
1081 :func:`encodings.normalize_encoding` now ignores non-ASCII characters.
1085 ----
1096 ---------
1107 ------------
1114 --
1120 ----
1127 -------
1129 The hashlib module requires OpenSSL 1.1.1 or newer.
1132 The hashlib module has preliminary support for OpenSSL 3.0.0.
1135 The pure-Python fallback of :func:`~hashlib.pbkdf2_hmac` is deprecated. In
1136 the future PBKDF2-HMAC will only be available when Python has been built with
1137 OpenSSL support.
1141 ----
1143 The hmac module now uses OpenSSL's HMAC implementation internally.
1147 ----------------
1149 Make IDLE invoke :func:`sys.excepthook` (when started without '-n').
1177 Highlight the new :ref:`soft keywords <soft-keywords>` :keyword:`match`,
1178 :keyword:`case <match>`, and :keyword:`_ <wildcard-patterns>` in
1179 pattern-matching statements. However, this highlighting is not perfect
1180 and will be incorrect in some rare cases, including some ``_``-s in
1192 ------------------
1195 (`history <https://importlib-metadata.readthedocs.io/en/latest/history.html>`_).
1197 :ref:`importlib.metadata entry points <entry-points>`
1204 top-level Python modules and packages to their
1208 -------
1216 it examines. :func:`inspect.get_annotations` can also correctly un-stringize
1220 :ref:`annotations-howto`.
1225 also now un-stringize stringized annotations.
1229 ---------
1235 ---------
1241 --
1247 ``eventfd2`` syscall on Linux.
1257 (Contributed by Dong-hee Na in :issue:`43106`.)
1260 -------
1262 :func:`os.path.realpath` now accepts a *strict* keyword-only argument. When set
1268 -------
1283 *follow_symlinks* keyword-only argument for consistency with corresponding
1288 --------
1291 identification from `freedesktop.org os-release
1292 <https://www.freedesktop.org/software/systemd/man/os-release.html>`_ standard file.
1296 ------
1301 :mod:`pprint` can now pretty-print :class:`dataclasses.dataclass` instances.
1305 ----------
1307 Add ``--quiet`` option to command-line interface of :mod:`py_compile`.
1311 ------
1319 ------
1326 ----------
1334 ----
1340 ------
1352 ---
1354 The ssl module requires OpenSSL 1.1.1 or newer.
1357 The ssl module has preliminary support for OpenSSL 3.0.0 and new option
1367 :ref:`deprecation section <whatsnew310-deprecated>` has a list of deprecated
1372 secrecy or SHA-1 MAC are disabled by default. Security level 2 prohibits
1380 OpenSSL build options, distro configurations, vendor patches, and cipher
1386 The ssl module uses heap-types and multi-phase initialization.
1393 -------
1401 ---
1412 -------
1419 ---------
1432 ---------
1437 as a positional-only argument.
1441 -----
1449 ------
1451 For major changes, see :ref:`new-feat-related-type-hints`.
1456 1. ``Literal`` now de-duplicates parameters.
1496 --------
1503 ------------
1516 ---
1523 ---------
1537 (around 30--40% for small objects).
1541 The ``python3 -m module-name`` command startup time is 1.4x faster in
1542 average. On Linux, ``python3 -I -m module-name`` imports 69 modules on Python
1543 3.9, whereas it only imports 51 modules (-18) on Python 3.10.
1552 * When building Python with :option:`--enable-optimizations` now
1553 ``-fno-semantic-interposition`` is added to both the compile and link line.
1554 This speeds builds of the Python interpreter created with :option:`--enable-shared`
1556 …https://developers.redhat.com/blog/2020/06/25/red-hat-enterprise-linux-8-2-brings-faster-python-3-…
1563 faster, lzma decompression 1.20x ~ 1.32x faster, ``GzipFile.read(-1)`` 1.11x
1574 now sometimes use Crochemore & Perrin's "Two-Way" string searching
1578 * Add micro-optimizations to ``_PyType_Lookup()`` to improve type attribute cache lookup
1582 * The following built-in functions now support the faster :pep:`590` vectorcall calling convention:
1584 …(Contributed by Dong-hee Na and Jeroen Demeyer in :issue:`43575`, :issue:`43287`, :issue:`41922`, …
1591 .. _whatsnew310-deprecated:
1625 Python 3.12. Refer to the :ref:`module changes <distutils-deprecated>`
1628 * Non-integer arguments to :func:`random.randrange` are deprecated.
1711 * The undocumented built-in function ``sqlite3.enable_shared_cache`` is now
1748 Python 3.7, or OpenSSL 1.1.0 and will be removed in 3.11:
1773 requires a :ref:`debug build of Python <debug-build>`.
1782 .. _whatsnew310-removed:
1819 (Contributed by Dong-hee Na and Terry J. Reedy in :issue:`42299`.)
1825 * Remove deprecated aliases to :ref:`collections-abstract-base-classes` from
1830 :doc:`high-level API <../library/asyncio-api-index>` following deprecation
1833 1. This simplifies the high-level API.
1834 2. The functions in the high-level API have been implicitly getting the
1837 3. Event loop passing is error-prone especially when dealing with loops
1840 Note that the low-level API will still accept ``loop``.
1841 See :ref:`changes-python-api` for examples of how to replace existing code.
1855 ----------------------------
1865 .. _changes-python-api:
1868 -------------------------
1894 a 16-bit unsigned integer.
1898 :doc:`high-level API <../library/asyncio-api-index>` following deprecation
1927 --------------------
1965 ``f_lasti`` member of ``FrameObject`` objects is not considered stable: please
1978 * :pep:`644`: Python now requires OpenSSL 1.1.1 or newer. OpenSSL 1.0.2 is no
1989 * The :mod:`atexit` module must now always be built as a built-in module.
1992 * Add :option:`--disable-test-modules` option to the ``configure`` script:
1996 * Add :option:`--with-wheel-pkg-dir=PATH option <--with-wheel-pkg-dir>`
2002 Some Linux distribution packaging policies recommend against bundling
2004 ``/usr/share/python-wheels/`` directory and don't install the
2009 * Add a new :option:`configure --without-static-libpython option
2010 <--without-static-libpython>` to not build the ``libpythonMAJOR.MINOR.a``
2015 * The ``configure`` script now uses the ``pkg-config`` utility, if available,
2017 locations can be explicitly specified with the ``--with-tcltk-includes``
2018 and ``--with-tcltk-libs`` configuration options.
2021 * Add :option:`--with-openssl-rpath` option to ``configure`` script. The option
2022 simplifies building Python with a custom OpenSSL installation, e.g.
2023 ``./configure --with-openssl=/path/to/openssl --with-openssl-rpath=auto``.
2030 PEP 652: Maintaining the Stable ABI
2031 -----------------------------------
2033 The Stable ABI (Application Binary Interface) for extension modules or
2035 :ref:`stable` describes C API and ABI stability guarantees along with best
2036 practices for using the Stable ABI.
2041 ------------
2087 :ref:`static types <static-types>`.
2090 * Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an
2099 <debug-build>` (if the ``Py_DEBUG`` macro is defined). In the limited C API,
2108 The limited C API is still not supported in the :option:`--with-trace-refs`
2135 ----------------------
2140 See :ref:`arg-parsing` and :pep:`353`.
2171 :ref:`init-config` API to get the :ref:`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``; see :ref:`api-includes`. If they have
2200 ----------
2208 -------
2262 The ``Py_SymtableString()`` function was part the stable ABI by mistake but
2270 and from ``python3.dll``, the library that provides the stable ABI on
2275 * Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files.
2278 could create names conflicts. For example, ``Python-ast.h`` defined a