Skip to content

Commit 72c766c

Browse files
Deploy preview for PR 1148 🛫
1 parent 3e52d79 commit 72c766c

File tree

572 files changed

+793
-708
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

572 files changed

+793
-708
lines changed

pr-preview/pr-1148/_sources/c-api/init.rst.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1547,6 +1547,9 @@ All of the following functions must be called after :c:func:`Py_Initialize`.
15471547
This is not a replacement for :c:func:`PyModule_GetState()`, which
15481548
extensions should use to store interpreter-specific state information.
15491549
1550+
The returned dictionary is borrowed from the interpreter and is valid until
1551+
interpreter shutdown.
1552+
15501553
.. versionadded:: 3.8
15511554
15521555

pr-preview/pr-1148/_sources/using/ios.rst.txt

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,12 @@ App Store Compliance
328328
The only mechanism for distributing apps to third-party iOS devices is to
329329
submit the app to the iOS App Store; apps submitted for distribution must pass
330330
Apple's app review process. This process includes a set of automated validation
331-
rules that inspect the submitted application bundle for problematic code.
331+
rules that inspect the submitted application bundle for problematic code. There
332+
are some steps that must be taken to ensure that your app will be able to pass
333+
these validation steps.
334+
335+
Incompatible code in the standard library
336+
-----------------------------------------
332337

333338
The Python standard library contains some code that is known to violate these
334339
automated rules. While these violations appear to be false positives, Apple's
@@ -339,3 +344,18 @@ The Python source tree contains
339344
:source:`a patch file <Mac/Resources/app-store-compliance.patch>` that will remove
340345
all code that is known to cause issues with the App Store review process. This
341346
patch is applied automatically when building for iOS.
347+
348+
Privacy manifests
349+
-----------------
350+
351+
In April 2025, Apple introduced a requirement for `certain third-party
352+
libraries to provide a Privacy Manifest
353+
<https://developer.apple.com/support/third-party-SDK-requirements>`__.
354+
As a result, if you have a binary module that uses one of the affected
355+
libraries, you must provide an ``.xcprivacy`` file for that library.
356+
OpenSSL is one library affected by this requirement, but there are others.
357+
358+
If you produce a binary module named ``mymodule.so``, and use you the Xcode
359+
build script described in step 7 above, you can place a ``mymodule.xcprivacy``
360+
file next to ``mymodule.so``, and the privacy manifest will be installed into
361+
the required location when the binary module is converted into a framework.

pr-preview/pr-1148/_sources/whatsnew/3.14.rst.txt

Lines changed: 58 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2660,25 +2660,34 @@ urllib
26602660
Deprecated
26612661
==========
26622662

2663+
New deprecations
2664+
----------------
2665+
2666+
* Passing a complex number as the *real* or *imag* argument in the
2667+
:func:`complex` constructor is now deprecated;
2668+
complex numbers should only be passed as a single positional argument.
2669+
(Contributed by Serhiy Storchaka in :gh:`109218`.)
2670+
26632671
* :mod:`argparse`:
26642672

2665-
* Passing the undocumented keyword argument *prefix_chars* to
2666-
:meth:`~argparse.ArgumentParser.add_argument_group` is now
2667-
deprecated.
2673+
* Passing the undocumented keyword argument *prefix_chars* to the
2674+
:meth:`~argparse.ArgumentParser.add_argument_group` method is now deprecated.
26682675
(Contributed by Savannah Ostrowski in :gh:`125563`.)
2676+
26692677
* Deprecated the :class:`argparse.FileType` type converter.
2670-
Anything with resource management should be done downstream after the
2671-
arguments are parsed.
2678+
Anything relating to resource management should be handled
2679+
downstream, after the arguments have been parsed.
26722680
(Contributed by Serhiy Storchaka in :gh:`58032`.)
26732681

26742682
* :mod:`asyncio`:
26752683

2676-
* :func:`!asyncio.iscoroutinefunction` is deprecated
2684+
* The :func:`!asyncio.iscoroutinefunction` is now deprecated
26772685
and will be removed in Python 3.16;
26782686
use :func:`inspect.iscoroutinefunction` instead.
26792687
(Contributed by Jiahao Li and Kumar Aditya in :gh:`122875`.)
26802688

