<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git, branch v3.12.0a5</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/'/>
<entry>
<title>Python 3.12.0a5</title>
<updated>2023-02-07T12:21:15+00:00</updated>
<author>
<name>Thomas Wouters</name>
<email>thomas@python.org</email>
</author>
<published>2023-02-07T12:17:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=3c67ec394faac79d260804d569a18fab43018af0'/>
<id>3c67ec394faac79d260804d569a18fab43018af0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[gh-101072] Fix Blurb for GH-101127</title>
<updated>2023-02-07T09:50:39+00:00</updated>
<author>
<name>Łukasz Langa</name>
<email>lukasz@langa.pl</email>
</author>
<published>2023-02-07T09:50:39+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=79903240480429a6e545177416a7b782b0e5b9bd'/>
<id>79903240480429a6e545177416a7b782b0e5b9bd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>gh-101072: support default and kw default in PyEval_EvalCodeEx  for 3.11+ (#101127)</title>
<updated>2023-02-07T09:34:21+00:00</updated>
<author>
<name>Matthieu Dartiailh</name>
<email>m.dartiailh@gmail.com</email>
</author>
<published>2023-02-07T09:34:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=ae62bddaf81176a7e55f95f18d55621c9c46c23d'/>
<id>ae62bddaf81176a7e55f95f18d55621c9c46c23d</id>
<content type='text'>
Co-authored-by: Łukasz Langa &lt;lukasz@langa.pl&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Łukasz Langa &lt;lukasz@langa.pl&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>gh-85747: Active voice &amp; suggested edits, 'running/stopping loop' &amp; 'callbacks' subsections of asyncio-eventloop.rst (#100270)</title>
<updated>2023-02-07T05:25:42+00:00</updated>
<author>
<name>Brian Skinn</name>
<email>brian.skinn@gmail.com</email>
</author>
<published>2023-02-07T05:25:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=c4de6b1d52304a0a9cdfafc1dad5098993710404'/>
<id>c4de6b1d52304a0a9cdfafc1dad5098993710404</id>
<content type='text'>
Co-authored-by: C.A.M. Gerlach &lt;CAM.Gerlach@Gerlach.CAM&gt;
Co-authored-by: Terry Jan Reedy &lt;tjreedy@udel.edu&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: C.A.M. Gerlach &lt;CAM.Gerlach@Gerlach.CAM&gt;
Co-authored-by: Terry Jan Reedy &lt;tjreedy@udel.edu&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>gh-98831: Move DSL documentation here from ideas repo (#101629)</title>
<updated>2023-02-07T05:03:58+00:00</updated>
<author>
<name>Guido van Rossum</name>
<email>guido@python.org</email>
</author>
<published>2023-02-07T05:03:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=694e346a01f407c7f78138331db006dea79f82a8'/>
<id>694e346a01f407c7f78138331db006dea79f82a8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>gh-99108: Replace SHA2-224 &amp; 256 with verified code from HACL* (#99109)</title>
<updated>2023-02-07T02:11:01+00:00</updated>
<author>
<name>Jonathan Protzenko</name>
<email>protz@microsoft.com</email>
</author>
<published>2023-02-07T02:11:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=1fcc0efdaa84b3602c236391633b70ff36df149b'/>
<id>1fcc0efdaa84b3602c236391633b70ff36df149b</id>
<content type='text'>
replacing hashlib primitives (for the non-OpenSSL case) with verified implementations from HACL*. This is the first PR in the series, and focuses specifically on SHA2-256 and SHA2-224.

This PR imports Hacl_Streaming_SHA2 into the Python tree. This is the HACL* implementation of SHA2, which combines a core implementation of SHA2 along with a layer of buffer management that allows updating the digest with any number of bytes. This supersedes the previous implementation in the tree.

@franziskuskiefer was kind enough to benchmark the changes: in addition to being verified (thus providing significant safety and security improvements), this implementation also provides a sizeable performance boost!

```
---------------------------------------------------------------
Benchmark                     Time             CPU   Iterations
---------------------------------------------------------------
Sha2_256_Streaming            3163 ns      3160 ns       219353     // this PR
LibTomCrypt_Sha2_256          5057 ns      5056 ns       136234     // library used by Python currently
``` 

The changes in this PR are as follows:
- import the subset of HACL* that covers SHA2-256/224 into `Modules/_hacl`
- rewire sha256module.c to use the HACL* implementation

Co-authored-by: Gregory P. Smith [Google LLC] &lt;greg@krypto.org&gt;
Co-authored-by: Erlend E. Aasland &lt;erlend.aasland@protonmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
replacing hashlib primitives (for the non-OpenSSL case) with verified implementations from HACL*. This is the first PR in the series, and focuses specifically on SHA2-256 and SHA2-224.

This PR imports Hacl_Streaming_SHA2 into the Python tree. This is the HACL* implementation of SHA2, which combines a core implementation of SHA2 along with a layer of buffer management that allows updating the digest with any number of bytes. This supersedes the previous implementation in the tree.

@franziskuskiefer was kind enough to benchmark the changes: in addition to being verified (thus providing significant safety and security improvements), this implementation also provides a sizeable performance boost!

```
---------------------------------------------------------------
Benchmark                     Time             CPU   Iterations
---------------------------------------------------------------
Sha2_256_Streaming            3163 ns      3160 ns       219353     // this PR
LibTomCrypt_Sha2_256          5057 ns      5056 ns       136234     // library used by Python currently
``` 

The changes in this PR are as follows:
- import the subset of HACL* that covers SHA2-256/224 into `Modules/_hacl`
- rewire sha256module.c to use the HACL* implementation

Co-authored-by: Gregory P. Smith [Google LLC] &lt;greg@krypto.org&gt;
Co-authored-by: Erlend E. Aasland &lt;erlend.aasland@protonmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>gh-59956: Add a Test to Verify GILState Matches the "Current" Thread State (gh-101625)</title>
<updated>2023-02-06T22:53:31+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2023-02-06T22:53:31+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=914f8fd9f7fc5e48b54d938a68c932cc618ef3a6'/>
<id>914f8fd9f7fc5e48b54d938a68c932cc618ef3a6</id>
<content type='text'>
This test should have been in gh-101431.

https://github.com/python/cpython/issues/59956</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This test should have been in gh-101431.

https://github.com/python/cpython/issues/59956</pre>
</div>
</content>
</entry>
<entry>
<title>gh-98831: rewrite COPY and SWAP in the instruction definition DSL (#101620)</title>
<updated>2023-02-06T22:45:18+00:00</updated>
<author>
<name>Irit Katriel</name>
<email>1055913+iritkatriel@users.noreply.github.com</email>
</author>
<published>2023-02-06T22:45:18+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=38752760c91c87dd67af16d2cee611a22e647567'/>
<id>38752760c91c87dd67af16d2cee611a22e647567</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>GH-101616: Mention the Docs Discourse forum in the "reporting docs issues" (GH-101617)</title>
<updated>2023-02-06T21:59:45+00:00</updated>
<author>
<name>Mariatta Wijaya</name>
<email>Mariatta@users.noreply.github.com</email>
</author>
<published>2023-02-06T21:59:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=949c58f945b93af5b7bb70c6448e940da669065d'/>
<id>949c58f945b93af5b7bb70c6448e940da669065d</id>
<content type='text'>
Fixes https://github.com/python/cpython/issues/101616</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes https://github.com/python/cpython/issues/101616</pre>
</div>
</content>
</entry>
<entry>
<title>gh-59956: Partial Fix for GILState API Compatibility with Subinterpreters (gh-101431)</title>
<updated>2023-02-06T21:39:25+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2023-02-06T21:39:25+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=132b3f8302c021ac31e9c1797a127d57faa1afee'/>
<id>132b3f8302c021ac31e9c1797a127d57faa1afee</id>
<content type='text'>
The GILState API (PEP 311) implementation from 2003 made the assumption that only one thread state would ever be used for any given OS thread, explicitly disregarding the case of subinterpreters.  However, PyThreadState_Swap() still facilitated switching between subinterpreters, meaning the "current" thread state (holding the GIL), and the GILState thread state could end up out of sync, causing problems (including crashes).

This change addresses the issue by keeping the two in sync in PyThreadState_Swap().  I verified the fix against gh-99040.

Note that the other GILState-subinterpreter incompatibility (with autoInterpreterState) is not resolved here.

https://github.com/python/cpython/issues/59956</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The GILState API (PEP 311) implementation from 2003 made the assumption that only one thread state would ever be used for any given OS thread, explicitly disregarding the case of subinterpreters.  However, PyThreadState_Swap() still facilitated switching between subinterpreters, meaning the "current" thread state (holding the GIL), and the GILState thread state could end up out of sync, causing problems (including crashes).

This change addresses the issue by keeping the two in sync in PyThreadState_Swap().  I verified the fix against gh-99040.

Note that the other GILState-subinterpreter incompatibility (with autoInterpreterState) is not resolved here.

https://github.com/python/cpython/issues/59956</pre>
</div>
</content>
</entry>
</feed>
