<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Modules/zlibmodule.c, branch enum-lost-fixes</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/'/>
<entry>
<title>[3.10] Fix typos in the Modules directory (GH-28761) (GH-28781)</title>
<updated>2021-10-07T08:55:18+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2021-10-07T08:55:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=5afc5bb45d614ea4a512e257b6b60e4f98185043'/>
<id>5afc5bb45d614ea4a512e257b6b60e4f98185043</id>
<content type='text'>
(cherry picked from commit dd02a696e55b450413e765e698e653d781ca4205)


Co-authored-by: Christian Clauss &lt;cclauss@me.com&gt;

Automerge-Triggered-By: GH:gpshead</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit dd02a696e55b450413e765e698e653d781ca4205)


Co-authored-by: Christian Clauss &lt;cclauss@me.com&gt;

Automerge-Triggered-By: GH:gpshead</pre>
</div>
</content>
</entry>
<entry>
<title>[3.10] [codemod] Fix non-matching bracket pairs (GH-28473) (GH-28511)</title>
<updated>2021-09-21T23:33:59+00:00</updated>
<author>
<name>Łukasz Langa</name>
<email>lukasz@langa.pl</email>
</author>
<published>2021-09-21T23:33:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=8c1e1da565bca9cec792323eb728e288715ef7c4'/>
<id>8c1e1da565bca9cec792323eb728e288715ef7c4</id>
<content type='text'>
Co-authored-by: Terry Jan Reedy &lt;tjreedy@udel.edu&gt;
Co-authored-by: Serhiy Storchaka &lt;storchaka@gmail.com&gt;
Co-authored-by: Łukasz Langa &lt;lukasz@langa.pl&gt;
(cherry picked from commit 8f943ca25732d548cf9f0b0393ba8d582fb93e29)

Co-authored-by: Mohamad Mansour &lt;66031317+mohamadmansourX@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Terry Jan Reedy &lt;tjreedy@udel.edu&gt;
Co-authored-by: Serhiy Storchaka &lt;storchaka@gmail.com&gt;
Co-authored-by: Łukasz Langa &lt;lukasz@langa.pl&gt;
(cherry picked from commit 8f943ca25732d548cf9f0b0393ba8d582fb93e29)

Co-authored-by: Mohamad Mansour &lt;66031317+mohamadmansourX@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-41486: zlib uses an UINT32_MAX sliding window for the output buffer (GH-26143)</title>
<updated>2021-07-05T01:32:56+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2021-07-05T01:32:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=22bcc0768e0f7eda2ae4de63aef113b1ddb4ddef'/>
<id>22bcc0768e0f7eda2ae4de63aef113b1ddb4ddef</id>
<content type='text'>
* zlib uses an UINT32_MAX sliding window for the output buffer

These funtions have an initial output buffer size parameter:
- zlib.decompress(data, /, wbits=MAX_WBITS, bufsize=DEF_BUF_SIZE)
- zlib.Decompress.flush([length])

If the initial size &gt; UINT32_MAX, use an UINT32_MAX sliding window, instead of clamping to UINT32_MAX.
Speed up when (the initial size == the actual size).

This fixes a memory consumption and copying performance regression in earlier 3.10 beta releases if someone used an output buffer larger than 4GiB with zlib.decompress.

Reviewed-by: Gregory P. Smith
(cherry picked from commit a9a69bb3ea1e6cf54513717212aaeae0d61b24ee)

Co-authored-by: Ma Lin &lt;animalize@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* zlib uses an UINT32_MAX sliding window for the output buffer

These funtions have an initial output buffer size parameter:
- zlib.decompress(data, /, wbits=MAX_WBITS, bufsize=DEF_BUF_SIZE)
- zlib.Decompress.flush([length])

If the initial size &gt; UINT32_MAX, use an UINT32_MAX sliding window, instead of clamping to UINT32_MAX.
Speed up when (the initial size == the actual size).

This fixes a memory consumption and copying performance regression in earlier 3.10 beta releases if someone used an output buffer larger than 4GiB with zlib.decompress.

Reviewed-by: Gregory P. Smith
(cherry picked from commit a9a69bb3ea1e6cf54513717212aaeae0d61b24ee)

Co-authored-by: Ma Lin &lt;animalize@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-41486: Fix initial buffer size can't &gt; UINT32_MAX in zlib module (GH-25738)</title>
<updated>2021-04-30T23:32:49+00:00</updated>
<author>
<name>Ma Lin</name>
<email>animalize@users.noreply.github.com</email>
</author>
<published>2021-04-30T23:32:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=251ffa9d2b16b091046720628deb6a7906c35d29'/>
<id>251ffa9d2b16b091046720628deb6a7906c35d29</id>
<content type='text'>
* Fix initial buffer size can't &gt; UINT32_MAX in zlib module

After commit f9bedb630e8a0b7d94e1c7e609b20dfaa2b22231, in 64-bit build,
if the initial buffer size &gt; UINT32_MAX, ValueError will be raised.

These two functions are affected:
1. zlib.decompress(data, /, wbits=MAX_WBITS, bufsize=DEF_BUF_SIZE)
2. zlib.Decompress.flush([length])

This commit re-allows the size &gt; UINT32_MAX.

* adds curly braces per PEP 7.

* Renames `Buffer_*` to `OutputBuffer_*` for clarity</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix initial buffer size can't &gt; UINT32_MAX in zlib module

After commit f9bedb630e8a0b7d94e1c7e609b20dfaa2b22231, in 64-bit build,
if the initial buffer size &gt; UINT32_MAX, ValueError will be raised.

These two functions are affected:
1. zlib.decompress(data, /, wbits=MAX_WBITS, bufsize=DEF_BUF_SIZE)
2. zlib.Decompress.flush([length])