2681-
* :mod:`asyncio` policy system is deprecated and will be removed in Python 3.16.
2689+
* The :mod:`asyncio` policy system is deprecated
2690+
and will be removed in Python 3.16.
26822691
In particular, the following classes and functions are deprecated:
26832692

26842693
* :class:`asyncio.AbstractEventLoopPolicy`
@@ -2689,99 +2698,102 @@ Deprecated
26892698
* :func:`asyncio.set_event_loop_policy`
26902699

26912700
Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with
2692-
*loop_factory* to use the desired event loop implementation.
2701+
the *loop_factory* argument to use the desired event loop implementation.
26932702

2694-
For example, to use :class:`asyncio.SelectorEventLoop` on Windows::
2703+
For example, to use :class:`asyncio.SelectorEventLoop` on Windows:
26952704

2696-
import asyncio
2705+
.. code-block:: python
26972706
2698-
async def main():
2699-
...
2707+
import asyncio
27002708
2701-
asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)
2709+
async def main():
2710+
...
27022711
2703-
(Contributed by Kumar Aditya in :gh:`127949`.)
2712+
asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)
27042713
2705-
* :mod:`builtins`:
2706-
Passing a complex number as the *real* or *imag* argument in the
2707-
:func:`complex` constructor is now deprecated; it should only be passed
2708-
as a single positional argument.
2709-
(Contributed by Serhiy Storchaka in :gh:`109218`.)
2714+
(Contributed by Kumar Aditya in :gh:`127949`.)
27102715

27112716
* :mod:`codecs`:
2712-
:func:`codecs.open` is now deprecated. Use :func:`open` instead.
2717+
The :func:`codecs.open` function is now deprecated,
2718+
and will be removed in a future version of Python.
2719+
Use :func:`open` instead.
27132720
(Contributed by Inada Naoki in :gh:`133036`.)
27142721

27152722
* :mod:`ctypes`:
27162723

27172724
* On non-Windows platforms, setting :attr:`.Structure._pack_` to use a
2718-
MSVC-compatible default memory layout is deprecated in favor of setting
2719-
:attr:`.Structure._layout_` to ``'ms'``.
2725+
MSVC-compatible default memory layout is now deprecated in favor of setting
2726+
:attr:`.Structure._layout_` to ``'ms'``, and will be removed in Python 3.19.
27202727
(Contributed by Petr Viktorin in :gh:`131747`.)
27212728

2722-
* Calling :func:`ctypes.POINTER` on a string is deprecated.
2723-
Use :ref:`ctypes-incomplete-types` for self-referential structures.
2729+
* Calling :func:`ctypes.POINTER` on a string is now deprecated.
2730+
Use :ref:`incomplete types <ctypes-incomplete-types>`
2731+
for self-referential structures.
27242732
Also, the internal ``ctypes._pointer_type_cache`` is deprecated.
27252733
See :func:`ctypes.POINTER` for updated implementation details.
27262734
(Contributed by Sergey Myrianov in :gh:`100926`.)
27272735

27282736
* :mod:`functools`:
27292737
Calling the Python implementation of :func:`functools.reduce` with *function*
2730-
or *sequence* as keyword arguments is now deprecated.
2738+
or *sequence* as keyword arguments is now deprecated;
2739+
the parameters will be made positional-only in Python 3.16.
27312740
(Contributed by Kirill Podoprigora in :gh:`121676`.)
27322741

27332742
* :mod:`logging`:
2734-
Support for custom logging handlers with the *strm* argument is deprecated
2735-
and scheduled for removal in Python 3.16. Define handlers with the *stream*
2736-
argument instead. (Contributed by Mariusz Felisiak in :gh:`115032`.)
2743+
Support for custom logging handlers with the *strm* argument
2744+
is now deprecated and scheduled for removal in Python 3.16.
2745+
Define handlers with the *stream* argument instead.
2746+
(Contributed by Mariusz Felisiak in :gh:`115032`.)
27372747

27382748
* :mod:`mimetypes`:
2739-
Valid extensions start with a '.' or are empty for
2749+
Valid extensions are either empty or must start with '.' for
27402750
:meth:`mimetypes.MimeTypes.add_type`.
27412751
Undotted extensions are deprecated and will
27422752
raise a :exc:`ValueError` in Python 3.16.
27432753
(Contributed by Hugo van Kemenade in :gh:`75223`.)
27442754

