* Move Windows py.exe improvements from Typing section to New Features
* Add ref target label and use literal for py.exe
* Be clearer/explict about what legacy version arg components reprisent
* Apply other minor clarity and textual fixes to py.exe launcher text
* Refine phrasing of legacy sentence of py.exe desc
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
(cherry picked from commit 985958187d)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
* Add/refine cross references to items in other lang changes section
* Unify context manager exception changes into single non-repetitive item
* More clearly describe the intent and consequences of the -P option
* Apply minor clarifications & copyedits to rest of section
* Tweak the formatting of module references
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
(cherry picked from commit a77d9dedcd)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
* Add Pynche's move to the What's new in 3.11 (#97974)
* Add Pynche's move to the What's new in 3.11
* Update Doc/whatsnew/3.11.rst
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
(cherry picked from commit effc25f7f2)
* [3.11] Add Pynche's move to the What's new in 3.11 (GH-97974)
* Add Pynche's move to the What's new in 3.11
* Update Doc/whatsnew/3.11.rst
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>.
(cherry picked from commit effc25f7f2)
Co-authored-by: Barry Warsaw <barry@python.org>
Rely on the title of the linked internal page instead of putting the title. Sphinx will render with the title correctly, and this will reduce work for translators
(cherry picked from commit 52fcba6512)
Co-authored-by: Rafael Fontenelle <rffontenelle@users.noreply.github.com>
* Link ZipFile in What's New entry discussing it
* Add entry for new ZipFile.mkdir method
* Add entry for new zipfile.Path.stem/suffix/suffixes methods
* Add missing line breaks between zipfile bullet list items
(cherry picked from commit ed827d5608)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
* Add entry for new logging.getLevelNamesMapping function
* Add entry for SysLogHandler.createSocket to whatsnew
* Add missing line break between logging bullet list items
(cherry picked from commit 251b8ccd2a)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Add links to Summary items to where readers can learn more
(cherry picked from commit fcae1954a2)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
* Whatsnew: Convert literals in enum section to actual x-references
* Whatsnew: Rewrite enum section for clear and consistant phrasing
* Whatsnew: Combine directly related enum items instead of seperating them
* gh-98250: Describe __str__/__format__ changes more clearly/accurately
* Tweak enum section language per feedback from Ethan
(cherry picked from commit 73e5180faf)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
* Add line breaks & ref targets to Whatsnew to prepare for future changes
* Use standard heading underbar symbols for H4 sections
* Flatten Porting subsection; clarify scope of/link Python->CAPI sections
* Move C API pending deprecations to C API section, to match the others
(cherry picked from commit 0a0c7e5a7a)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>.
(cherry picked from commit fa2d43e518)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* Add Pynche's move to the What's new in 3.11 (#97974)
* Add Pynche's move to the What's new in 3.11
* Update Doc/whatsnew/3.11.rst
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
(cherry picked from commit effc25f7f2)
* [3.11] Add Pynche's move to the What's new in 3.11 (GH-97974)
* Add Pynche's move to the What's new in 3.11
* Update Doc/whatsnew/3.11.rst
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>.
(cherry picked from commit effc25f7f2)
Co-authored-by: Barry Warsaw <barry@python.org>
* Add/refine cross references to items in other lang changes section
* Unify context manager exception changes into single non-repetitive item
* More clearly describe the intent and consequences of the -P option
* Apply minor clarifications & copyedits to rest of section
* Tweak the formatting of module references
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
(cherry picked from commit a77d9dedcd)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
* Move Windows py.exe improvements from Typing section to New Features
* Add ref target label and use literal for py.exe
* Be clearer/explict about what legacy version arg components reprisent
* Apply other minor clarity and textual fixes to py.exe launcher text
* Refine phrasing of legacy sentence of py.exe desc
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
(cherry picked from commit 985958187d)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
* Link TOML & WSGI in New Modules section, refine text & add ref label
* Further reformat new modules & add PEP link to tomllib
(cherry picked from commit bd00112a99)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Use HTTPS for documents which are available by both HTTP and HTTPS
links, but there is no redirection from HTTP to HTTPS or vice versa.
(cherry picked from commit dd53b79de0)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
(cherry picked from commit 4b81139aac)
Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com>
Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
(cherry picked from commit 4995f5f9a0)
Co-authored-by: Laurie O <laurie_opperman@hotmail.com>
Integer to and from text conversions via CPython's bignum `int` type is not safe against denial of service attacks due to malicious input. Very large input strings with hundred thousands of digits can consume several CPU seconds.
This PR comes fresh from a pile of work done in our private PSRT security response team repo.
This backports https://github.com/python/cpython/pull/96499 aka 511ca94520
Signed-off-by: Christian Heimes [Red Hat] <christian@python.org>
Tons-of-polishing-up-by: Gregory P. Smith [Google] <greg@krypto.org>
Reviews via the private PSRT repo via many others (see the NEWS entry in the PR).
<!-- gh-issue-number: gh-95778 -->
* Issue: gh-95778
<!-- /gh-issue-number -->
I wrote up [a one pager for the release managers](https://docs.google.com/document/d/1KjuF_aXlzPUxTK4BMgezGJ2Pn7uevfX7g0_mvgHlL7Y/edit#).
The previous wording of this entry suggests that CPython
won't work if optional compiler features are enabled.
That's not the case. The change is that we require C11 rather
than C89.
Note that PEP 7 does say "Python 3.11 and newer versions use C11
without optional features." It is correct there: that's
not a guide for users who compile Python, but for CPython devs
who must avoid the features.
* 3.11 Whatsnew: Add Py_UNICODE encode functions removed in PEP 624
* Just use :func: instead of :c:func: for non-resolved funcs so ! works
(cherry picked from commit b6d88b7225)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
(cherry picked from commit ab4d72954f)
Co-authored-by: Christian Heimes <christian@python.org>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com>
Co-authored-by: Mark Shannon <mark@hotpy.org>
It updates links which redirect to HTTPS with different authority or
path.
(cherry picked from commit d0d0154443)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
If an HTTP link is redirected to a same looking HTTPS link, the latter can
be used directly without changes in readability and behavior.
It protects from a men-in-the-middle attack.
This change does not affect Python examples..
(cherry picked from commit f79547a429)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
(cherry picked from commit a1daf6e5cc)
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Automerge-Triggered-By: GH:Fidget-Spinner
Some are missing, a few placed after the ')'.
One ') was missing.
(cherry picked from commit c944649ffc)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Elide traceback column indicators when the entire line of the
frame is implicated. This reduces traceback length and draws
more attention to the remaining (very relevant) indicators.
Example:
```
Traceback (most recent call last):
File "query.py", line 99, in <module>
bar()
File "query.py", line 66, in bar
foo()
File "query.py", line 37, in foo
magic_arithmetic('foo')
File "query.py", line 18, in magic_arithmetic
return add_counts(x) / 25
^^^^^^^^^^^^^
File "query.py", line 24, in add_counts
return 25 + query_user(user1) + query_user(user2)
^^^^^^^^^^^^^^^^^
File "query.py", line 32, in query_user
return 1 + query_count(db, response['a']['b']['c']['user'], retry=True)
~~~~~~~~~~~~~~~~~~^^^^^
TypeError: 'NoneType' object is not subscriptable
```
Automerge-Triggered-By: GH:pablogsal
Move the follow functions and type from frameobject.h to pyframe.h,
so the standard <Python.h> provide frame getter functions:
* PyFrame_Check()
* PyFrame_GetBack()
* PyFrame_GetBuiltins()
* PyFrame_GetGenerator()
* PyFrame_GetGlobals()
* PyFrame_GetLasti()
* PyFrame_GetLocals()
* PyFrame_Type
Remove #include "frameobject.h" from many C files. It's no longer
needed.
(cherry picked from commit 27b9894033)
* What's new in 3.10: fix link to issue
* What's new in 3.10: fix link to GH issue
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
(cherry picked from commit 59c1b33805)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
(cherry picked from commit caa279d6fd)
This was added for bpo-40514 (gh-84694) to test out a per-interpreter GIL. However, it has since proven unnecessary to keep the experiment in the repo. (It can be done as a branch in a fork like normal.) So here we are removing:
* the configure option
* the macro
* the code enabled by the macro
Automerge-Triggered-By: GH:ericsnowcurrently
The function was already deprecated in Python 3.11 since it calls
locale.getdefaultlocale() which was deprecated in Python 3.11.
(cherry picked from commit bf58cd01b3)
Co-authored-by: Victor Stinner <vstinner@python.org>
Revert "bpo-47211: Remove function re.template() and flag re.TEMPLATE (GH-32300)"
This reverts commit b09184bf05.
(cherry picked from commit 16a7e4a0b7)
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
For example, instead of "eval()uated" (link from "eval()")
show "evaluated" (link from the whole word).
(cherry picked from commit 7f835923c1)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
It fixes 252 errors from a Sphinx nitpicky run (sphinx-build -n). But
there's 8182 errors left.
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
(cherry picked from commit 664aa94b57)
Co-authored-by: Julien Palard <julien@palard.fr>
I merged this without a What's New entry to avoid merge conflicts, so here's the follow-up adding the entry.
@Kab1r do you mind reviewing?
Closes GH-91928
Automerge-Triggered-By: GH:pganssle
(cherry picked from commit a0a825c38a)
Co-authored-by: Paul Ganssle <1377457+pganssle@users.noreply.github.com>
We could try to remedy this by taking a slice, but we then run into an issue where the empty string will match altsep on POSIX. That rabbit hole could keep getting deeper.
A proper fix for the original issue involves making pathlib's path normalisation more configurable - in this case we want to retain trailing slashes, but in other we might want to preserve `./` prefixes, or elide `../` segments when we're sure we won't encounter symlinks.
This reverts commit ea2f5bcda1.
(cherry picked from commit dcdf250d2d)
Co-authored-by: Barney Gale <barney.gale@gmail.com>