This commit re-allows the size &gt; UINT32_MAX.

* adds curly braces per PEP 7.

* Renames `Buffer_*` to `OutputBuffer_*` for clarity</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-43916: Apply Py_TPFLAGS_DISALLOW_INSTANTIATION to selected types (GH-25748)</title>
<updated>2021-04-30T14:04:57+00:00</updated>
<author>
<name>Erlend Egeberg Aasland</name>
<email>erlend.aasland@innova.no</email>
</author>
<published>2021-04-30T14:04:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=9746cda705decebc0ba572d95612796afd06dcd4'/>
<id>9746cda705decebc0ba572d95612796afd06dcd4</id>
<content type='text'>
Apply Py_TPFLAGS_DISALLOW_INSTANTIATION to the following types:

* _dbm.dbm
* _gdbm.gdbm
* _multibytecodec.MultibyteCodec
* _sre..SRE_Scanner
* _thread._localdummy
* _thread.lock
* _winapi.Overlapped
* array.arrayiterator
* functools.KeyWrapper
* functools._lru_list_elem
* pyexpat.xmlparser
* re.Match
* re.Pattern
* unicodedata.UCD
* zlib.Compress
* zlib.Decompress
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apply Py_TPFLAGS_DISALLOW_INSTANTIATION to the following types:

* _dbm.dbm
* _gdbm.gdbm
* _multibytecodec.MultibyteCodec
* _sre..SRE_Scanner
* _thread._localdummy
* _thread.lock
* _winapi.Overlapped
* array.arrayiterator
* functools.KeyWrapper
* functools._lru_list_elem
* pyexpat.xmlparser
* re.Match
* re.Pattern
* unicodedata.UCD
* zlib.Compress
* zlib.Decompress
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-41486: Faster bz2/lzma/zlib via new output buffering (GH-21740)</title>
<updated>2021-04-28T06:58:54+00:00</updated>
<author>
<name>Ma Lin</name>
<email>animalize@users.noreply.github.com</email>
</author>
<published>2021-04-28T06:58:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=f9bedb630e8a0b7d94e1c7e609b20dfaa2b22231'/>
<id>f9bedb630e8a0b7d94e1c7e609b20dfaa2b22231</id>
<content type='text'>
Faster bz2/lzma/zlib via new output buffering.
Also adds .readall() function to _compression.DecompressReader class
to take best advantage of this in the consume-all-output at once scenario.

Often a 5-20% speedup in common scenarios due to less data copying.

Contributed by Ma Lin.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Faster bz2/lzma/zlib via new output buffering.
Also adds .readall() function to _compression.DecompressReader class
to take best advantage of this in the consume-all-output at once scenario.

Often a 5-20% speedup in common scenarios due to less data copying.

Contributed by Ma Lin.</pre>
</div>
</content>
</entry>
<entry>
<title>Fix thread locks in zlib module may go wrong in rare case. (#22126)</title>
<updated>2021-04-27T08:37:11+00:00</updated>
<author>
<name>Ma Lin</name>
<email>animalize@users.noreply.github.com</email>
</author>
<published>2021-04-27T08:37:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=93f411838a95f6acbcc29d16ecfd10093cfd5cfd'/>
<id>93f411838a95f6acbcc29d16ecfd10093cfd5cfd</id>
<content type='text'>
Setting `next_in` before acquiring the thread lock may mix up compress/decompress state in other threads.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Setting `next_in` before acquiring the thread lock may mix up compress/decompress state in other threads.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-42519: Replace PyObject_MALLOC() with PyObject_Malloc() (GH-23587)</title>
<updated>2020-12-01T09:37:39+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-12-01T09:37:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=32bd68c839adb7b42af12366ab0892303115d1d1'/>
<id>32bd68c839adb7b42af12366ab0892303115d1d1</id>
<content type='text'>
No longer use deprecated aliases to functions:

* Replace PyObject_MALLOC() with PyObject_Malloc()
* Replace PyObject_REALLOC() with PyObject_Realloc()
* Replace PyObject_FREE() with PyObject_Free()
* Replace PyObject_Del() with PyObject_Free()
* Replace PyObject_DEL() with PyObject_Free()</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No longer use deprecated aliases to functions:

* Replace PyObject_MALLOC() with PyObject_Malloc()
* Replace PyObject_REALLOC() with PyObject_Realloc()
* Replace PyObject_FREE() with PyObject_Free()
* Replace PyObject_Del() with PyObject_Free()
* Replace PyObject_DEL() with PyObject_Free()</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-1635741 port zlib module to multi-phase init (GH-21995)</title>
<updated>2020-09-07T08:27:55+00:00</updated>
<author>
<name>Mohamed Koubaa</name>
<email>koubaa.m@gmail.com</email>
</author>
<published>2020-09-07T08:27:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=1aaa21ff818b08af2a68862b552b7ba0857492eb'/>
<id>1aaa21ff818b08af2a68862b552b7ba0857492eb</id>
<content type='text'>
Port the zlib extension module to multi-phase initialization (PEP 489).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Port the zlib extension module to multi-phase initialization (PEP 489).</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-37999: No longer use __int__ in implicit integer conversions. (GH-15636)</title>
<updated>2020-05-26T15:43:38+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2020-05-26T15:43:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=578c3955e0222ec7b3146197467fbb0fcfae12fe'/>
<id>578c3955e0222ec7b3146197467fbb0fcfae12fe</id>
<content type='text'>
Only __index__ should be used to make integer conversions lossless.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only __index__ should be used to make integer conversions lossless.
</pre>
</div>
</content>
</entry>
</feed>