2745-
* :mod:`!nturl2path`: This module is now deprecated. Call
2746-
:func:`urllib.request.url2pathname` and :func:`~urllib.request.pathname2url`
2747-
instead.
2755+
* :mod:`!nturl2path`:
2756+
This module is now deprecated. Call :func:`urllib.request.url2pathname`
2757+
and :func:`~urllib.request.pathname2url` instead.
27482758
(Contributed by Barney Gale in :gh:`125866`.)
27492759

27502760
* :mod:`os`:
2751-
:term:`Soft deprecate <soft deprecated>` :func:`os.popen` and
2752-
:func:`os.spawn* <os.spawnl>` functions. They should no longer be used to
2753-
write new code. The :mod:`subprocess` module is recommended instead.
2761+
The :func:`os.popen` and :func:`os.spawn* <os.spawnl>` functions
2762+
are now :term:`soft deprecated`.
2763+
They should no longer be used to write new code.
2764+
The :mod:`subprocess` module is recommended instead.
27542765
(Contributed by Victor Stinner in :gh:`120743`.)
27552766

27562767
* :mod:`pathlib`:
2757-
:meth:`!pathlib.PurePath.as_uri` is deprecated and will be removed in Python
2758-
3.19. Use :meth:`pathlib.Path.as_uri` instead.
2768+
:meth:`!pathlib.PurePath.as_uri` is now deprecated
2769+
and scheduled for removal in Python 3.19.
2770+
Use :meth:`pathlib.Path.as_uri` instead.
27592771
(Contributed by Barney Gale in :gh:`123599`.)
27602772

27612773
* :mod:`pdb`:
27622774
The undocumented ``pdb.Pdb.curframe_locals`` attribute is now a deprecated
2763-
read-only property. The low overhead dynamic frame locals access added in
2764-
Python 3.13 by PEP 667 means the frame locals cache reference previously
2765-
stored in this attribute is no longer needed. Derived debuggers should access
2775+
read-only property, which will be removed in a future version of Python.
2776+
The low overhead dynamic frame locals access added in Python 3.13 by :pep:`667`
2777+
means the frame locals cache reference previously stored in this attribute
2778+
is no longer needed. Derived debuggers should access
27662779
``pdb.Pdb.curframe.f_locals`` directly in Python 3.13 and later versions.
27672780
(Contributed by Tian Gao in :gh:`124369` and :gh:`125951`.)
27682781

27692782
* :mod:`symtable`:
2770-
Deprecate :meth:`symtable.Class.get_methods` due to the lack of interest.
2783+
Deprecate :meth:`symtable.Class.get_methods` due to the lack of interest,
2784+
scheduled for removal in Python 3.16.
27712785
(Contributed by Bénédikt Tran in :gh:`119698`.)
27722786

27732787
* :mod:`tkinter`:
27742788
The :class:`!tkinter.Variable` methods :meth:`!trace_variable`,
27752789
:meth:`!trace_vdelete` and :meth:`!trace_vinfo` are now deprecated.
2776-
Use :meth:`!trace_add`, :meth:`!trace_remove` and :meth:`!trace_info`
2777-
instead.
2790+
Use :meth:`!trace_add`, :meth:`!trace_remove` and :meth:`!trace_info` instead.
27782791
(Contributed by Serhiy Storchaka in :gh:`120220`.)
27792792

27802793
* :mod:`urllib.parse`:
27812794
Accepting objects with false values (like ``0`` and ``[]``) except empty
2782-
strings, byte-like objects and ``None`` in :mod:`urllib.parse` functions
2783-
:func:`~urllib.parse.parse_qsl` and :func:`~urllib.parse.parse_qs` is now
2784-
deprecated.
2795+
strings, bytes-like objects and ``None`` in :func:`~urllib.parse.parse_qsl`
2796+
and :func:`~urllib.parse.parse_qs` is now deprecated.
27852797
(Contributed by Serhiy Storchaka in :gh:`116897`.)
27862798

27872799
.. Add deprecations above alphabetically, not here at the end.

pr-preview/pr-1148/about.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ <h3>導航</h3>
314314
<a href="https://www.python.org/psf/donations/">敬請捐贈。</a>
315315
<br>
316316
<br>
317-
最後更新於 9月 30, 2025 (00:19 UTC)。
317+
最後更新於 10月 02, 2025 (00:19 UTC)。
318318

