Skip to content

Commit 00fb920

Browse files
Merge branch 'main' into bpo-33007-pickle-mangle-roundtrip
2 parents 6317677 + 8735daf commit 00fb920

37 files changed

+2396
-1544
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -691,7 +691,6 @@ jobs:
691691
- build-ubuntu
692692
- build-ubuntu-ssltests-awslc
693693
- build-ubuntu-ssltests-openssl
694-
- build-android
695694
- build-ios
696695
- build-wasi
697696
- test-hypothesis
@@ -706,6 +705,7 @@ jobs:
706705
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe
707706
with:
708707
allowed-failures: >-
708+
build-android,
709709
build-windows-msi,
710710
build-ubuntu-ssltests-awslc,
711711
build-ubuntu-ssltests-openssl,

Doc/deprecations/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Deprecations
77

88
.. include:: pending-removal-in-3.17.rst
99

10+
.. include:: pending-removal-in-3.18.rst
11+
1012
.. include:: pending-removal-in-3.19.rst
1113

1214
.. include:: pending-removal-in-3.20.rst
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Pending removal in Python 3.18
2+
------------------------------
3+
4+
* :mod:`decimal`:
5+
6+
* The non-standard and undocumented :class:`~decimal.Decimal` format
7+
specifier ``'N'``, which is only supported in the :mod:`!decimal` module's
8+
C implementation, has been deprecated since Python 3.13.
9+
(Contributed by Serhiy Storchaka in :gh:`89902`.)

Doc/library/os.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1556,6 +1556,15 @@ or `the MSDN <https://msdn.microsoft.com/en-us/library/z0kc8e3z.aspx>`_ on Windo
15561556
.. versionadded:: 3.15
15571557

15581558

1559+
.. data:: RWF_ATOMIC
1560+
1561+
Write data atomically. Requires alignment to the device's atomic write unit.
1562+
1563+
.. availability:: Linux >= 6.11
1564+
1565+
.. versionadded:: next
1566+
1567+
15591568
.. function:: ptsname(fd, /)
15601569

15611570
Return the name of the slave pseudo-terminal device associated with the
@@ -1598,6 +1607,7 @@ or `the MSDN <https://msdn.microsoft.com/en-us/library/z0kc8e3z.aspx>`_ on Windo
15981607
- :data:`RWF_SYNC`
15991608
- :data:`RWF_APPEND`
16001609
- :data:`RWF_DONTCACHE`
1610+
- :data:`RWF_ATOMIC`
16011611

16021612
Return the total number of bytes actually written.
16031613

Doc/library/stdtypes.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2190,6 +2190,15 @@ expression support in the :mod:`re` module).
21902190
Nonprintable characters are those in group Separator or Other (Z or C),
21912191
except the ASCII space.
21922192

2193+
For example:
2194+
2195+
.. doctest::
2196+
2197+
>>> ''.isprintable(), ' '.isprintable()
2198+
(True, True)
2199+
>>> '\t'.isprintable(), '\n'.isprintable()
2200+
(False, False)
2201+
21932202

21942203
.. method:: str.isspace()
21952204

Doc/whatsnew/3.13.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1861,6 +1861,7 @@ New Deprecations
18611861
* Deprecate the non-standard and undocumented :class:`~decimal.Decimal`
18621862
format specifier ``'N'``,
18631863
which is only supported in the :mod:`!decimal` module's C implementation.
1864+
Scheduled to be removed in Python 3.18.
18641865
(Contributed by Serhiy Storchaka in :gh:`89902`.)
18651866

18661867
* :mod:`dis`:
@@ -2024,6 +2025,8 @@ New Deprecations
20242025

20252026
.. include:: ../deprecations/pending-removal-in-3.17.rst
20262027

2028+
.. include:: ../deprecations/pending-removal-in-3.18.rst
2029+
20272030
.. include:: ../deprecations/pending-removal-in-3.19.rst
20282031

20292032
.. include:: ../deprecations/pending-removal-in-3.20.rst

Doc/whatsnew/3.14.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2718,6 +2718,8 @@ New deprecations
27182718

27192719
.. include:: ../deprecations/pending-removal-in-3.17.rst
27202720

2721+
.. include:: ../deprecations/pending-removal-in-3.18.rst
2722+
27212723
.. include:: ../deprecations/pending-removal-in-3.19.rst
27222724

27232725
.. include:: ../deprecations/pending-removal-in-3.20.rst

Doc/whatsnew/3.15.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,11 @@ Results from the `pyperformance <https://github.com/python/pyperformance>`__
891891
benchmark suite report
892892
`3-4% <https://github.com/facebookexperimental/free-threading-benchmarking/blob/main/results/bm-20251214-3.15.0a2%2B-6cddf04-JIT/bm-20251214-vultr-x86_64-python-6cddf04344a1e8ca9df5-3.15.0a2%2B-6cddf04-vs-base.svg>`__
893893
geometric mean performance improvement for the JIT over the standard CPython
894-
interpreter built with all optimizations enabled. The speedups for JIT
894+
interpreter built with all optimizations enabled on x86-64 Linux. On AArch64
895+
macOS, the JIT has a
896+
`7-8% <https://raw.githubusercontent.com/facebookexperimental/free-threading-benchmarking/refs/heads/main/results/bm-20260103-3.15.0a3%2B-9609574-JIT/bm-20260103-macm4pro-arm64-python-9609574e7fd36edfaa8b-3.15.0a3%2B-9609574-vs-base.svg>`__
897+
speedup over the :ref:`tail calling interpreter <whatsnew314-tail-call-interpreter>`
898+
with all optimizations enabled. The speedups for JIT
895899
builds versus no JIT builds range from roughly 20% slowdown to over
896900
100% speedup (ignoring the ``unpack_sequence`` microbenchmark) on
897901
x86-64 Linux and AArch64 macOS systems.
@@ -1171,6 +1175,8 @@ New deprecations
11711175

11721176
.. include:: ../deprecations/pending-removal-in-3.17.rst
11731177

1178+
.. include:: ../deprecations/pending-removal-in-3.18.rst
1179+
11741180
.. include:: ../deprecations/pending-removal-in-3.19.rst
11751181

11761182
.. include:: ../deprecations/pending-removal-in-3.20.rst

Include/internal/pycore_opcode_metadata.h

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Include/internal/pycore_tstate.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,15 @@ typedef struct _PyJitTracerPreviousState {
4747
_PyBloomFilter dependencies;
4848
} _PyJitTracerPreviousState;
4949

50+
typedef struct _PyJitTracerTranslatorState {
51+
int jump_backward_seen;
52+
} _PyJitTracerTranslatorState;
53+
5054
typedef struct _PyJitTracerState {
5155
_PyUOpInstruction *code_buffer;
5256
_PyJitTracerInitialState initial_state;
5357
_PyJitTracerPreviousState prev_state;
58+
_PyJitTracerTranslatorState translator_state;
5459
} _PyJitTracerState;
5560

5661
#endif

0 commit comments

Comments
 (0)