319319
<a href="/bugs.html">發現 bug</a>
320320

pr-preview/pr-1148/bugs.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ <h2>說明文件的錯誤<a class="headerlink" href="#documentation-bugs" title=
230230
</section>
231231
<section id="getting-started-contributing-to-python-yourself">
232232
<span id="contributing-to-python"></span><h2>開始讓自己貢獻 Python<a class="headerlink" href="#getting-started-contributing-to-python-yourself" title="連結到這個標頭"></a></h2>
233-
<p>除了只是回報你所發現的錯誤之外,同樣也歡迎你提交修正它們的修補程式 (patch)。你可以在 <a class="reference external" href="https://devguide.python.org/">Python 開發者指南</a>中找到如何開始修補 Python 的更多資訊。如果你有任何問題,<a class="reference external" href="https://mail.python.org/mailman3/lists/core-mentorship.python.org/">核心導師郵寄清單</a>是一個友善的地方,你可以在那裡得到,關於 Python 修正錯誤的過程中,所有問題的答案。</p>
233+
<p>除了只是回報你所發現的錯誤之外,同樣也歡迎你提交修正它們的修補程式 (patch)。你可以在 <a class="reference external" href="https://mail.python.org/mailman3/lists/core-mentorship.python.org/">Python 開發者指南</a>中找到如何開始修補 Python 的更多資訊。如果你有任何問題,<a class="reference external" href="https://devguide.python.org/">核心導師郵寄清單</a>是一個友善的地方,你可以在那裡得到,關於 Python 修正錯誤的過程中,所有問題的答案。</p>
234234
</section>
235235
</section>
236236

@@ -352,7 +352,7 @@ <h3>導航</h3>
352352
<a href="https://www.python.org/psf/donations/">敬請捐贈。</a>
353353
<br>
354354
<br>
355-
最後更新於 9月 30, 2025 (00:19 UTC)。
355+
最後更新於 10月 02, 2025 (00:19 UTC)。
356356

357357
<a href="/bugs.html">發現 bug</a>
358358

pr-preview/pr-1148/c-api/abstract.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ <h3>導航</h3>
323323
<a href="https://www.python.org/psf/donations/">敬請捐贈。</a>
324324
<br>
325325
<br>
326-
最後更新於 9月 30, 2025 (00:19 UTC)。
326+
最後更新於 10月 02, 2025 (00:19 UTC)。
327327

328328
<a href="/bugs.html">發現 bug</a>
329329

pr-preview/pr-1148/c-api/allocation.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@ <h3>導航</h3>
432432
<a href="https://www.python.org/psf/donations/">敬請捐贈。</a>
433433
<br>
434434
<br>
435-
最後更新於 9月 30, 2025 (00:19 UTC)。
435+
最後更新於 10月 02, 2025 (00:19 UTC)。
436436

437437
<a href="/bugs.html">發現 bug</a>
438438

pr-preview/pr-1148/c-api/apiabiversion.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ <h3>導航</h3>
471471
<a href="https://www.python.org/psf/donations/">敬請捐贈。</a>
472472
<br>
473473
<br>
474-
最後更新於 9月 30, 2025 (00:19 UTC)。
474+
最後更新於 10月 02, 2025 (00:19 UTC)。
475475

476476
<a href="/bugs.html">發現 bug</a>
477477

pr-preview/pr-1148/c-api/arg.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -954,7 +954,7 @@ <h3>導航</h3>
954954
<a href="https://www.python.org/psf/donations/">敬請捐贈。</a>
955955
<br>
956956
<br>
957-
最後更新於 9月 30, 2025 (00:19 UTC)。
957+
最後更新於 10月 02, 2025 (00:19 UTC)。
958958

959959
<a href="/bugs.html">發現 bug</a>
960960

pr-preview/pr-1148/c-api/bool.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ <h3>導航</h3>
334334
<a href="https://www.python.org/psf/donations/">敬請捐贈。</a>
335335
<br>
336336
<br>
337-
最後更新於 9月 30, 2025 (00:19 UTC)。
337+
最後更新於 10月 02, 2025 (00:19 UTC)。
338338

339339
<a href="/bugs.html">發現 bug</a>
340340

0 commit comments

Comments
 (0)