[Python-Dev] [RELEASE] Python 3.11.5, 3.10.13, 3.9.18, and 3.8.18 is now available

2023-08-24 Thread Łukasz Langa
There’s security content in the releases, let’s dive right in.

gh-108310 <https://github.com/python/cpython/issues/108310>: Fixed an issue 
where instances of ssl.SSLSocket 
<https://docs.python.org/release/3.10.13/library/ssl.html#ssl.SSLSocket> were 
vulnerable to a bypass of the TLS handshake and included protections (like 
certificate verification) and treating sent unencrypted data as if it were 
post-handshake TLS encrypted data. Security issue reported as CVE-2023-40217 1 
<https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-40217> by Aapo Oksman. 
Patch by Gregory P. Smith.
Upgrading is highly recommended to all users of affected versions.

 
<https://discuss.python.org/t/python-3-11-5-3-10-13-3-9-18-and-3-8-18-is-now-available/32254/1#python-3115-1>Python
 3.11.5

Get it here: https://www.python.org/downloads/release/python-3115/

This release was held up somewhat by the resolution of this CVE, which is why 
it includes a whopping 328 new commits since 3.11.4 (compared to 238 commits 
between 3.10.4 and 3.10.5). Among those, there is a fix for CVE-2023-41105 
<https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-41105>which affected 
Python 3.11.0 - 3.11.4. See gh-106242 
<https://github.com/python/cpython/issues/106242> for details.

There are also some fixes for crashes, check out the change log 
<https://docs.python.org/release/3.11.5/whatsnew/changelog.html> to see all 
information.

Most importantly, the release notes on the downloads page 
<https://www.python.org/downloads/release/python-3115/> include a description 
of the Larmor precession. I understood some of the words there!

 
<https://discuss.python.org/t/python-3-11-5-3-10-13-3-9-18-and-3-8-18-is-now-available/32254/1#python-31013-2>Python
 3.10.13

Get it here: https://www.python.org/downloads/release/python-31013/

16 commits.

 
<https://discuss.python.org/t/python-3-11-5-3-10-13-3-9-18-and-3-8-18-is-now-available/32254/1#python-3918-3>Python
 3.9.18

Get it here: https://www.python.org/downloads/release/python-3918/

11 commits.

 
<https://discuss.python.org/t/python-3-11-5-3-10-13-3-9-18-and-3-8-18-is-now-available/32254/1#python-3818-4>Python
 3.8.18

Get it here: https://www.python.org/downloads/release/python-3818/

9 commits.

 
<https://discuss.python.org/t/python-3-11-5-3-10-13-3-9-18-and-3-8-18-is-now-available/32254/1#stay-safe-and-upgrade-5>Stay
 safe and upgrade!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

--
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>
on behalf of your friendly release team,

Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Pablo Galindo Salgado @pablogsal <https://discuss.python.org/u/pablogsal>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>
Thomas Wouters @thomas <https://discuss.python.org/u/thomas>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/2VDJP6JU7DO7PKIVZQMVD6H3F2MDDQZQ/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.11.4, 3.10.12, 3.9.17, 3.8.17, 3.7.17, and 3.12.0 beta 2 are now available

2023-06-07 Thread Łukasz Langa
3.7.17 <https://www.python.org/downloads/release/python-3717/>
Security-only release with no binaries. 21 commits.

We hope you enjoy the new releases!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation <https://www.python.org/psf/>.

–
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>
on behalf of your friendly release team,

Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Pablo Galindo Salgado @pablogsal <https://discuss.python.org/u/pablogsal>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>
Thomas Wouters @thomas <https://discuss.python.org/u/thomas>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/XEQ7I3YDDXJJA3JSARTHFDCBVXD6CPHT/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Python Language Summit at PyCon US 2023 in Salt Lake City

2023-02-07 Thread Łukasz Langa
We’re excited to announce that the signups for the Python Language Summit at 
PyCon US 2023 are now open.

Full details at: https://us.pycon.org/2023/events/language-summit/ 

Just like in 2022, we are doing the Summit as an in-person event. We will be 
following the health and safety guidelines 
 of the wider 
conference.


 
TL;DR

When: Wednesday, April 19, 2023 at 10:00am
Where: Salt Palace Convention Center, room TBD

Sign up to attend: https://forms.gle/YnWL1Hts6zDtdSgn7 
 (closes March 5th, 2023 AoE)


 
Who
 can attend

We welcome Python core developers and triage team members, active contributors 
to CPython and alternative Python implementations, and other community members 
with a topic to discuss with core developers.


 
Who
 can propose a discussion topic

If you have discussion items; seeking consensus; awaiting decision on a PEP; 
needing help with your core dev work; or have specific questions that need 
answers from core developers, please submit a proposal. According to feedback, 
our audience prefers more discussions and shorter talks.

In your proposal, please include the following:

why is this topic relevant to the core developers;
what is needed from core developers out of this topic.

 
How
 can I learn what’s happening at the event?

Like in 2022, this year’s event will be covered by @AlexWaygood 
. A detailed summary of the event 
will be published on the Python Software Foundation Blog 
.


 
Is
 this event recorded? Can I watch the live stream?

No, there will be no recording and no live stream available. If you’d like to 
participate in discussions, please sign up to attend. If you’d like to listen 
in, please wait for Alex’s blog posts after the Summit.


 
We
 hope you have a great event!

Your Language Summit cat herding team,
@ambv  & @Senthil 



signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/WLO2MCT2RMSE6XDI3LBUACUQR7YWQAZE/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.11.1, 3.10.9, 3.9.16, 3.8.16, 3.7.16, and 3.12.0 alpha 3 are now available

2022-12-06 Thread Łukasz Langa
binaries. 9 commits.

 
<https://discuss.python.org/t/python-3-11-1-3-10-9-3-9-16-3-8-16-3-7-16-and-3-12-0-alpha-3-are-now-available/21724#python-3716-6>Python
 3.7.16

Get it here, read the change log, check PEP 537  
<https://peps.python.org/pep-0537/>to confirm EOL is coming to this version in 
June 2023:

https://www.python.org/downloads/release/python-3716/ 
<https://www.python.org/downloads/release/python-3716/>

Security-only release with no binaries. 8 commits.

 
<https://discuss.python.org/t/python-3-11-1-3-10-9-3-9-16-3-8-16-3-7-16-and-3-12-0-alpha-3-are-now-available/21724#we-hope-you-enjoy-the-new-releases-7>We
 hope you enjoy the new releases!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

https://www.python.org/psf/  <https://www.python.org/psf/>
Your friendly release team,

Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Pablo Galindo Salgado @pablogsal <https://discuss.python.org/u/pablogsal>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>
Thomas Wouters @thomas <https://discuss.python.org/u/thomas>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/WLYGT7JQWP5FWTT3Y2REP6WV26SQ5LFS/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python versions 3.10.8, 3.9.15, 3.8.15, 3.7.15 now available

2022-10-11 Thread Łukasz Langa
Déjà vu? Right, a month after the expedited releases we are doing the dance 
again. This coincides with the regular scheduled time for 3.10.8 but since we 
accrued a few fixes in 3.7 - 3.9 as well, we’re again releasing all four 
editions at the same time. We’re not promising to continue at this pace 

 
<https://discuss.python.org/t/python-versions-3-10-8-3-9-15-3-8-15-3-7-15-now-available/19889#security-content-this-time-1>Security
 content this time

CVE-2022-40674: bundled libexpat was upgraded from 2.4.7 to 2.4.9 which fixes a 
heap use-after-free vulnerability in function doContent
gh-97616: a fix for a possible buffer overflow in list *= int
gh-97612: a fix for possible shell injection in the example script 
get-remote-certificate.py (this issue originally had a CVE assigned to it, 
which its author withdrew)
gh-96577: a fix for a potential buffer overrun in msilib
 
<https://discuss.python.org/t/python-versions-3-10-8-3-9-15-3-8-15-3-7-15-now-available/19889#python-3108-2>Python
 3.10.8

Get it here: https://www.python.org/downloads/release/python-3108/ 
<https://www.python.org/downloads/release/python-3108/>
As a bugfix release coming a mere month after an out-of-schedule security 
release, 3.10.8 is somewhat smaller compared to 3.9.8 released at the same 
stage of the release cycle a year ago. There’s 151 commits vs 204 in 3.9. It’s 
still a larger release than 3.10.7 at 113 commits. One way or the other, it’s 
worth checking out the change log 
<https://docs.python.org/release/3.10.8/whatsnew/changelog.html>.

 
<https://discuss.python.org/t/python-versions-3-10-8-3-9-15-3-8-15-3-7-15-now-available/19889#and-now-for-something-completely-different-3>And
 now for something completely different

Granular convection is a phenomenon where granular material subjected to 
shaking or vibration will exhibit circulation patterns similar to types of 
fluid convection.

It is sometimes described as the Brazil nut effect when the largest particles 
end up on the surface of a granular material containing a mixture of variously 
sized objects; this derives from the example of a typical container of mixed 
nuts, where the largest will be Brazil nuts.

The phenomenon is also known as the muesli effect since it is seen in packets 
of breakfast cereal containing particles of different sizes but similar 
densities, such as muesli mix.

Under experimental conditions, granular convection of variously sized particles 
has been observed forming convection cells similar to fluid motion.

 
<https://discuss.python.org/t/python-versions-3-10-8-3-9-15-3-8-15-3-7-15-now-available/19889#we-hope-you-enjoy-the-new-releases-4>We
 hope you enjoy the new releases!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,

Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Pablo Galindo Salgado @pablogsal <https://discuss.python.org/u/pablogsal>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/4CUOZYRQLJLBVNV7IPSJMEFVSD65VS2G/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python versions 3.10.7, 3.9.14, 3.8.14, 3.7.14 now available with security content

2022-09-07 Thread Łukasz Langa
We have some security content, and plenty of regular bug fixes for 3.10. Let’s 
dive right in.

 
<https://discuss.python.org/#cve-2020-10735httpscvemitreorgcgi-bincvenamecginamecve-2020-10735-1>CVE-2020-10735
 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735>
Converting between int and str in bases other than 2 (binary), 4, 8 (octal), 16 
(hexadecimal), or 32 such as base 10 (decimal) now raises a ValueError 
<https://docs.python.org/release/3.10.7/whatsnew/3.10.html#notable-security-feature-in-3-10-7>
 if the number of digits in string form is above a limit to avoid potential 
denial of service attacks due to the algorithmic complexity.

Security releases for 3.9.14, 3.8.14, and 3.7.14 are made available 
simultaneously to address this issue, along with some less urgent security 
content.

Upgrading your installations is highly recommended.

 <https://discuss.python.org/#python-3107-2>Python 3.10.7

Get it here:

https://www.python.org/downloads/release/python-3107/ 
<https://www.python.org/downloads/release/python-3107/>


This bugfix version of Python was released out-of-schedule to address the CVE, 
and as such contains a smaller number of changes compared to 3.10.6 (200 
commits), or in fact 3.9.7 (187 commits) at the same stage of the release cycle 
a year ago. But there’s still over a 100 commits in this latest Python version 
so it’s worth checking out the change log 
<https://docs.python.org/release/3.10.7/whatsnew/changelog.html>.

 <https://discuss.python.org/#and-now-for-something-completely-different-3>And 
now for something completely different

In quantum mechanics, the uncertainty principle (also known as Heisenberg’s 
uncertainty principle) is any of a variety of mathematical inequalities 
asserting a fundamental limit to the accuracy with which the values for certain 
pairs of physical quantities of a particle, such as position and momentum or 
the time and the energy can be predicted from initial conditions.

Such variable pairs are known as complementary variables or canonically 
conjugate variables; and, depending on interpretation, the uncertainty 
principle limits to what extent such conjugate properties maintain their 
approximate meaning, as the mathematical framework of quantum physics does not 
support the notion of simultaneously well-defined conjugate properties 
expressed by a single value.

The uncertainty principle implies that it is in general not possible to predict 
the value of a quantity with arbitrary certainty, even if all initial 
conditions are specified.

 <https://discuss.python.org/#we-hope-you-enjoy-the-new-releases-4>We hope you 
enjoy the new releases!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,

Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Pablo Galindo Salgado @pablogsal <https://discuss.python.org/u/pablogsal>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/B25APD6FF27NJWKTEGAFRUDNSVVAFIHQ/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.13 is now available

2022-05-17 Thread Łukasz Langa
This is the thirteenth maintenance release of Python 3.9. Get it here:
Python 3.9.13 <https://www.python.org/downloads/release/python-3913/>
According to the release calendar specified in PEP 596 
<https://www.python.org/dev/peps/pep-0596/>, Python 3.9.13 is the final regular 
maintenance release. Starting now, the 3.9 branch will only accept security 
fixes and releases of those will be made in source-only form until October 2025.

This is a milestone moment for me as it means that now both of my release 
series are security-only. My work as release manager enters its final stage. 
I’m not crying, you’re crying! 沈

Compared to the 3.8 series, this last regular bugfix release is still pretty 
active at 166 commits since 3.9.12. In comparison, version 3.8.10, the final 
regular bugfix release of Python 3.8, included only 92 commits. However, it’s 
likely that it was 3.8 that was special here with the governance changes 
occupying core developers’ minds. For reference, version 3.7.8, the final 
regular bugfix release of Python 3.7, included 187 commits.

In any case, 166 commits is quite a few changes, some of which being pretty 
important fixes. Take a look at the change log 
<https://docs.python.org/release/3.9.13/whatsnew/changelog.html> for details.

 
<https://discuss.python.org/t/python-3-9-13-is-now-available/15815#major-new-features-of-the-39-series-compared-to-38-1>Major
 new features of the 3.9 series, compared to 3.8

Some of the new major new features and changes in Python 3.9 are:

PEP 573 <https://www.python.org/dev/peps/pep-0573/>, Module State Access from C 
Extension Methods
PEP 584 <https://www.python.org/dev/peps/pep-0584/>, Union Operators in dict
PEP 585 <https://www.python.org/dev/peps/pep-0585/>, Type Hinting Generics In 
Standard Collections
PEP 593 <https://www.python.org/dev/peps/pep-0593/>, Flexible function and 
variable annotations
PEP 602 <https://www.python.org/dev/peps/pep-0602/>, Python adopts a stable 
annual release cadence
PEP 614 <https://www.python.org/dev/peps/pep-0614/>, Relaxing Grammar 
Restrictions On Decorators
PEP 615 <https://www.python.org/dev/peps/pep-0615/>, Support for the IANA Time 
Zone Database in the Standard Library
PEP 616 <https://www.python.org/dev/peps/pep-0616/>, String methods to remove 
prefixes and suffixes
PEP 617 <https://www.python.org/dev/peps/pep-0617/>, New PEG parser for CPython
BPO 38379 <https://bugs.python.org/issue38379>, garbage collection does not 
block on resurrected objects;
BPO 38692 <https://bugs.python.org/issue38692>, os.pidfd_open added that allows 
process management without races and signals;
BPO 39926 <https://bugs.python.org/issue39926>, Unicode support updated to 
version 13.0.0;
BPO 1635741 <https://bugs.python.org/issue1635741>, when Python is initialized 
multiple times in the same process, it does not leak memory anymore;
A number of Python builtins (range, tuple, set, frozenset, list, dict) are now 
sped up using PEP 590 <https://www.python.org/dev/peps/pep-0590> vectorcall;
A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, 
_functools, _json, _locale, operator, resource, time, _weakref) now use 
multiphase initialization as defined by PEP 489 
<https://www.python.org/dev/peps/pep-0489/>;
A number of standard library modules (audioop, ast, grp, _hashlib, pwd, 
_posixsubprocess, random, select, struct, termios, zlib) are now using the 
stable ABI defined by PEP 384 <https://www.python.org/dev/peps/pep-0384/>.
You can find a more comprehensive list in this release’s “What’s New 
<https://docs.python.org/release/3.9.13/whatsnew/3.9.html>” document.

 
<https://discuss.python.org/t/python-3-9-13-is-now-available/15815#we-hope-you-enjoy-python-39-2>We
 hope you enjoy Python 3.9!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/R7KUZ55FIFSMSRIMABBYGLY2M5ATCMEY/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.10.4 and 3.9.12 are now available out of schedule

2022-03-24 Thread Łukasz Langa
Did anybody say cursed releases 
<https://discuss.python.org/t/python-3-10-3-3-9-11-3-8-13-and-3-7-13-are-now-available-with-security-content/14353>?
 Well, it turns out that 3.10.3 and 3.9.11 both shipped a regression which 
caused those versions not to build on Red Hat Enterprise Linux 6. While this 
11-year-old version is now out of maintenance support 
<https://access.redhat.com/support/policy/updates/errata>, it’s still used in 
production workloads. Some of those rely on Python 3.9 and/or 3.10. In 
particular, our own manylinux2010 
<https://github.com/pypa/manylinux/tree/manylinux2010_x86_64_centos6_no_vsyscall>
 image used to build widely compatible Linux wheels is based on CentOS 6. 
(Don’t worry, we do have newer manylinux* variants, see PEP 599 
<https://peps.python.org/pep-0599/> and PEP 600 
<https://peps.python.org/pep-0600/> for details.)

Due to the out-of-schedule release, the respective versions released today 
contain a very limited set of changes. Python 3.9.12 only contains 12 other bug 
fixes on top of 3.9.11. Python 3.10.4 only contains 10 other bug fixes on top 
of 3.10.3.

Get 3.10.4 here: Python Release 3.10.4 | Python.org 
<https://www.python.org/downloads/release/python-3104>
Get 3.9.12 here: Python Release 3.9.12 | Python.org 
<https://www.python.org/downloads/release/python-3912>
Hopefully, the third time’s a charm and we’ll return no sooner than May with 
the regularly scheduled bug fix releases of 3.9 and 3.10.

 
<https://discuss.python.org/t/python-3-10-4-and-3-9-12-are-now-available-out-of-schedule/14568#we-hope-you-enjoy-the-new-releases-1>We
 hope you enjoy the new releases

Your friendly release team,
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>
Pablo Galindo Salgado @pablogsal <https://discuss.python.org/u/pablogsal>
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/SGB4B572RDPZ7SIJ5A6NZAI3Z3GKNIXA/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.10.3, 3.9.11, 3.8.13, and 3.7.13 are now available with security content

2022-03-16 Thread Łukasz Langa
eriod. In turn, the 
changes in 3.7.13 
<https://docs.python.org/release/3.7.13/whatsnew/changelog.html> look almost 
identical to the ones in 3.8.13.

Python 3.7 will continue to receive source-only releases until June 2023.


 
<https://discuss.python.org/t/python-3-10-3-3-9-11-3-8-13-and-3-7-13-are-now-available-with-security-content/14353#we-hope-you-enjoy-the-new-releases-5>We
 hope you enjoy the new releases

Your friendly release team,
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>
Pablo Galindo Salgado @pablogsal <https://discuss.python.org/u/pablogsal>
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/HUB24PIHSSJN3QHBB5BYC63SWK2DLHNO/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Github Issues Migration is coming soon

2022-02-18 Thread Łukasz Langa
I just published the migration plan and a call to action on Discourse:
https://discuss.python.org/t/github-issues-migration-is-coming-soon/13791 
<https://discuss.python.org/t/github-issues-migration-is-coming-soon/13791>

--
See you there,
Łukasz Langa
CPython Developer in Residence
Python Software Foundation



signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/YC3ZS27CRPA5JHCKTHYTRKA3IFONTIJ6/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.10.2, 3.9.10, and 3.11.0a4 are now available

2022-01-14 Thread Łukasz Langa
.0a5, currently scheduled for 
Wednesday, 2022-02-02.


 
<https://discuss.python.org/t/python-3-10-2-3-9-10-and-3-11-0a4-are-now-available/13146#python-36-is-pining-for-the-fjords-4>Python
 3.6 is pining for the fjords

Python 3.6 is no more. It’s an ex-Python. It has ceased to be. On December 23rd 
2021 is has reached its end-of-life phase 
<https://www.python.org/dev/peps/pep-0494/> after five successful years.

It’s been the first truly popular Python 3 release, introducing f-strings to 
the world and making big improvements to both asyncio (async generators!) and 
typing (variable annotations!).

We’d like to congratulate Ned Deily @nad <https://discuss.python.org/u/nad> on 
successfully driving the 3.6 series to completion as Release Manager. He’s not 
fully retired yet, as 3.7, which he is also managing, is still receiving 
security patches until June 2023.


 
<https://discuss.python.org/t/python-3-10-2-3-9-10-and-3-11-0a4-are-now-available/13146#we-hope-you-enjoy-the-new-releases-5>We
 hope you enjoy the new releases

Your friendly release team,
Pablo Galindo Salgado @pablogsal <https://discuss.python.org/u/pablogsal>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/ZTRFAQVIYXNRTDQBL27M26G3OBTFX722/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.9 hotfix release is now available

2021-11-15 Thread Łukasz Langa
Get it here: https://www.python.org/downloads/release/python-399/ 
<https://www.python.org/downloads/release/python-399/>
Python 3.9.9 is the eighth maintenance release of the legacy 3.9 series. Python 
3.10 is now the latest feature release series of Python 3. Get the latest 
release of 3.10.x here <https://python.org/downloads/>.

3.9.9 was released out of schedule as a hotfix for an argparse regression in 
Python 3.9.8 which caused complex command-line tools to fail recognizing 
sub-commands properly. Details in BPO-45235 
<https://bugs.python.org/issue45235>. There are only three other bugfixes in 
this release compared to 3.9.8. See the changelog 
<https://docs.python.org/release/3.9.9/whatsnew/changelog.html> for details on 
what changed.

Upgrading to 3.9.9 is highly recommended if you’re running Python 3.9.8.

The next Python 3.9 maintenance release will be 3.9.10, currently scheduled for 
2022-01-03.

 
<https://discuss.python.org/t/python-3-9-9-hotfix-release-is-now-available/11978#we-apologize-for-the-inconvenience-1>We
 apologize for the inconvenience

…and still hope you’ll enjoy the new release!

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/DCLXETTTA3XHT22D5E2XL324A2LS2XGY/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.8 and 3.11.0a2 are now available

2021-11-05 Thread Łukasz Langa
Tcl/Tk updates

With the recent release of macOS 12 Monterey, we noticed that tkinter file 
dialogs are failing to show up on this new operating system, including in our 
built-in IDLE. Thanks to rapid help from the Tk team, and Marc Culler in 
particular, we were able to fix the issue by bundling Python 3.9.8 and Python 
3.11.0a2 with a fixed Tcl/Tk version. In 3.9.8 it’s a patched 8.6.11 release 
while 3.11.0a2 is rocking the bleeding-edge 8.6.12rc1.

Since the issue also affected our latest stable version, 3.10.0, an updated 
macOS installer for this version was issued. You can recognize it by the post2 
version appendix: python-3.10.0post2-macos11.pkg 
<https://www.python.org/ftp/python/3.10.0/python-3.10.0post2-macos11.pkg>. We 
didn’t have to bump the version number of Python itself since there are no 
Python source differences between this package and the original 3.10.0. The 
only difference is the bundled patched Tcl/Tk library.

Initially the original 3.10.0 installer was removed from the website after all 
URLs got updated to point to the patched version but it turned out this breaks 
some workflows 
<https://discuss.python.org/t/disappearing-macos-packages-on-python-org/11737> 
so the patched installer is now also available under the original filename.

 
<https://discuss.python.org/t/python-3-9-8-and-3-11-0a2-are-now-available/11763#python-398-2>Python
 3.9.8

Get it here: https://www.python.org/downloads/release/python-398/ 
<https://www.python.org/downloads/release/python-398/>

Python 3.9.8 is the seventh maintenance release of the legacy 3.9 series. 
Python 3.10 is now the latest feature release series of Python 3. Get the 
latest release of 3.10.x here <https://python.org/downloads/>.
There’s been 202 commits since 3.9.7 which shows that there’s still 
considerable interest in improving Python 3.9. To compare, at the same stage of 
the release cycle Python 3.8 received over 25% fewer commits. See the changelog 
<https://docs.python.org/release/3.9.8/whatsnew/changelog.html> for details on 
what changed.

On macOS, the default installer is now the new universal2 variant. It’s 
compatible with Mac OS X 10.9 and newer, including macOS 11 Big Sur and macOS 
12 Monterey. You may need to upgrade third-party components, like pip, to the 
newest versions. You may experience differences in behavior in IDLE and other 
Tk-based applications due to using the newest version of Tk. As always, if you 
encounter problems when using this installer variant, please check 
https://bugs.python.org <https://bugs.python.org/> for existing reports and for 
opening new issues.

The next Python 3.9 maintenance release will be 3.9.9, currently scheduled for 
2022-01-03.

 
<https://discuss.python.org/t/python-3-9-8-and-3-11-0a2-are-now-available/11763#python-3110a2-3>Python
 3.11.0a2

Get it here: https://www.python.org/downloads/release/python-3110a2/ 
<https://www.python.org/downloads/release/python-3110a2/>

Python 3.11 is still in development. This release, 3.11.0a2 is the second of 
seven planned alpha releases.
Alpha releases are intended to make it easier to test the current state of new 
features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the beta 
phase (2022-05-06) and, if necessary, may be modified or deleted up until the 
release candidate phase (2022-08-01). Please keep in mind that this is a 
preview release and its use is not recommended for production environments.

Many new features for Python 3.11 are still being planned and written. Among 
the new major new features and changes so far:

PEP 657 <https://www.python.org/dev/peps/pep-0657/> – Include Fine-Grained 
Error Locations in Tracebacks
The Faster CPython Project 1 <https://github.com/faster-cpython> is already 
yielding some exciting results: this version of CPython 3.11 is ~12% faster on 
the geometric mean of the PyPerformance benchmarks <>, compared to 3.10.0.
(Hey, fellow core developer, if a feature you find important is missing from 
this list, let Pablo know <mailto:pablog...@python.org>.)
The next pre-release of Python 3.11 will be 3.11.0a3, currently scheduled for 
Monday, 2021-12-06.

 
<https://discuss.python.org/t/python-3-9-8-and-3-11-0a2-are-now-available/11763#we-hope-you-enjoy-the-new-releases-4>We
 hope you enjoy the new releases

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Pablo Galindo Salgado @pablogsal <https://discuss.python.org/u/pablogsal>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/l

[Python-Dev] 3.9.8 and 3.11a2 temporarily on hold due to Tcl/Tk

2021-11-03 Thread Łukasz Langa
As you might have noticed, 3.9.8 was scheduled for release on Monday. This 
didn't happen yet.

There's a bunch of ongoing work fixing Tcl/Tk problems. macOS Monterey got 
released with a new incompatible Tcl/Tk version, some fixes were required for 
tkinter compatibility. Details in https://bugs.python.org/issue44828 
<https://bugs.python.org/issue44828>. This is now a fixed issue (thanks, Ned!) 
but we're going through some more ttk fixes discovered in failing buildbots, 
which were sadly unrelated to the Tcl/Tk version bump. In particular, there's a 
ttk refleak that was discovered by the Windows 8.1 refleak buildbot which 
turned out to be a widespread issue (other refleak buildbots were simply 
skipping GUI tests). Example failure: 
https://buildbot.python.org/all/#/builders/6/builds/168 
<https://buildbot.python.org/all/#/builders/6/builds/168>

I'm fixing the macOS ttk test failures and the refleak now to unblock the 3.9.8 
release. I should be done with this tomorrow. We'll go ahead with the release 
then. Pablo decided to wait for me with 3.11a2 since the problems are fixing 
are also happening in `main` (and 3.10).

We'll keep you posted, cheers!

--
Łukasz Langa
CPython Developer in Residence
Python Software Foundation



signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/TRTOK4ZNLFOL6TAYKM3FE7MMYXMOK6CL/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Type annotations, PEP 649 and PEP 563

2021-10-21 Thread Łukasz Langa

> On 20 Oct 2021, at 15:18, Thomas Wouters  wrote:
> 
> (For visibility, posted both to python-dev and Discourse.)


Since this got split into Discourse and python-dev, I wrote my take on the 
issue on the blog so that I could post it in both spaces with proper formatting 
and everything:

https://lukasz.langa.pl/61df599c-d9d8-4938-868b-36b67fdb4448/ 



- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/SZF6NSYGGACL7YEYEFUB7F46RSI7HBQW/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Heads up: core sprint coming up!

2021-10-13 Thread Łukasz Langa
Hi there, I have a reminder for you if you are:
- a core developer; or
- on the triage team; or
- a mentee in core-mentorship.

We are running an online core sprint next week (October 18 - 24). "Online" 
means on our internal Core Python Discord. Join us there to plan and chat! You 
can even get a meal stipend from the PSF for the duration of the sprint! If you 
need a Discord invite, write to me directly and I'll sort you out 

What if you'd like to participate but you're not a core dev, triager, nor 
mentee? Well, this is a closed event to let our team coordinate in real time. 
We'd do this one in person if that was possible. In fact, this is how we have 
done it between 2016 and 2019. The goals don't change though: to have a small 
event separate from major conferences and free from distractions so we can 
focus on discussing key changes and making larger code changes. Instead, come 
to the sprints at PyCon US! And in the mean time, I suggest you pick up bugs on 
bugs.python.org <http://bugs.python.org/> and make pull requests. I'll review 
it personally if you'd like 邏

--
Łukasz Langa
CPython Developer in Residence
Python Software Foundation



signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/ETBKP4OPZSFQRCB2W7T4KFLJI2DGDI4F/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: RFC on Callable Type Syntax

2021-10-12 Thread Łukasz Langa

> On 12 Oct 2021, at 00:09, Erik Demaine  wrote:
> 
> Another possibility would be that functions can't be used as their types 
> directly, but need a casting operator like so:
> 
> ```
> def add_converter(self, converter: typeof(data_to_table)) -> None:
> self.converter = converter
> ```


`type()` of any function is `types.FunctionType`. We also have 
`typing.Type[Class]` which fortunately since 3.9 we can spell simply as 
`type[Class]`, to annotate that we want the class itself, not an object of said 
class.
I'm -1 to the idea of introducing a separate `typeof()`. The name is much too 
familiar to the first two to avoid confusion.

Consider that a function is equivalent to an instance of a class with a 
`__call__()` method of the same signature:

```
def data_to_table(d: Iterable[Mapping[str, float]], *, sort: bool = False, 
reversed: bool = False) -> Table:
...
```

is equivalent to an object of type

```
class Converter:
def __call__(self, d: Iterable[Mapping[str, float]], *, sort: bool = False, 
reversed: bool = False) -> Table:
...
```

In fact, Mypy already understands this equivalence: if you declare the 
`Converter` class I'm showing above as a Protocol, you can successfully pass 
`data_to_table` where a `Converter` instance is expected. Full example here:

https://gist.github.com/ambv/b46d0547decf2cb0cfdf379bb5f07d50 



My proposal is to enable using a function directly in a type annotation as a 
shorthand for expressing such a Protocol. In other words to mean "any callable 
with an equivalent signature". So that this:

```
class Stream:
def call_converter(self, converter: Converter) -> None:
converter(self.dicts, sort=True, reversed=True)
```

would be equivalent to this:

```
class Stream:
def call_converter(self, converter: data_to_table) -> None:
converter(self.dicts, sort=True, reversed=True)
```

I agree that in principle there would be some additional purity in having to 
wrap the function annotation in some explicit type marker, like 
`callable[data_to_table]` (yes, that would be my suggestion instead of `typeof` 
since that would be specific to callables). However, in practice I think this 
is unnecessary boilerplate because there is no useful meaning to a 
`data_to_table` annotation different from `callable[data_to_table]`. So I'd 
skip the boilerplate. After all, the thread is about introducing a 
quality-of-life notation improvement.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/7DEAGCWI7VIN52WLMSBCDC4SFUYPW6GW/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: RFC on Callable Type Syntax

2021-10-11 Thread Łukasz Langa

> On 7 Oct 2021, at 18:41, S Pradeep Kumar  wrote:
> 
> Note that we considered and rejected using a full def-signature syntax like
> 
> (record: PurchaseRecord, permissions: List[AuthPermission], /) -> 
> FormattedItem
> 
> because it would be more verbose for common cases and could lead to subtle 
> bugs; more details in [3].

Is this also why re-using an actual callable at a type was rejected?

I always found the following more obvious:


def data_to_table(d: Iterable[Mapping[str, float]], *, sort: bool = False, 
reversed: bool = False) -> Table:
...


@dataclass
class Stream:
converter: data_to_table | None

def add_converter(self, converter: data_to_table) -> None:
self.converter = converter


This solves the following problems with the `(P, Q) -> R` proposal:
- how should this look like for "runtime" Python
- how should we teach this
- how can we express callables with complex signatures

One disadvantage of this is that now arguments HAVE TO be named which raises 
questions:
- should they be considered at type checking time?
- how to express "I don't care"?

To this I say:
- yes, they should be considered at runtime (because kwargs have to be anyway)
- ...unless they begin with an underscore

This still leaves a minor problem that you can't have more than one argument 
literally named `_` so you'd have to do `_1`, `_2`, and so on. I don't think 
this is a big problem.

In fact, forcing users to name callable arguments can be added as a fourth 
advantage to this design: making the annotations maximally informative to the 
human reader.

The only remaining disadvantage that can't be addressed is that you can't 
create an *inline* callable type this way. I don't think this is a deal breaker 
as neither TypedDicts, Protocols, nor for this matter any PlainOldClasses can 
be defined inline inside a type annotation.


- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/OIE3QG4HME4KX2JN7FF5OOZQTCTOX6AP/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Python multithreading without the GIL

2021-10-08 Thread Łukasz Langa

> On 8 Oct 2021, at 10:13, Steven D'Aprano  wrote:
> 
> Hi Sam,
> 
> On Thu, Oct 07, 2021 at 03:52:56PM -0400, Sam Gross wrote:
> 
>> I've been working on changes to CPython to allow it to run without the
>> global interpreter lock. I'd like to share a working proof-of-concept that
>> can run without the GIL.
> 
> Getting Python to run without the GIL has never been a major problem for
> CPython (and of course some other Python interpreters don't have a GIL
> at all).

On the first page of Sam's design overview he references Gilectomy by name.

> Single threaded code is still, and always will be, an important part of
> Python's ecosystem. A lot of people would be annoyed if the cost of
> speeding up heavily threaded Python by a small percentage would be to
> slow down single-threaded Python by a large percentage.

Quoting that same design document, Sam writes: "The new interpreter
(together with the GIL changes) is about 10% faster than CPython 3.9
on the single-threaded pyperformance benchmarks."

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/JO7OQCHZKIFNKSXTTXT2JBCF5H47M7OO/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: PEP 654 except* formatting

2021-10-06 Thread Łukasz Langa

> On 6 Oct 2021, at 18:05, Yury Selivanov  wrote:
> 
> I don't like `except group` or any variant with soft keywords.

As Brandt just commented, this proposal is a no go due to confusion with 
function calls. I'll respond below anyway because looking through it was an 
interesting experience


> I'll list a few reasons here:
> 
> 1. `try: .. except group:` is a valid syntax today. And it will continue to 
> be valid syntax. Having both `try: .. except group:` (catch exception 
> `group`) and `try: .. except group E:` (catch exceptions of E into a group) 
> in the same grammar worries me.
> 
> 1a. It can be especially confusing if someone has a local/global variable 
> called `group`.

This is a valid point, also raised by Pablo over WhatsApp (which happens to 
work today!). The particular hairy example has to do with your next point so 
let's go there first...


> 1b. Or, for example, if a user forgets to type `E` and leaves just `except 
> group` it would fallback to the regular try..except behavior. And it would be 
> a runtime error ("group" is undefined).

Right. Worse yet, this wouldn't be a runtime error UNLESS user code raises an 
exception within that try: block. Otherwise Python would happily take the 
unbound name and run with it:

>>> try:
...   ...
... except group:
...   ...
...
Ellipsis


When you raise:

>>> try:
...   1/0
... except group:
...   ...
...
Traceback (most recent call last):
  File "", line 2, in 
ZeroDivisionError: division by zero

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "", line 3, in 
NameError: name 'group' is not defined


This is pretty confusing and in my eyes disqualifies the "except group" 
proposal. Pablo also claims it would be very hard to generate good error 
messages due to this and I can see why. My initial idea here was to modify this 
received `NameError` just like we do in other cases with the new "Did you mean" 
helper:

>>> arg = 1
>>> ar
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'ar' is not defined. Did you mean: 'arg'?
>>> def f():
...   ar
...
>>> f()
Traceback (most recent call last):
  File "", line 1, in 
  File "", line 2, in f
NameError: name 'ar' is not defined. Did you mean: 'arg'?

We could potentially do something similar to generate better error messages for 
"except group" confusion, right? Only we can't if `group` happens to be bound 
as a name in a reachable scope which Larry points out is a popular name. In 
this scenario any syntax errors would end up with terribly confusing TypeErrors 
or AttributeErrors and so on. This is unacceptable.


> 1c. This will be all even more complicated because syntax highlighters in 
> IDEs and on sites like GitHub will likely just always highlight `except 
> group` as a pair of keywords (even in `except group:` variant).

This would a minor annoyance but definitely true.


> 2. I'm not sure I like the "sound" of it. IMO it would make more sense to 
> write `except all E`, but `all()` is a built-in and so this would be at odds 
> with (1).

That I disagree with. "except KeyError" reads like "except if there's a 
KeyError". "except group KeyError" reads like "except if there's a group of 
KeyErrors". And if you said, "except group KeyError as eg", an ExceptionGroup 
with KeyErrors would be exactly what you're getting under `eg`.


> 3. This is a niche feature. People who use async/await will get used to 
> `except*` in no time. `except*` is also about unpacking in some metaphysical 
> sense (looks similar enough to `*args` in function signatures to me) so I 
> think it reads just fine.

Agreed. Except-star will be fine, too.


> So I'm -1 on `except group` or any variant that uses soft keywords. If the SC 
> considers making `group` a proper keyword I can possibly change my mind on 
> this.

Making `group` a proper keyword is a no go. With Brandt's arguments, the entire 
idea is a no go. It's a bummer but I have to agree with the concerns raised.

- Ł



signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/HKY6KZO3267MUYWNJ7664QZIOLCTPZWM/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: PEP 654 except* formatting

2021-10-06 Thread Łukasz Langa

> On 6 Oct 2021, at 18:14, Brandt Bucher  wrote:
> 
> Łukasz Langa wrote:
>> Joking aside, since we allow any expression after 'except' 'group' then this 
>> is indeed ambiguous. In theory!
> 
> The ambiguity with function calls, though, is probably a dealbreaker:
> 
> except group (E1, E2) as e: …
> except group(E1, E2) as e: …

Ding ding, we have a winner. This single-handedly kills the "except group" 
syntax proposal.


> See my other message for an alternative (putting “group” after the 
> expression).

It's interesting but at this point not so clearly better than except* to my 
eyes. Unless everybody else loves it, I don't think we'll go there.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/KPZLQSC6ADVP26FI3MJIMARSOQRHVRCW/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: PEP 654 except* formatting

2021-10-06 Thread Łukasz Langa

> On 6 Oct 2021, at 18:13, Larry Hastings  wrote:
> On 10/6/21 2:34 PM, Łukasz Langa wrote:
> 
>> We can even make its error message smarter than the default NameError, since 
>> -- as I claim -- it's terribly unlikely somebody would mean to name their 
>> dynamic exception collection "group".
> 
> I concede I don't completely understand PEP 654 yet, much less the 
> counter-proposals flying around right now.  But it does seem like "except 
> group" has the potential to be ambiguous, given that "group" is a reasonably 
> popular identifier.

Sure, that I agree with, it's a very popular name.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/ABYR3PQF6LPQNAH6YINWJSE2KYXZM5YI/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: PEP 654 except* formatting

2021-10-06 Thread Łukasz Langa

> On 6 Oct 2021, at 16:01, Petr Viktorin  wrote:
> 
> What about this:
> 
> group = (KeyboardInterrupt, MemoryError)
> other_group = (KeyError, IndexError)
> 
> try:
>   ...
> except group + other_group as error:
>   ...

Haha, let's see if we can write a Mersienne twister all inside an except 
statement ‍

Joking aside, since we allow any expression after 'except' 'group' then this is 
indeed ambiguous. In theory! In practice, however, PEG is satisfied with the 
first rule that matches entirely, so this is a matter of choosing correct 
precedence. In this case, it seems it would make sense for "old-style" except 
to come first because your (convoluted! 鸞) example is potentially useful, 
whereas "except +TimeoutError:" is pure nonsense.

I will prototype a PR for this just so we can play with it.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/BL6PSZZCGLDQSMHTZTWRCP6G6KD6OK3K/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: PEP 654 except* formatting

2021-10-06 Thread Łukasz Langa

> On 6 Oct 2021, at 12:06, Larry Hastings  wrote:
> 
> It seems like, for this to work, "group" would have to become a keyword.
> 
No, just like `match` and `case` didn't have to.

> This would play havoc with a lot of existing code.
> 
Extraordinary claims require extraordinary evidence, Larry. I maintain this 
will be entirely backwards compatible.

> Even making it a soft keyword, a la "await" in 3.5, would lead to ambiguity:
> 
> group = KeyboardInterrupt
> 
> try:
> while True:
> print("thou can only defeat me with Ctrl-C")
> except group as error:
> print("lo, thou hast defeated me")
> 
Two things:

1. This is a convoluted example, I bet $100 you won't find such an `except 
group` statement in any code predating my e-mail 鸞 Sure, sometimes (very 
rarely) it's useful to gather exceptions in a variable. But I'm pretty sure 
`group` won't be the name chosen for it.

2. While non-obvious, the example is not ambiguous. There can only be one 
parsing rule fitting this:

'except' expression 'as' NAME ':'

Note how this is different from:

'except' 'group' expression 'as' NAME ':'

There could be confusion if except-star, whatever its name is going to be, 
supported an empty "catch all" variant like `except:`. Thankfully, this is 
explicitly listed as a no-go in PEP 654. So `except group:` remains 
unambiguous. We can even make its error message smarter than the default 
NameError, since -- as I claim -- it's terribly unlikely somebody would mean to 
name their dynamic exception collection "group".

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/OQUS7X5D3WXYN4WKFRHIBHG25XDA247G/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: PEP 654 except* formatting

2021-10-04 Thread Łukasz Langa

> On 4 Oct 2021, at 15:00, Calvin Spealman  wrote:
> 
> It is difficult to understand why any special syntax is needed at all. 
> ExceptionGroup is still an exception class like any other, isn't it? Why 
> wouldn't the existing syntax suffice?

This is covered at length in the PEP. Those sections specifically address this:

https://www.python.org/dev/peps/pep-0654/#extend-except-to-handle-exception-groups
 

https://www.python.org/dev/peps/pep-0654/#programming-without-except 


- Ł



signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/FHEWFNSDNZRHADGD3I2VVW66Y7DSNEI7/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: PEP 654 except* formatting

2021-10-03 Thread Łukasz Langa

> On 3 Oct 2021, at 20:11, MRAB  wrote:
> 
> On 2021-10-03 18:50, Brandt Bucher wrote:
>> Łukasz Langa wrote:
>>> My idea is this:
>>> try:
>>>...
>>> except group E as e:
>>>...
>>> except group E1, T2 as e:
>>>...
>>> Should be doable given the magical match-case contextual keywords 
>>> precedent. This looks nice and is explicit, since you will always get an 
>>> ExceptionGroup instance under `e`.
>> Heh, we crossed posts with the soft keywords. I like your idea (“except 
>> group”) better than mine (“except each”).
>> If we want to use an existing keyword instead of a soft keyword, how
> about "except in E as e:".
> 
> The disadvantage, as I see it, from a linguistic point of view, is that 
> "except in" could be read as "excluding", but, then, so could "except each" 
> ("excluding each of these") and "except group" ("excluding this group").

If you're thinking that, then doesn't "except KeyError" mean "everything except 
for KeyErrors"? I don't see the problem.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/DRC53PSOZR7RWH56U7EC7KBJLP6NG4EK/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: PEP 654 except* formatting

2021-10-03 Thread Łukasz Langa

> On 3 Oct 2021, at 18:37, Steven D'Aprano  wrote:
> 
> On Sun, Oct 03, 2021 at 04:47:57PM +0100, Irit Katriel via Python-Dev wrote:
>> We wonder if people have a view on which of the following is clearer/better:
>> 
>> 1. except *E as e:  //  except *(E1, E2) as e:
> 
> That looks like you're unpacking the tuple (E1, E2), and that's just
> misleading and wrong.

Interestingly, IIRC this was the original intention: `except *E as e` means 
you're unpacking E from some group.
I agree this is a somewhat convoluted analogy and it breaks down in the 
presence of a tuple of exception names.


>> 2. except* E as e:  //  except* (E1, E2) as e:
> 
> But Thomas Grainger's comment about match semantics got me thinking.

Uh oh ;-)


> I think his suggestion is a bit too verbose, but how do people feel about
> borrowing the vertical line and using it like this:
> 
>except| E as e:
>except| (E1, E2) as e:


-1

If I could read the vertical line as a pipe character, the expression would 
read "except or E as e".
But I can't read it that way anyway. Instead, all I see is a lowercase EXCEPTL.

My idea is this:

try:
...
except group E as e:
...
except group E1, T2 as e:
...

Should be doable given the magical match-case contextual keywords precedent. 
This looks nice and is explicit, since you will always get an ExceptionGroup 
instance under `e`. But I know it's a bit late for bikeshedding this thing so 
if we want to be conservative and stick to the current syntactical options 
already defined in PEP 654, I'm voting Option 2 (given the awkwardness of the 
*(E1, E2) example).


- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/T7QZJ575RFNYZ5KMYD66YMR2ZLNDVF56/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.7 and 3.8.12 are now available

2021-08-30 Thread Łukasz Langa
Python 3.9.7

Get it here: https://www.python.org/downloads/release/python-397/ 
<https://www.python.org/downloads/release/python-397/>
Python 3.9.7 is the newest major stable release of the Python programming 
language, and it contains many new features and optimizations. There’s been 187 
commits since 3.9.6 which is a similar amount compared to 3.8 at the same stage 
of the release cycle. See the change log 
<https://docs.python.org/release/3.9.7/whatsnew/changelog.html> for details.

On macOS, we encourage you to use the universal2 binary installer variant 
whenever possible. The legacy 10.9+ Intel-only variant will not be provided for 
Python 3.10 and the universal2 variant will become the default download for 
3.9.8. You may need to upgrade third-party components, like pip, to later 
versions. You may experience differences in behavior in IDLE and other Tk-based 
applications due to using the newer version of Tk. As always, if you encounter 
problems when using this installer variant, please check 
https://bugs.python.org <https://bugs.python.org/> for existing reports and for 
opening new issues.

The next Python 3.9 maintenance release will be 3.9.8, currently scheduled for 
2021-11-01.

 
<https://discuss.python.org/t/python-3-9-7-and-3-8-12-now-available/10401#the-second-security-only-release-of-python-38-2>The
 Second Security-Only Release of Python 3.8

Get it here: https://www.python.org/downloads/release/python-3812/ 
<https://www.python.org/downloads/release/python-3812/>
Security content in this release contains four fixes. There are also four 
additional fixes for bugs that might have lead to denial-of-service attacks. 
Finally, while we’re not providing binary installers anymore, for those users 
who produce installers, we upgraded the OpenSSL version used to 1.1.1l. Take a 
look at the change log 
<https://docs.python.org/release/3.8.12/whatsnew/changelog.html> for details.

According to the release calendar specified in PEP 569 
<https://www.python.org/dev/peps/pep-0569/>, Python 3.8 is now in “security 
fixes only” stage of its life cycle: 3.8 branch only accepts security fixes and 
releases of those are made irregularly in source-only form until October 2024. 
Python 3.8 isn’t receiving regular bug fixes anymore, and binary installers are 
no longer provided for it. Python 3.8.10 was the last full bugfix release of 
Python 3.8 with binary installers.

 
<https://discuss.python.org/t/python-3-9-7-and-3-8-12-now-available/10401#security-releases-of-3712-and-3615-3>Security
 releases of 3.7.12 and 3.6.15

Those aren’t ready just yet but are soon to follow.

Similarly to 3.8, Python 3.7 and 3.6 are now in “security fixes only” stage of 
their life cycle. Python 3.7 will be providing source archives until June 2023 
while Python 3.6 ends its life in December 2021.

 
<https://discuss.python.org/t/python-3-9-7-and-3-8-12-now-available/10401#we-hope-you-enjoy-the-new-releases-4>We
 hope you enjoy the new releases

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/RMUOGC725MAGHTLQXS6254PJQ7X3GTMK/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Deprecate Py_TRASHCAN_SAFE_BEGIN/END in 3.10?

2021-08-19 Thread Łukasz Langa

> On 18 Aug 2021, at 11:47, Irit Katriel  wrote:
> 
> It remains the decide how to backport the compiler warning to older versions, 
> and to which versions.

3.8 is when the macros broke. Since they cause segfaults, I'd say that's a 
pretty good reason to backport the warnings. While 3.8 in security-only fix 
mode, I think there's no issue with showing the "pending" deprecation in the 
to-be-released 3.8.12. And if that, then 3.9.7, and 3.10.0rc2 as well. Of 
course, for the latter we need Pablo's confirmation.

The additional argument for it is that we backported GH-27683 (using new macros 
in frameobject.c) all the way back to 3.8. So building Python itself shouldn't 
start raising the deprecation warnings itself. But if it does, we'll just fix 
that as well.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/QTRAEXONS2I7ICWLH65IOMR6KITXZ6CP/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Deprecate Py_TRASHCAN_SAFE_BEGIN/END in 3.10?

2021-08-17 Thread Łukasz Langa
Hi everybody,
I'd like to revive this thread as I feel like we have to do something here but 
some consensus is needed first.

To recap, the current state of things is as follows:
- in March 2000 (d724b23420f) Christian Tismer contributed the "trashcan" patch 
that added Py_TRASHCAN_SAFE_BEGIN and Py_TRASHCAN_SAFE_END macros which allow 
destroying nested objects non-recursively.
- in May 2019 (GH-11841 of BPO-35983) Antoine Pitrou merged a change by Jeroen 
Demeyer which made Py_TRASHCAN_SAFE_BEGIN/END (unintentionally?) backwards 
incompatible; this was released in Python 3.8.0.
- by the way, GH-11841 introduced a new pair of macros (because they have 
different signatures) called simply  Py_TRASHCAN_BEGIN and Py_TRASHCAN_END.
- by that time there was already a follow-up PR open (GH-12607) to improve 
backwards compatibility of the macros, as well as introduce tests for them; 
this was never merged.
- in Feb 2020 (0fa4f43db08) Victor Stinner removed the trashcan mechanism from 
the limited C API (note: not ABI, those are macros) since it accesses fields of 
structs not exposed in the limited C API; this was released in Python 3.9.0.
- in May 2020 Irit noticed that the backwards incompatibility (BPO-40608) 
causes segfaults for C API code that worked fine with Python 3.7. Using the new 
macros requires code changes but doesn't crash.

Now, there are a couple of things we can do here:
Option 1: Finish GH-12607 to fix the old macros, keeping in mind this will 
restore compatibility lost with Python 3.8 - 3.10 only for users of 3.11+
Option 2: Review and merge GH-20104 that reverts the macro changes that make 
old client code segfault -- unclear what else this needs and again, that would 
only fix it for users of 3.11+
Option 3: Abandon GH-12607 and GH-20104, instead declaring the old macros 
deprecated for 3.11 and remove them in 3.13

I personally agree with Irit, voting +1 for Option 3 since the old macros were 
soft-deprecated already by introducing new macros in 3.8, and more importantly 
made incompatible with pre-3.8 usage.

Let's talk on how to proceed.

- Ł



> On 26 Apr 2021, at 23:55, Irit Katriel via Python-Dev  
> wrote:
> 
> 
> Re https://bugs.python.org/issue40608 .
> 
> I think it will be an act of kindness to deprecate Py_TRASHCAN_SAFE_BEGIN/END 
> in 3.10 and tell people to use Py_TRASHCAN_BEGIN/END instead.
> 
> TL;DR:   There was a change in 3.8 that introduced the latter while leaving 
> the former for backwards compatibility, but also inadvertently breaking them. 
> This is not an easy bug to deal with in the wild, we found it because we have 
> a unit test in our codebase referencing https://bugs.python.org/issue16602 
> .  A deprecation note pointing to the new 
> macros would have made it easier.
> 
> Is there any reason not to deprecate the old macros?
> 
> Irit
> ___
> Python-Dev mailing list -- python-dev@python.org
> To unsubscribe send an email to python-dev-le...@python.org
> https://mail.python.org/mailman3/lists/python-dev.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-dev@python.org/message/LWP6MOLP5UW2TH3MROZQK4N64SX35N2B/
> Code of Conduct: http://python.org/psf/codeofconduct/



signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/TH4NILYOG3ZJO7SCCF6ECBLXJDDFJKS4/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: PEP 649: Deferred Evaluation Of Annotations

2021-08-10 Thread Łukasz Langa

> On 10 Aug 2021, at 13:05, Eric V. Smith  wrote:
> 
> If 649 is accepted, there will be few places where stringified annotations 
> will be needed. For example, forward references that are defined before 
> __annotations__ is examined will not need to be specified as strings. From 
> the PEP: "Actually, annotations would become much easier to use, as they 
> would now also handle forward references.

In general, yes, agreed. However, a popular special case that you're intimately 
familiar with are class decorators. Since those are executed quite eagerly, 
you'll have to account for failing evaluation of forward references. Example:

from dataclasses import dataclass

@dataclass
class C:
a: A

class A:
...


In this case PEP 649 doesn't help. I don't see evaluation failures discussed 
explicitly in the PEP but I assume it would be a NameError. It would also be 
interesting to see if we can somehow make it handle annotations that refer to 
the class they're used in. Example:

@dataclass
class Node:
parent: Node

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/FVJAUJ4TOYLAFJJS7UUPLFETXIBFBBEE/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Heads up: `make` in Doc now creates a venv

2021-08-06 Thread Łukasz Langa

> On 4 Aug 2021, at 11:48, Miro Hrončok  wrote:
> 
> On 04. 08. 21 11:28, Petr Viktorin wrote:
>> Hi,
>> A recent change "make html" in the Doc directory create a venv if one wasn't 
>> there before. If you don't want to download sphinx and other dependencies 
>> from PyPI, you'll need to adjust your workflow.
>> If you already have all the dependencies, the following command (in the 
>> CPython directory, not Doc) will build docs for you:
>>  sphinx-build Doc Doc/build/
>> The issue that added this is: https://bugs.python.org/issue44756
> 
> For what it's worth, I think that:
> 
> - changes in the workflow should be discussed first
> - changes like this should not happen this late in the release cycle
> - a documented/supported way to build the docs with make without venv should
>   exist (currently, running `mkdir venv` before `make ...` kinda works)

Sorry for the disruption, I approved the change. I didn't realize skipping the 
`venv` altogether was a viable build option and I've been making releases with 
docs for over two years now. For me this change was mostly a matter of 
convenience.

If the current state is undesirable for downstream distributors, I can revert 
`make build` being explicitly dependent on `make venv`.

Regardless of that, for future build-related changes I'll make sure to loop 
more people in.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/HLCY75WB6ZOJNU6DUNLUMTQSHMYFGNER/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.6, 3.8.11, 3.7.11, and 3.6.14 are now available

2021-06-28 Thread Łukasz Langa
Python 3.9.6

Get it here: https://www.python.org/downloads/release/python-396/ 
<https://www.python.org/downloads/release/python-396/>
Python 3.9.6 is the newest major stable release of the Python programming 
language, and it contains many new features and optimizations. There’s been 146 
commits since 3.9.5 which is a similar amount compared to 3.8 at the same stage 
of the release cycle. See the change log 
<https://docs.python.org/release/3.9.6/whatsnew/changelog.html> for details.

On macOS, we encourage you to use the universal2 binary installer variant 
whenever possible. The legacy 10.9+ Intel-only variant will not be provided for 
Python 3.10 and the universal2 variant will become the default download for 
future 3.9.x releases. You may need to upgrade third-party components, like 
pip, to later versions once they are released. You may experience differences 
in behavior in IDLE and other Tk-based applications due to using the newer 
version of Tk. As always, if you encounter problems when using this installer 
variant, please check https://bugs.python.org <https://bugs.python.org/> for 
existing reports and for opening new issues.

The next Python 3.9 maintenance release will be 3.9.7, currently scheduled for 
2021-08-30.

The First Security-Only Release of Python 3.8

Get it here: https://www.python.org/downloads/release/python-3811/ 
<https://www.python.org/downloads/release/python-3811/>
Security content in this release contains three fixes. There’s also two fixes 
for 3.8.10 regressions. Take a look at the change log 
<https://docs.python.org/release/3.8.11/whatsnew/changelog.html> for details.

According to the release calendar specified in PEP 569 
<https://www.python.org/dev/peps/pep-0569/>, Python 3.8 is now in security 
fixes only stage of its life cycle: 3.8 branch only accepts security fixes and 
releases of those are made irregularly in source-only form until October 2024. 
Python 3.8 isn’t receiving regular bugfixes anymore, and binary installers are 
no longer provided for it. Python 3.8.10 was the last full bugfix release of 
Python 3.8 with binary installers.

Security releases of 3.7.11 and 3.6.14

Get them here:
https://www.python.org/downloads/release/python-3711/ 
<https://www.python.org/downloads/release/python-3711/>
https://www.python.org/downloads/release/python-3614/ 
<https://www.python.org/downloads/release/python-3614/>
Security content in those releases contains five fixes each. Check out the 
relevant change logs for 3.7.11 
<https://docs.python.org/release/3.7.11/whatsnew/changelog.html> and 3.6.14 
<https://docs.python.org/release/3.6.14/whatsnew/changelog.html> for details.

Similarly to 3.8, Python 3.7 and 3.6 are now in security fixes only stage of 
their life cycle. Python 3.7 will be providing them until June 2023 while 
Python 3.6 ends its life in December 2021.

We hope you enjoy the new releases

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/BXMRNZMXEJFXLZZ7SNMIS72R7CIUZQDZ/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: PEP 659: Specializing Adaptive Interpreter

2021-05-25 Thread Łukasz Langa

> On 25 May 2021, at 21:57, Guido van Rossum  wrote:
> 
> On Tue, May 25, 2021 at 12:34 PM Brett Cannon  > wrote:
> 
> I personally think it should be a Standards Track PEP. This PEP isn't 
> documenting some detail like PEP 13 or some release schedule, but is instead 
> proposing a rather major change to the interpreter which a lot of us will 
> need to understand in order to support the code (and I do realize the entire 
> area of "what requires a PEP and what doesn't" is very hazy).
> 
> Now, we've done similar things before (for example, the pattern matching 
> implementation was a long-living branch), but the difference is that for 
> pattern matching, the implementation followed the design, whereas for the 
> changes to the bytecode interpreter that we're undertaking here, much of the 
> architecture will be designed as the implementation proceeds, based on what 
> we learn during the implementation.

Good point. We've also done long-living branching during Gilectomy which saved 
a lot of pain when it turned out not to be worth pursuing after all. Do you 
think this case is qualitatively different?

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/PUMUMMZDBXICCZ6VVKU43VQY32DIYQED/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Question for potential python development contributions on Windows

2021-05-24 Thread Łukasz Langa

> On 20 May 2021, at 07:03, pjfarl...@earthlink.net wrote:
> 
> The Python Developers Guide specifically states to get VS2017 for developing 
> or enhancing python on a Windows system.
> 
> Is it still correct to specifically use VS2017 , or is VS2019 also acceptable?

We have to update the devguide. VS 2019 is supported, probably even 
recommended, as long as the C++ tools are v14.x.

Cheers,
Łukasz


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/UCSCYMMJA4UBBUZLUHSEOE2POEBNTKLF/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: github and dependabot

2021-05-03 Thread Łukasz Langa
It's bogus automation, you can safely reject those pull requests. If you do 
merge any pull requests to `main` of your personal fork, your `main` branch 
will diverge from python/cpython's. Not recommended.

I just merged the equivalent pull requests from dependabot on python/cpython. 
You can pull from upstream.

- Ł

> On 4 May 2021, at 02:59, Ethan Furman  wrote:
> 
> I have two pull requests against my cpython fork from a dependabot -- what is 
> that, and should I merge them?
> 
> --
> ~Ethan~
> ___
> Python-Dev mailing list -- python-dev@python.org
> To unsubscribe send an email to python-dev-le...@python.org
> https://mail.python.org/mailman3/lists/python-dev.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-dev@python.org/message/OTX3F5RQFPTND3UGK2RRFNWDXAFOKXO4/
> Code of Conduct: http://python.org/psf/codeofconduct/

___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/ECUMBNN2O2Q2FEP5MLWA6DU4A65KINJA/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: On the migration from master to main

2021-05-03 Thread Łukasz Langa

> On 4 May 2021, at 02:04, Łukasz Langa  wrote:
> 
> Having renamed the branch in my fork first, the exact sequence I used on my 
> own clone was:
> 
> ❯ git checkout master
> ❯ git branch -m master main
> ❯ git fetch origin
> ❯ git branch -u origin/main main
> ❯ git remote set-head origin -a
> ❯ git fetch upstream
> ❯ git remote set-head upstream -a
> ❯ git pull upstream main
> 
> This worked, I can successfully pull from upstream's main and push to my 
> upstream's main. The `set-head` ones were suggested by the GitHub UI and 
> ended up with heads explicitly being listed in `git log` which I guess is 
> harmless.

Seeing Ned's and Mariatta's comments on the matter I guess I should clarify 
that my commands above are for a symmetrical setup, i.e. where I expect the 
default `git pull` to pull from origin, and the default `git push` to push to 
origin.

I might not be your typical user here, since I actually push to upstream too 
every now and again as part of release management, in particular pushing out 
signed release tags (which are full git objects with the same metadata as 
commits).

But I used this setup even before because I like to think about "upstream" as 
"more remote" than my personal fork. I like to have to explicitly call out that 
I'm pulling from upstream or pushing to it.

- Ł___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/NAYOZNZVO7APEYORI2XN4VYPI64XT5FE/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: On the migration from master to main

2021-05-03 Thread Łukasz Langa

> On 4 May 2021, at 01:45, Tim Peters  wrote:
> 
> Right? Wrong? Do we need some mix of both? Something else?


Having renamed the branch in my fork first, the exact sequence I used on my own 
clone was:

❯ git checkout master
❯ git branch -m master main
❯ git fetch origin
❯ git branch -u origin/main main
❯ git remote set-head origin -a
❯ git fetch upstream
❯ git remote set-head upstream -a
❯ git pull upstream main

This worked, I can successfully pull from upstream's main and push to my 
upstream's main. The `set-head` ones were suggested by the GitHub UI and ended 
up with heads explicitly being listed in `git log` which I guess is harmless.

Cheers,
Łukasz

___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/HRLKK4QXASEAVJPPUPJMI53CJRCWIHPV/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.10, 3.9.5, and 3.10.0b1 are now available

2021-05-03 Thread Łukasz Langa
This has been a very busy day for releases and on behalf of the Python 
development community we’re happy to announce the availability of three new 
Python releases.

Python 3.10 is now in Beta

Get it here: Python 3.10.0b1 
<https://www.python.org/downloads/release/python-3100b1/>
Python 3.10 is still in development. 3.10.0b1 is the first of four planned beta 
release previews. Beta release previews are intended to give the wider 
community the opportunity to test new features and bug fixes and to prepare 
their projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test with 
3.10 during the beta phase and report issues found to the Python bug tracker 
<https://bugs.python.org/> as soon as possible. While the release is planned to 
be feature complete entering the beta phase, it is possible that features may 
be modified or, in rare cases, deleted up until the start of the release 
candidate phase (Monday, 2021-08-02). Our goal is have no ABI changes after 
beta 4 and as few code changes as possible after 3.10.0rc1, the first release 
candidate. To achieve that, it will be extremely important to get as much 
exposure for 3.10 as possible during the beta phase.

Please keep in mind that this is a preview release and its use is not 
recommended for production environments.

The next pre-release, the second beta release of Python 3.10, will be 3.10.0b2. 
It is currently scheduled for 2021-05-25. Please see PEP 619 
<https://www.python.org/dev/peps/pep-0619/> for details.

Development Begins on Python 3.11

With Python 3.10 moving to beta, it received its own 3.10 branch in the 
repository <https://github.com/python/cpython/>. All new features are now 
targeting Python 3.11, to be released in October 2022.

Using the opportunity with the creation of the 3.10 branch, we renamed the 
master branch of the repository to main. It’s been a bit rocky 
<https://github.community/t/renaming-python-master-branch-to-main-1-4k-prs-700-repositories-triggered-server-http-error-500/178090>
 but looks like we’re open for business. Please rename the main branch of your 
personal fork using the guide GitHub will give you when you go to your fork’s 
main page. In case of any outstanding issues, please contact the 3.11 RM 
<https://devguide.python.org/devcycle/#current-administrators>.

Python 3.9.5

Get it here: Python 3.9.5 <https://www.python.org/downloads/release/python-395/>
Python 3.9.5 is the newest major stable release of the Python programming 
language, and it contains many new features and optimizations. There’s been 111 
commits since 3.9.4 which is a similar amount compared to 3.8 at the same stage 
of the release cycle. See the change log 
<https://docs.python.org/release/3.9.5/whatsnew/changelog.html> for details.

On macOS, we encourage you to use the universal2 variant whenever possible. The 
legacy 10.9+ Intel-only variant will not be provided for Python 3.10 and the 
universal2 variant will become the default download for future 3.9.x releases. 
You may need to upgrade third-party components, like pip, to later versions 
once they are released. You may experience differences in behavior in IDLE and 
other Tk-based applications due to using the newer version of Tk. As always, if 
you encounter problems when using this installer variant, please check 
https://bugs.python.org <https://bugs.python.org/> for existing reports and for 
opening new issues.

The next Python 3.9 maintenance release will be 3.9.6, currently scheduled for 
2021-06-28.

The Last Regular Bugfix Release of Python 3.8

Get it here: Python 3.8.10 
<https://www.python.org/downloads/release/python-3810/>
According to the release calendar specified in PEP 569 
<https://www.python.org/dev/peps/pep-0569/>, Python 3.8.10 is the final regular 
maintenance release. Starting now, the 3.8 branch will only accept security 
fixes and releases of those will be made in source-only form until October 
2024. To keep receiving regular bug fixes, please upgrade to Python 3.9.

Compared to the 3.7 series, this last regular bugfix release is relatively 
dormant at 92 commits since 3.8.9. Version 3.7.8, the final regular bugfix 
release of Python 3.7, included 187 commits. But there’s a bunch of important 
updates here regardless, the biggest being macOS Big Sur and Apple Silicon 
build support. This work would not have been possible without the effort of 
Ronald Oussoren, Ned Deily, Maxime Bélanger, and Lawrence D’Anna from Apple. 
Thank you!

Take a look at the change log 
<https://docs.python.org/release/3.8.10/whatsnew/changelog.html> for details.

We hope you enjoy the new releases

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Pablo Galindo Salgado @pablogsal <https:

[Python-Dev] PEP 563 in light of PEP 649

2021-04-16 Thread Łukasz Langa
Hi all,
I got pinged to voice my opinion on PEP 649 as the instigator of PEP 563. I'm 
sorry, this is long, and a separate thread, because it deals with three things:
- Goals set for PEP 563 and how it did in practice;
- PEP 649 and how it addresses those same goals;
- can we cleanly adopt PEP 649?


First off, it looks like this isn't worded clearly enough in the PEP itself so 
let me summarize what the goals of PEP 563 were:

Goal 1. To get rid of the forward reference problem, e.g. when a type is 
declared lower in the file than its use. A cute special case of this is when a 
class has a method that accepts or returns objects of its own type.

Goal 2. To somewhat decouple the syntax of type annotations from the runtime 
requirements, allowing for better expressibility.

Goal 3. To make annotations affect runtime characteristics of typed modules 
less, namely import time and memory usage.


Now, did PEP 563 succeed in its goals? Well, partially at best. Let's see.

In terms of Goal 1, it turned out that `typing.get_type_hints()` has limits 
that make its use in general costly at runtime, and more importantly 
insufficient to resolve all types. The most common example deals with 
non-global context in which types are generated (e.g. inner classes, classes 
within functions, etc.). But one of the crown examples of forward references: 
classes with methods accepting or returning objects of their own type, also 
isn't properly handled by `typing.get_type_hints()` if a class generator is 
used. There's some trickery we can do to connect the dots but in general it's 
not great.

As for Goal 2, it became painfully obvious that a number of types used for 
static typing purposes live outside of the type annotation context. So while 
PEP 563 tried to enable a backdoor for more usable static typing syntax, it 
ultimately couldn't. This is where PEP 585 and later PEP 604 came in, filling 
the gap by doing the sad but necessary work of enabling this extended typing 
syntax in proper runtime Python context. This is what should have been done all 
along and it makes PEP 563 in this context irrelevant as of Python 3.9 (for PEP 
585) and 3.10 (for PEP 604). However, to the extent of types used within 
annotations, the PEP 563 future-import allows using the new cute typing syntax 
already for Python 3.7+ compatible code. So library authors can already adopt 
the lowercase type syntax of PEP 585 and the handy pipe syntax for unions of 
PEP 604. And even for non-type annotation uses that can be successfully barred 
by a `if TYPE_CHECKING` block, like type aliases, type variables, and such. Of 
course that has no chance of working with `typing.get_type_hints()`.

Now, Goal 3 is a different matter. As Inada Naoki demonstrated somewhere in the 
preceding discussion here, PEP 563 made fully type-annotationed codebase import 
pretty much as fast as non-annotated code, and through the joys of string 
interning, use relatively little extra memory. At the time PEP 563, a popular 
concern around static typing in Python was that it slows down runtime while 
it's only useful for static analysis. While we (the typing crowd) were always 
sure the "only useful as a better linter" is dismissive, the performance 
argument had to go.


So where does this leave us today?

Runtime use of types was somewhat overly optimistically treated as solvable 
with `typing.get_type_hints()`. Now Pydantic and other similar tools show that 
this isn't sadly the case. Without the future-import, they could ignore the 
problem until Python 3.10 but no longer. I was somewhat surprised this was the 
case because forward references as strings could always be used. So I guess the 
answer there was to just not use them if you want your runtime tool to work. 
Fair enough.

PEP 649 addresses this runtime usage of type annotations head on in a way that 
eluded me when I first set out to solve this problem. Back then, Larry and Mark 
Shannon did voice their opinion that through some clever frame object storage, 
"implicit lambdas", we can address the issue of forward references. This seemed 
unattractive to me at the time because it didn't deal with our Goal 2 and our 
understanding was that it actually makes Goal 3 worse by holding on to all 
frames in memory where type annotations appear, and by creating massive 
duplication of equivalent annotations in memory due to lack of a mechanism 
similar to string interning. Now those issues are somewhat solved in the final 
PEP 649 and this makes for an interesting compromise for us to make. I say 
"compromise" because as Inada Naoki measured, there's still a non-zero 
performance cost of PEP 649 versus PEP 563:

- code size: +63%
- memory: +62%
- import time: +60%


Will this hurt some current users of typing? Yes, I can name you multiple past 
employers of mine where this will be the case. Is it worth it for Pydantic? I 
tend to think that yes, it is, since it is a significant community, and the 
operations on type 

[Python-Dev] [RELEASE] Python 3.9.4 hotfix is now available

2021-04-04 Thread Łukasz Langa
Python 3.9.3 was released two days ago on Friday, April 2nd. It contains 
important security content listed below for reference. Unfortunately, it also 
introduced an unintentional ABI incompatibility, making some C extensions built 
with Python 3.9.0 - 3.9.2 crash with  Python 3.9.3 on 32-bit systems. To 
minimize disruption, I decided to recall 3.9.3 and introduce this hotfix 
release: 3.9.4.

We highly recommend upgrading your Python 3.9 installations to 3.9.4 at your 
earliest convenience.

Get it here:

https://www.python.org/downloads/release/python-394/ 
<https://www.python.org/downloads/release/python-394/>
What is “ABI compatibility”?

Python guarantees that within a given language series (like the current 3.9) 
binary extensions written in C or C++ and compiled against headers of one 
release (like 3.9.0) will be importable from other versions in the same series 
(like 3.9.3). If this weren’t the case, library authors would have to ship 
separate binary wheels on PyPI for every single bugfix release of Python. That 
would be very inconvenient.

 
<https://discuss.python.org/t/python-3-9-4-hotfix-is-now-available/8056#what-broke-in-python-393>What
 broke in Python 3.9.3?

In a fix for a corner-case crash around recursion limits and exceptions, the 
PyThreadState struct needed to change. While PyThreadState’s only documented 
public member is the *interp field 
<https://docs.python.org/3.9/c-api/init.html#c.PyThreadState>, it’s not 
uncommon for C extensions to access other fields in this struct as well.

When I approved the backport of this fix, I missed the fact that the variable 
size change would change the memory layout of said struct on 32-bit systems (on 
64-bit systems alignment rules made the size change backwards compatible). 
Merging the backport was a mistake, and so 3.9.4 reverts it to restore 
compatibility with binary extensions built against Python 3.9.0 - 3.9.2. 
Details in bpo-43710 <https://bugs.python.org/issue43710>.

 
<https://discuss.python.org/t/python-3-9-4-hotfix-is-now-available/8056#security-content-in-python-393>Security
 Content in Python 3.9.3

bpo-43631 <https://bugs.python.org/issue43631>: high-severity CVE-2021-3449 and 
CVE-2021-3450 were published for OpenSSL, it’s been upgraded to 1.1.1k in CI, 
and macOS and Windows installers.
bpo-42988 <https://bugs.python.org/issue42988>: CVE-2021-3426: Remove the 
getfile feature of the pydoc module which could be abused to read arbitrary 
files on the disk (directory traversal vulnerability). Moreover, even source 
code of Python modules can contain sensitive data like passwords. Vulnerability 
reported by David Schwörer.
bpo-43285 <https://bugs.python.org/issue43285>: ftplib no longer trusts the IP 
address value returned from the server in response to the PASV command by 
default. This prevents a malicious FTP server from using the response to probe 
IPv4 address and port combinations on the client network. Code that requires 
the former vulnerable behavior may set a trust_server_pasv_ipv4_address 
attribute on their ftplib.FTP instances to True to re-enable it.
bpo-43439 <https://bugs.python.org/issue43439>: Add audit hooks for 
gc.get_objects(), gc.get_referrers() and gc.get_referents(). Patch by Pablo 
Galindo.
 
<https://discuss.python.org/t/python-3-9-4-hotfix-is-now-available/8056#release-calendar>Release
 Calendar

Maintenance releases for the 3.9 series will continue at regular bi-monthly 
intervals, with 3.9.5 planned for May 3rd 2021 as well.

 
<https://discuss.python.org/t/python-3-9-4-hotfix-is-now-available/8056#whats-new>What’s
 new?

The Python 3.9 series contains many new features and optimizations over 3.8. 
See the “What’s New in Python 3.9  
<https://docs.python.org/3.9/whatsnew/3.9.html>” document for more information 
about features included in the 3.9 series. We also have a detailed change log 
for 3.9.3 <https://docs.python.org/release/3.9.3/whatsnew/changelog.html> 
specifically.

Detailed information about all changes made in version 3.8.9 can be found in 
its respective changelog 
<https://docs.python.org/release/3.8.9/whatsnew/changelog.html>.

 
<https://discuss.python.org/t/python-3-9-4-hotfix-is-now-available/8056#we-hope-you-enjoy-those-new-releases>We
 hope you enjoy those new releases!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https:/

[Python-Dev] Re: NOTE: Python 3.9.3 contains an unintentional ABI incompatibility leading to crashes on 32-bit systems

2021-04-04 Thread Łukasz Langa

> On 4 Apr 2021, at 01:15, Miro Hrončok  wrote:
> 
> However, I need to ask: Would this also happen if there was a rc version of 
> 3.9.3?

Good question. The RC would not help. Most importantly, 3.9.3 was itself an 
expedited release due to its security content. When I did use an RC phase for 
3.9.2, which also contained security fixes, it met with considerable backlash 
and urges to release the update faster. And I ultimately did, two days after 
the RC was out. Informed by this experience, I would have likely skipped the RC 
for 3.9.3 anyway.

More generally, RCs historically provided little value. Since Python 3.4 we've 
provided 55 bugfix releases. Five of those included an RC2, suggesting testing 
caught a regression. Let's look closer:
- none of those happened for 3.8 and 3.9 releases;
- two of those are a single issue in 3.7.1rc1 and 3.6.7rc1: 
https://bugs.python.org/issue34927 , indeed 
caught by a user downloading an rc1 installer from python.org 
;
- one was found by a third-party during "preparation for Python 3.8" and it 
just happened to be a regression also present in 3.7.4rc1 
(https://bugs.python.org/issue24214 );
- one was found by a third-party using nightly Python builds in CI 
(https://bugs.python.org/issue38216 ) and 
it just happened to be a regression also present in 3.5.8rc1;
- one was found by a core developer running regression tests on what 
coincidentally happened to be 3.6.2rc1 on Windows 
(https://bugs.python.org/issue30716 ). The 
bug was in the tests themselves.

So, we're looking at a single instance of a bug found an RC1 installer being 
out there. Python 3.0 through 3.3 had limited user penetration so looking at 
those isn't informative. But we can look at Python 2.7, and that one had a 
single rc2 in its 10 years of bugfix releases. That was 2.7.3rc2, in 2012. It 
was in the Windows help file, discovered by a core developer looking through it.

In the time of 3.8 and 3.9 so far, there was a single hotfix release which was 
due to a regression not caught by a published release candidate 
(https://bugs.python.org/issue41304 ).

Given the information above, I stand by my decision (confirmed with other 
release managers) to skip RCs for bugfix releases.

- Ł___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/ON57KRYDKN57ZUPYW3Y7VRMKDSDIUJ7W/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: NOTE: Python 3.9.3 contains an unintentional ABI incompatibility leading to crashes on 32-bit systems

2021-04-04 Thread Łukasz Langa

> On 4 Apr 2021, at 11:34, Matthias Klose  wrote:
> 
> On 4/4/21 4:44 AM, Terry Reedy wrote:
>> 
>> Unless the mistake was just introduced, the mistake would have happened.  One
>> this severe would likely have been caught within the week or two before a
>> final.  But as Łukasz noted when announcing the change, .rcs are generally
>> ignored.
> 
> Well, that's not true.  I think for at least the past 3.8 and current 3.9 
> cycle
> I always tested the release candidates, and built them for various Linux
> architectures.  And I'm filing issues marked as 'released-blocker' when I see
> regressions introduced, it's up to the release managers to determine if such
> changes are intended or not.

Can you show us an example of a release-blocker issue you reported?

- Ł___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/UOSUV632CJXZE3GCUPC6CWVBGS4KNEZY/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] NOTE: Python 3.9.3 contains an unintentional ABI incompatibility leading to crashes on 32-bit systems

2021-04-03 Thread Łukasz Langa
The memory layout of PyThreadState was unintentionally changed in the recent 
3.9.3 bugfix release. This leads to crashes on 32-bit systems when importing 
binary extensions compiled for Python 3.9.0 - 3.9.2. This is a regression.

We will be releasing a hotfix 3.9.4 around 24 hours from now to address this 
issue and restore ABI compatibility with C extensions built for Python 3.9.0 - 
3.9.2.

Details:
https://bugs.python.org/issue43710

- Ł___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/OUCNKMFBNGFK2AI4B7S7MF5O6UVLBSMB/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.3 and 3.8.9 are now available

2021-04-02 Thread Łukasz Langa
Those are expedited security releases, recommended to all users. Get them here:

https://www.python.org/downloads/release/python-393/ 
<https://www.python.org/downloads/release/python-393/>

https://www.python.org/downloads/release/python-389/ 
<https://www.python.org/downloads/release/python-389/>
Security Content

bpo-43631 <https://bugs.python.org/issue43631>: high-severity CVE-2021-3449 and 
CVE-2021-3450 were published for OpenSSL, it’s been upgraded to 1.1.1k in CI, 
and macOS and Windows installers.
bpo-42988 <https://bugs.python.org/issue42988>: CVE-2021-3426: Remove the 
getfile feature of the pydoc module which could be abused to read arbitrary 
files on the disk (directory traversal vulnerability). Moreover, even source 
code of Python modules can contain sensitive data like passwords. Vulnerability 
reported by David Schwörer.
bpo-43285 <https://bugs.python.org/issue43285>: ftplib no longer trusts the IP 
address value returned from the server in response to the PASV command by 
default. This prevents a malicious FTP server from using the response to probe 
IPv4 address and port combinations on the client network. Code that requires 
the former vulnerable behavior may set a trust_server_pasv_ipv4_address 
attribute on their ftplib.FTP instances to True to re-enable it.
bpo-43439 <https://bugs.python.org/issue43439>: Add audit hooks for 
gc.get_objects(), gc.get_referrers() and gc.get_referents(). Patch by Pablo 
Galindo.
 
<https://discuss.python.org/t/python-3-9-3-and-3-8-9-are-now-available/8024#release-calendar>Release
 Calendar

Due to the security fixes, those releases are made a month sooner than planned. 
I decided to keep the release calendar intact, meaning that the last full 
regular maintenance release of Python 3.8 is still planned for May 3rd 2021, 
after which it will shift to source releases only for security bug fixes only. 
Maintenance releases for the 3.9 series will continue at regular bi-monthly 
intervals, with 3.9.3 planned for May 3rd 2021 as well.

 
<https://discuss.python.org/t/python-3-9-3-and-3-8-9-are-now-available/8024#whats-new>What’s
 new?

The Python 3.9 series contains many new features and optimizations over 3.8. 
See the “What’s New in Python 3.9  
<https://docs.python.org/3.9/whatsnew/3.9.html>” document for more information 
about features included in the 3.9 series. We also have a detailed change log 
for 3.9.3 <https://docs.python.org/release/3.9.3/whatsnew/changelog.html> 
specifically.

Detailed information about all changes made in version 3.8.9 can be found in 
its respective changelog 
<https://docs.python.org/release/3.8.9/whatsnew/changelog.html>.

 
<https://discuss.python.org/t/python-3-9-3-and-3-8-9-are-now-available/8024#we-hope-you-enjoy-those-new-releases>We
 hope you enjoy those new releases!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/JQZZT5TEDHUCDWYUEC2PRVBT4RR7267F/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Python Language Summit 2021 Signups Are Now Open

2021-02-24 Thread Łukasz Langa
I’m happy to announce that we’ve opened the sign-up forms for the 2021 Python 
Language Summit!

TL;DR

When: Tuesday, May 11, 2021 (4 hours) and Wednesday, May 12, 2021 (4 hours). 
Exact times TBD depending on attendee timezones.
Where: Online via Zoom (link will be sent via email to attendees)
Co-chairs: Mariatta Wijaya & Łukasz Langa
Blogger: Joanna Jablonski
Sign up to attend and actively participate: https://forms.gle/cgmGnmQMDhD2mhHY8 
<https://forms.gle/cgmGnmQMDhD2mhHY8> (closes after March 22nd, 2021 AoE)
Propose a topic: https://forms.gle/Jui9mxsHrB4fVvAB8 
<https://forms.gle/Jui9mxsHrB4fVvAB8> (closes after March 22nd, 2021 AoE)
To get an idea of past Python Language Summits, you can read these blog posts:

2020: Python Software Foundation News: The 2020 Python Language Summit 
<https://pyfound.blogspot.com/2020/04/the-2020-python-language-summit.html>
2019: http://pyfound.blogspot.com/2019/05/the-2019-python-language-summit.html 
<http://pyfound.blogspot.com/2019/05/the-2019-python-language-summit.html>
2018: The 2018 Python Language Summit [LWN.net] 
<https://lwn.net/Articles/754152/>
2017: The 2017 Python Language Summit [LWN.net] 
<https://lwn.net/Articles/723251/>
Do I need to sign up if I’m a Python core developer?

Yes please! While in the past we have limited attendance to 50 people, this 
time, due to virtual format, we will be a bit more flexible, but will still 
keep it small and manageable. We aren’t planning to go beyond 80 participants. 
Please register to reserve your space.

Can I sign up if I’m not a Python core developer?

Yes you can. In the past, we had quite a number of participants who were not 
Python core devs. Among them were maintainers and representatives from BeeWare, 
CircuitPython, PSF board member, PyCharm, PyPA, etc. Register if you want to 
participate. Note that until you hear back from us, your attendance is not 
confirmed. As explained in the question above, our “space” is more flexible 
than usual, but in the interest of maintaining a vigorous discussion space, we 
might still be unable to invite everyone who signs up.

What kind of topics are covered?

Python Language Summit is a special event with very specific audience: Python 
core developers. Ideally your topic is not an “announcement” or “project 
status” but rather something that will encourage further discussion and 
questions. The more controversial, the better. An open issue, group of issues, 
or a PEP that is awaiting decision are all good topics to propose. You can also 
further explain why this is better discussed in person instead of online.

According to last year’s feedback, our audience prefer more discussions and 
shorter talks.

Who can present a talk?

Anyone, even if you’re not a Python core developer. However, please understand 
that we will have to be selective as space and time are limited. In particular, 
we are prioritizing active core contributors, as well as those who we believe 
will be able to improve the quality of the discussions at the event and bring a 
more diverse perspective to core Python developers. Note that your topic is not 
confirmed until you hear back from us.

Code of Conduct

PyCon’s Code of Conduct <https://us.pycon.org/2020/about/code-of-conduct/> 
applies and will be enforced.

Thanks!

@mariatta <https://discuss.python.org/u/mariatta> & @ambv 
<https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/J4AC33NZ3SUWYF2GOQRBHXLG7ZECIDBW/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.2 and 3.8.8 are now available

2021-02-19 Thread Łukasz Langa
Convinced of the wonders of free two-day deliveries, I’m pleased to present you 
Python 3.9.2 and 3.8.8. Get them from:

https://www.python.org/downloads/release/python-392/ 
<https://www.python.org/downloads/release/python-392/>

https://www.python.org/downloads/release/python-388/ 
<https://www.python.org/downloads/release/python-388/>

Next up, the last full regular maintenance release of Python 3.8 is planned for 
May 3rd 2021, after which it will shift to source releases only for security 
bug fixes only. Maintenance releases for the 3.9 series will continue at 
regular bi-monthly intervals, with 3.9.3 planned for early May 2021.

Why the expedited final release?

This release, just as the candidate before it, contains two security fixes:

bpo-42938 <https://bugs.python.org/issue42938>: Avoid static buffers when 
computing the repr of ctypes.c_double and ctypes.c_longdouble values. This 
issue was assigned CVE-2021-3177 
<https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3177>.

bpo-42967 <https://bugs.python.org/issue42967>: Fix web cache poisoning 
vulnerability by defaulting the query args separator to &, and allowing the 
user to choose a custom separator. This issue was assigned CVE-2021-23336 
<https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-23336>.

Since the announcement of the release candidates for 3.9.2 on 3.8.8, we 
received a number of inquiries from end users urging us to expedite the final 
releases due to the security content, especially CVE-2021-3177 
<https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3177>.

This took us somewhat by surprise since we believed security content is 
cherry-picked by downstream distributors from source either way, and the RC 
releases provide installers for everybody else interested in upgrading in the 
meantime. It turns out that release candidates are mostly invisible to the 
community and in many cases cannot be used due to upgrade processes which users 
have in place.

In turn, the other active release managers and I decided to stop providing 
release candidates for bugfix versions. Starting from now on after the initial 
3.x.0 final release, all subsequent releases are going to be provided as is in 
bi-monthly intervals. The release calendar PEPs for 3.8 and 3.9 have been 
updated accordingly.

On the severity of CVE-2021-3177

We recommend you upgrade your systems to Python 3.8.8 or 3.9.2.

Our understanding is that while the CVE is listed as “remote code execution”, 
practical exploits of this vulnerability as such are very unlikely due the 
following conditions needing to be met for successful RCE:

pass an untrusted floating point number from a remote party to 
ctypes.c_double.from_param (note: Python floating point numbers were not 
affected);

have that object be passed to repr() (for instance through logging);

have that float point number be valid machine code;

have the buffer overflow overwrite the stack at exactly the right place for the 
code to get executed.

In fact, Red Hat’s evaluation of the vulnerability was consistent with ours. 
They write: “the highest threat from this vulnerability is to system 
availability <https://access.redhat.com/security/cve/cve-2021-3177>.”

To be sure, denial of service through malicious input is also a serious issue. 
Thus, to help the community members for whom the release candidate was 
insufficient, we are releasing the final versions of 3.9.2 and 3.8.8 today.

What’s new?

The Python 3.9 series contains many new features and optimizations over 3.8. 
See the “What’s New in Python 3.9 2 
<https://docs.python.org/3.9/whatsnew/3.9.html>” document for more information 
about features included in the 3.9 series. We also have a detailed change log 
for 3.9.2rc1 
<https://docs.python.org/release/3.9.2/whatsnew/changelog.html#python-3-9-2-release-candidate-1>
 specifically. The final release only contains a single bugfix 
<https://github.com/python/cpython/pull/24554> over the release candidate.

Detailed information about all changes made in version 3.8.8rc1 specifically 
can be found in its respective changelog 
<https://docs.python.org/release/3.8.8/whatsnew/changelog.html#python-3-8-8-release-candidate-1>.
 The final version contains no changes over the release candidate.

We hope you enjoy those new releases!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-l

[Python-Dev] [RELEASE] Python 3.9.2rc1 and 3.8.8rc1 are now available for testing

2021-02-17 Thread Łukasz Langa
I’m happy to announce two release candidates today: Python 3.9.2rc1, and Python 
3.8.8rc1. Get them from:

https://www.python.org/downloads/release/python-392rc1/ 
<https://www.python.org/downloads/release/python-392rc1/>

https://www.python.org/downloads/release/python-388rc1/ 
<https://www.python.org/downloads/release/python-388rc1/>

Unless critical issues are discovered, both release candidates will become 
their respective final versions on Monday, March 1st.
Following that, the last full regular maintenance release of Python 3.8 is 
planned for May 3rd 2021, after which it will shift to source releases only for 
security bug fixes only. Maintenance releases for the 3.9 series will continue 
at regular bi-monthly intervals, with 3.9.3 planned for early May 2021.

Notable security content in today’s releases

bpo-42967 <https://bugs.python.org/issue42967>: Fix web cache poisoning 
vulnerability by defaulting the query args separator to &, and allowing the 
user to choose a custom separator.

bpo-42938 <https://bugs.python.org/issue42938>: Avoid static buffers when 
computing the repr of ctypes.c_double and ctypes.c_longdouble values.

What’s new?

The Python 3.9 series contains many new features and optimizations over 3.8. 
See the “What’s New in Python 3.9 
<https://docs.python.org/3.9/whatsnew/3.9.html>” document for more information 
about features included in the 3.9 series. We also have a detailed change log 
for 3.9.2rc1 
<https://docs.python.org/release/3.9.2rc1/whatsnew/changelog.html#changelog> 
specifically.

Detailed information about all changes made in version 3.8.8rc1 specifically 
can be found in its change log 
<https://docs.python.org/release/3.8.8rc1/whatsnew/changelog.html#python-3-8-8-release-candidate-1>.

We hope you enjoy those new releases!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/T4IZOGQB7DW4KNKJZBQ6U4VMYETK6EVR/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: PEP: Deferred Evaluation Of Annotations Using Descriptors

2021-01-11 Thread Łukasz Langa


> On 11 Jan 2021, at 18:21, Larry Hastings  wrote:
> 
> I've written a new PEP.  Please find it below.  Happy reading!
> 

Interesting! I like the clever lazy-evaluation of the __annotations__ using a 
pre-set code object. My only real reservation is that the transition process 
will be weird but I don't have much to offer in terms of how to smooth it out. 
I have two questions though:

1. What do you anticipate the memory usage will look like for your solution 
compared to PEP 563?

To give you an example, EdgeDB is a sizeable application with 100k SLOC of 
Python. It's got around 3,500 typed functions, all in all >71% type coverage. 
EdgeDB uses stringified annotations exclusively which minimizes runtime memory 
usage of annotations because those strings are pretty much all ASCII and many 
can be interned. Does it matter? It does, actually. Let's look at 20 most 
popular annotations in the codebase and how often they appear:

946 -> s_schema.Schema
362 -> str
298 -> sd.CommandContext
118 -> base.PLBlock
107 -> irast.Set
99 -> CommandContext
95 -> Any
86 -> qlast.DDLOperation
85 -> s_types.Type
71 -> bool
70 -> irast.PathId
67 -> int
54 -> context.Environment
46 -> so.Object
45 -> pgast.Query
42 -> uuid.UUID
38 -> irast.Base
38 -> sn.Name
37 -> pgast.SelectStmt
33 -> context.ReplContext
(this list tapers of with a long tail after)

Turns out most annotations are simple and predictable. (As a side note: we 
could make interning even stronger for this purpose if we allowed periods and 
square brackets for interning.)


2. What is your expected startup performance of an annotated Python application 
using co_annotations?

The stringification process which your PEP describes as costly only happens 
during compilation of a .py file to .pyc. Since pip-installing pre-compiles 
modules for the user at installation time, there is very little runtime penalty 
for a fully annotated application.


Cheers,
Ł___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/AC6YLF4ZKXVXXXDVD357WU6I5B7P2WX2/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.7 is now available

2020-12-21 Thread Łukasz Langa
Python 3.8.7 is the seventh maintenance release of Python 3.8. Go get it here:

https://www.python.org/downloads/release/python-387/ 
<https://www.python.org/downloads/release/python-387/>
Note: this is a bugfix release for the 3.8 series which was superseded by 
Python 3.9, currently the latest feature release series of Python 3. You can 
find the latest release of 3.9.x here <https://www.python.org/downloads/>.

Maintenance releases for the 3.8 series will continue at regular bi-monthly 
intervals, with 3.8.8 planned for February 2021.

macOS 11 Big Sur not fully supported

Python 3.8.7 is not yet fully supported on macOS 11 Big Sur. It will install on 
macOS 11 Big Sur and will run on Apple Silicon Macs using Rosetta 2 
translation. However, a few features do not work correctly, most noticeably 
those involving searching for system libraries (vs user libraries) such as 
ctypes.util.find_library() and in Distutils. This limitation affects both Apple 
Silicon and Intel processors. We are looking into improving the situation for 
Python 3.8.8.

Python 3.9.1 <https://www.python.org/downloads/release/python-391/> provides 
full support for Big Sur and Apple Silicon Macs, including building natively on 
Apple Silicon Macs and support for universal2 binaries.

What’s new?

The Python 3.8 series contains many new features and optimizations over 3.7. 
See the “What’s New in Python 3.8 
<https://docs.python.org/3.8/whatsnew/3.8.html>” document for more information 
about features included in the 3.8 series.

Detailed information about all changes made in version 3.8.7 specifically can 
be found in its change log 
<https://docs.python.org/release/3.8.7/whatsnew/changelog.html#python-3-8-7>. 
Note that compared to 3.8.6 this release also contains all changes present in 
3.8.7rc1.

We hope you enjoy Python 3.8!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/MMLVSZLBWXUCX2UTBIEV7PTPVQA4BCZW/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.1rc1 is now ready for testing

2020-11-26 Thread Łukasz Langa
Python 3.9.1rc1 is the release candidate of the first maintenance release of 
Python 3.9. Go get it here:
https://www.python.org/downloads/release/python-391rc1/ 
<https://www.python.org/downloads/release/python-391rc1/>
Assuming no critical problems are found prior to 2020-12-11, the currently 
scheduled release date for 3.9.1, no code changes are planned between this 
release candidate and the final release. That being said, please keep in mind 
that this is a pre-release of 3.9.1 and as such its main purpose is testing.

Maintenance releases for the 3.9 series will continue at regular bi-monthly 
intervals, with 3.9.2 planned for end of January 2021.

Installer news

3.9.1rc1 is the first version of Python to support macOS 11 Big Sur. With Xcode 
11 and later it is now possible to build “Universal 2” binaries which work on 
Apple Silicon. We are providing such an installer as the macosx11.0 variant. 
This installer can be deployed back to older versions, tested down to OS X 
10.9. As we are waiting for an updated version of pip, please consider the 
macosx11.0 installer experimental.

This work would not have been possible without the effort of Ronald Oussoren, 
Ned Deily, and Lawrence D’Anna from Apple. Thank you!

In other news, this is the first version of Python to default to the 64-bit 
installer on Windows. The installer now also actively disallows installation on 
Windows 7. Python 3.9 is incompatible with this unsupported version of Windows.

What’s new in Python 3.9.1rc1?

We’ve made 240 changes since v3.9.0 which is a significant amount. To compare, 
3.8.1rc1 only saw 168 commits since 3.8.0. See the full change log at

https://docs.python.org/release/3.9.1rc1/whatsnew/changelog.html 
<https://docs.python.org/release/3.9.1rc1/whatsnew/changelog.html>.

For more information about features included in the 3.9 series, see the “What’s 
New in Python 3.9 <https://docs.python.org/release/3.9.0/whatsnew/3.9.html>” 
document.

What about Python 3.8.7rc1?

There’s additional work needed to make this release support macOS 11 Big Sur. 
This should be ready next week, stay tuned.

We hope you enjoy the new releases!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

https://www.python.org/psf/ <https://www.python.org/psf/>
More resources

Online Documentation <https://docs.python.org/3.9/>
PEP 596 <https://www.python.org/dev/peps/pep-0596/>, 3.9 Release Schedule
PEP 619 <https://www.python.org/dev/peps/pep-0619/>, 3.10 Release Schedule
Report bugs at https://bugs.python.org <https://bugs.python.org/>.
Help fund Python and its community <https://www.python.org/psf/donations/>.
Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/OD2JED7GACLTK7ETE2D27OGERKMWSCEV/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: [python-committers] Thank you Larry Hastings!

2020-10-05 Thread Łukasz Langa

> On 5 Oct 2020, at 20:38, Barry Warsaw  wrote:
> 
> Larry, from all of us, and from me personally, thank you so much for your 
> invaluable contributions to Python.

Yes, definitely! Thank you.


> Enjoy your retirement!

Not so fast! Now you have all that extra free time to return to the Gilectomy! 邏

- Ł
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/T4OEUJWMSKXC4GJ5UY3ZECWFI5PYFWVP/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.0 is now available, and you can already test 3.10.0a1!

2020-10-05 Thread Łukasz Langa
On behalf of the Python development community and the Python 3.9 release team, 
I’m pleased to announce the availability of Python 3.9.0.

Python 3.9.0 is the newest feature release of the Python language, and it 
contains many new features and optimizations. You can find Python 3.9.0 here:

https://www.python.org/downloads/release/python-390/ 
<https://www.python.org/downloads/release/python-390/>

Most third-party distributors of Python should be making 3.9.0 packages 
available soon.

See the “What’s New in Python 3.9 
<https://docs.python.org/release/3.9.0/whatsnew/3.9.html>” document for more 
information about features included in the 3.9 series. Detailed information 
about all changes made in 3.9.0 can be found in its change log 
<https://docs.python.org/release/3.9.0/whatsnew/changelog.html#changelog>.

Maintenance releases for the 3.9 series will follow at regular bi-monthly 
intervals starting in late November of 2020.



OK, boring! Where is Python 4?

Not so fast! The next release after 3.9 will be 3.10. It will be an incremental 
improvement over 3.9, just as 3.9 was over 3.8, and so on.

In fact, our newest Release Manager, Pablo Galindo Salgado, prepared the first 
alpha release of what will become 3.10.0 a year from now. You can check it out 
here:

https://www.python.org/downloads/release/python-3100a1/ 
<https://www.python.org/downloads/release/python-3100a1/>

We hope you enjoy the new releases!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

https://www.python.org/psf/ <https://www.python.org/psf/>
More resources

Online Documentation <https://docs.python.org/3.9/>
PEP 596 <https://www.python.org/dev/peps/pep-0596/>, 3.9 Release Schedule
PEP 619 <https://www.python.org/dev/peps/pep-0619/>, 3.10 Release Schedule
Report bugs at https://bugs.python.org <https://bugs.python.org/>.
Help fund Python and its community <https://www.python.org/psf/donations/>.
Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Pablo Galindo Salgado @pablogsal <https://discuss.python.org/u/pablogsal>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/ZSQOHQYBEZV3DUZPDXCI4QWWZJI2KVXE/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.6 is now available

2020-09-24 Thread Łukasz Langa
Python 3.8.6 is the sixth maintenance release of Python 3.8. Go get it here:

https://www.python.org/downloads/release/python-386/ 
<https://www.python.org/downloads/release/python-386/>

Maintenance releases for the 3.8 series will continue at regular bi-monthly 
intervals, with 3.8.7 planned for mid-November 2020.

What’s new?

The Python 3.8 series is the newest feature release of the Python language, and 
it contains many new features and optimizations. See the “What’s New in Python 
3.8 <https://docs.python.org/3.8/whatsnew/3.8.html>” document for more 
information about features included in the 3.8 series.

Python 3.8 is becoming more stable. Our bugfix releases are becoming smaller as 
we progress. This one contains 122 changes, less than two thirds of the 
previous average for a new release. Detailed information about all changes made 
in version 3.8.6 specifically can be found in its change log 
<https://docs.python.org/release/3.8.6/whatsnew/changelog.html#python-3-8-6>. 
Note that compared to 3.8.5 this release also contains all changes present in 
3.8.6rc1.

We hope you enjoy Python 3.8!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/AOBUH5WPNZ2TKICKU6GYKJTAEI3VGAP6/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.0rc2 is now available for testing

2020-09-17 Thread Łukasz Langa
Python 3.9.0 is almost ready. This release, 3.9.0rc2, is the last planned 
preview before the final release of Python 3.9.0 on 2020-10-05. Get it here:

https://www.python.org/downloads/release/python-390rc2/ 
<https://www.python.org/downloads/release/python-390rc2/>
In the mean time, we strongly encourage maintainers of third-party Python 
projects to prepare their projects for 3.9 compatibility during this phase. As 
always, report any issues to the Python bug tracker <https://bugs.python.org/>.

Please keep in mind that this is a preview release and its use is not 
recommended for production environments.

Information for core developers

The 3.9 branch is now accepting changes for 3.9.1. To maximize stability, the 
final release will be cut from the v3.9.0rc2 tag. If you need the release 
manager to cherry-pick any critical fixes, mark issues as release blockers 
and/or add him as a reviewer on a critical backport PR on GitHub.

To see which changes are currently cherry-picked for inclusion in 3.9.0, look 
at the short-lived branch-v3.9.0 
<https://github.com/python/cpython/tree/branch-v3.9.0> on GitHub.

Installer news

This is the first version of Python to default to the 64-bit installer on 
Windows. The installer now also actively disallows installation on Windows 7. 
Python 3.9 is incompatible with this unsupported version of Windows.

Major new features of the 3.9 series, compared to 3.8

Some of the new major new features and changes in Python 3.9 are:

PEP 584 <https://www.python.org/dev/peps/pep-0584/>, Union Operators in dict
PEP 585 <https://www.python.org/dev/peps/pep-0585/>, Type Hinting Generics In 
Standard Collections
PEP 593 <https://www.python.org/dev/peps/pep-0593/>, Flexible function and 
variable annotations
PEP 602 <https://www.python.org/dev/peps/pep-0602/>, Python adopts a stable 
annual release cadence
PEP 615 <https://www.python.org/dev/peps/pep-0615/>, Support for the IANA Time 
Zone Database in the Standard Library
PEP 616 <https://www.python.org/dev/peps/pep-0616/>, String methods to remove 
prefixes and suffixes
PEP 617 <https://www.python.org/dev/peps/pep-0617/>, New PEG parser for CPython
BPO 38379 <https://bugs.python.org/issue38379>, garbage collection does not 
block on resurrected objects;
BPO 38692 <https://bugs.python.org/issue38692>, os.pidfd_open added that allows 
process management without races and signals;
BPO 39926 <https://bugs.python.org/issue39926>, Unicode support updated to 
version 13.0.0;
BPO 1635741 <https://bugs.python.org/issue1635741>, when Python is initialized 
multiple times in the same process, it does not leak memory anymore;
A number of Python builtins (range, tuple, set, frozenset, list, dict) are now 
sped up using PEP 590 <https://www.python.org/dev/peps/pep-0590> vectorcall;
A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, 
_functools, _json, _locale, operator, resource, time, _weakref) now use 
multiphase initialization as defined by PEP 489 
<https://www.python.org/dev/peps/pep-0489/>;
A number of standard library modules (audioop, ast, grp, _hashlib, pwd, 
_posixsubprocess, random, select, struct, termios, zlib) are now using the 
stable ABI defined by PEP 384 <https://www.python.org/dev/peps/pep-0384/>.
More resources

Online Documentation <https://docs.python.org/3.9/>
PEP 596 <https://www.python.org/dev/peps/pep-0596/>, 3.9 Release Schedule
Report bugs at https://bugs.python.org <https://bugs.python.org/>.
Help fund Python and its community <https://www.python.org/psf/donations/>.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/72MT4F4BXHZOVJB35LFW74GGIU74YGIW/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.6rc1 is now ready for testing

2020-09-08 Thread Łukasz Langa
Python 3.8.6rc1 is the release candidate of the sixth maintenance release of 
Python 3.8. Go get it here:

https://www.python.org/downloads/release/python-386rc1/ 
<https://www.python.org/downloads/release/python-386rc1/>

Assuming no critical problems are found prior to 2020-09-21, the scheduled 
release date for 3.8.6, no code changes are planned between this release 
candidate and the final release.

That being said, please keep in mind that this is a pre-release and as such its 
main purpose is testing.

Maintenance releases for the 3.8 series will continue at regular bi-monthly 
intervals, with 3.8.7 planned for mid-November 2020.

What’s new?

The Python 3.8 series is the newest feature release of the Python language, and 
it contains many new features and optimizations. See the “What’s New in Python 
3.8 <https://docs.python.org/3.8/whatsnew/3.8.html>” document for more 
information about features included in the 3.8 series.

Python 3.8 is becoming more stable. Our bugfix releases are becoming smaller as 
we progress. This one contains 80 changes, not even a half of what we got in 
3.8.4 (the following release was a hotfix). Detailed information about all 
changes made in version 3.8.6 specifically can be found in its change log 
<https://docs.python.org/release/3.8.6rc1/whatsnew/changelog.html#python-3-8-6-release-candidate-1>.

We hope you enjoy Python 3.8!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/WCMNX3JKHZVOUA2NET2NRWCU6K6OJXNY/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.0rc1 is now available

2020-08-11 Thread Łukasz Langa
Python 3.9.0 is *almost* ready. This release, *3.9.0rc1*, is the penultimate 
release preview. You can get it here:

https://www.python.org/downloads/release/python-390rc1/
Entering the release candidate phase, only reviewed code changes which are 
clear bug fixes are allowed between this release candidate and the final 
release. The second candidate and the last planned release preview is currently 
planned for 2020-09-14.

Please keep in mind that this is a preview release and its use is *not* 
recommended for production environments.

Calls to action

Core developers: all eyes on the docs now

 * Are all *your* changes properly documented?
 * Did you notice *other* changes you know of to have insufficient 
documentation?
Community members

We *strongly encourage* maintainers of third-party Python projects to prepare 
their projects for 3.9 compatibility during this phase. As always, report any 
issues to the Python bug tracker .

Installer news

This is the first version of Python to default to the 64-bit installer on 
Windows. The installer now also actively disallows installation on Windows 7. 
Python 3.9 is incompatible with this unsupported version of Windows.

Major new features of the 3.9 series, compared to 3.8

Some of the new major new features and changes in Python 3.9 are:

 * PEP 584 , Union Operators in  
`dict`
 * PEP 585 , Type Hinting Generics 
In Standard Collections
 * PEP 593 , Flexible function and 
variable annotations
 * PEP 602 , Python adopts a stable 
annual release cadence
 * PEP 615 , Support for the IANA 
Time Zone Database in the Standard Library
 * PEP 616 , String methods to 
remove prefixes and suffixes
 * PEP 617 , New PEG parser for 
CPython
 * BPO 38379 , garbage collection does not 
block on resurrected objects;
 * BPO 38692 , os.pidfd_open added that 
allows process management without races and signals;
 * BPO 39926 , Unicode support updated to 
version 13.0.0;
 * BPO 1635741 , when Python is 
initialized multiple times in the same process, it does not leak memory anymore;
 * A number of Python builtins (range, tuple, set, frozenset, list, dict) are 
now sped up using PEP 590  vectorcall;
 * A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, 
_crypt, _functools, _json, _locale, operator, resource, time, _weakref) now use 
multiphase initialization as defined by PEP 489 
;
 * A number of standard library modules (audioop, ast, grp, _hashlib, pwd, 
_posixsubprocess, random, select, struct, termios, zlib) are now using the 
stable ABI defined by PEP 384 .
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/FFVG5DAE7RHE5ZYUVVJW5TPAZ2ALRFHB/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.5 released as a security hotfix. 3.9.0b5, the last beta before 3.9.0, also available

2020-07-20 Thread Łukasz Langa
n modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, 
_functools, _json, _locale, operator, resource, time, _weakref) now use 
multiphase initialization as defined by PEP 489 
<https://www.python.org/dev/peps/pep-0489/>;

A number of standard library modules (audioop, ast, grp, _hashlib, pwd, 
_posixsubprocess, random, select, struct, termios, zlib) are now using the 
stable ABI defined by PEP 384 <https://www.python.org/dev/peps/pep-0384/>.

(Hey, fellow core developer, if a feature you find important is missing from 
this list, let Łukasz know <mailto:luk...@python.org>.)

We hope you enjoy the new releases!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/GOOPZAAPCJT55CN5UOEMKKAKEGDQCOZN/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.4 is now available

2020-07-13 Thread Łukasz Langa
Python 3.8.4 is the fourth maintenance release of Python 3.8. Go get it here:

https://www.python.org/downloads/release/python-384/ 
<https://www.python.org/downloads/release/python-384/>
Maintenance releases for the 3.8 series will continue at regular bi-monthly 
intervals, with 3.8.5 planned for mid-September 2020.

What’s new?

The Python 3.8 series is the newest feature release of the Python language, and 
it contains many new features and optimizations. See the “What’s New in Python 
3.8 <https://docs.python.org/3.8/whatsnew/3.8.html>” document for more 
information about features included in the 3.8 series.

This is the first bugfix release that is considerably smaller than the previous 
three. There’s almost 20% fewer changes at 162 commits than the average of 
previous three bugfix releases. Detailed information about all changes made in 
version 3.8.4 specifically can be found in its change log 
<https://docs.python.org/release/3.8.4/whatsnew/changelog.html#python-3-8-4-final>.
 Note that compared to 3.8.3, version 3.8.4 also contains the changes 
introduced in 3.8.4rc1.

We hope you enjoy Python 3.8!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/JV6BY6UJTMRGS5WL2VH3ZNPCVESZAINZ/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.0b4 is now ready for testing

2020-07-03 Thread Łukasz Langa
On behalf of the entire Python development community, and the currently serving 
Python release team in particular, I’m pleased to announce the release of 
Python 3.9.0b4. Get it here:

https://www.python.org/downloads/release/python-390b4/ 
<https://www.python.org/downloads/release/python-390b4/>

This is a beta preview of Python 3.9

Python 3.9 is still in development. This release, 3.9.0b4, is the fourth of 
five planned beta release previews.

Beta release previews are intended to give the wider community the opportunity 
to test new features and bug fixes and to prepare their projects to support the 
new feature release.

Call to action

We strongly encourage maintainers of third-party Python projects to test with 
3.9 during the beta phase and report issues found to the Python bug tracker 
<https://bugs.python.org/> as soon as possible. While the release is planned to 
be feature complete entering the beta phase, it is possible that features may 
be modified or, in rare cases, deleted up until the start of the release 
candidate phase (2020-08-10). Our goal is have no ABI changes after beta 5 and 
as few code changes as possible after 3.9.0rc1, the first release candidate. To 
achieve that, it will be extremely important to get as much exposure for 3.9 as 
possible during the beta phase.

Please keep in mind that this is a preview release and its use is not 
recommended for production environments.

Major new features of the 3.9 series, compared to 3.8

Some of the new major new features and changes in Python 3.9 are:

PEP 584 <https://www.python.org/dev/peps/pep-0584/>, Union Operators in dict

PEP 585 <https://www.python.org/dev/peps/pep-0585/>, Type Hinting Generics In 
Standard Collections

PEP 593 <https://www.python.org/dev/peps/pep-0593/>, Flexible function and 
variable annotations

PEP 602 <https://www.python.org/dev/peps/pep-0602/>, Python adopts a stable 
annual release cadence

PEP 615 <https://www.python.org/dev/peps/pep-0615/>, Support for the IANA Time 
Zone Database in the Standard Library

PEP 616 <https://www.python.org/dev/peps/pep-0616/>, String methods to remove 
prefixes and suffixes

PEP 617 <https://www.python.org/dev/peps/pep-0617/>, New PEG parser for CPython

BPO 38379 <https://bugs.python.org/issue38379>, garbage collection does not 
block on resurrected objects;

BPO 38692 <https://bugs.python.org/issue38692>, os.pidfd_open added that allows 
process management without races and signals;

BPO 39926 <https://bugs.python.org/issue39926>, Unicode support updated to 
version 13.0.0;

BPO 1635741 <https://bugs.python.org/issue1635741>, when Python is initialized 
multiple times in the same process, it does not leak memory anymore;

A number of Python builtins (range, tuple, set, frozenset, list, dict) are now 
sped up using PEP 590 <https://www.python.org/dev/peps/pep-0590> vectorcall;

A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, 
_functools, _json, _locale, operator, resource, time, _weakref) now use 
multiphase initialization as defined by PEP 489 
<https://www.python.org/dev/peps/pep-0489/>;

A number of standard library modules (audioop, ast, grp, _hashlib, pwd, 
_posixsubprocess, random, select, struct, termios, zlib) are now using the 
stable ABI defined by PEP 384 <https://www.python.org/dev/peps/pep-0384/>.

(Hey, fellow core developer, if a feature you find important is missing from 
this list, let Łukasz know <mailto:luk...@python.org>.)

The next pre-release, the fifth beta release of Python 3.9, will be 3.9.0b5. It 
is currently scheduled for 2020-07-20.

More resources

Online Documentation <https://docs.python.org/3.9/>
PEP 596 <https://www.python.org/dev/peps/pep-0596/>, 3.9 Release Schedule
Report bugs at https://bugs.python.org <https://bugs.python.org/>.
Help fund Python and its community <https://discuss.python.org/psf/donations/>.
Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/2YXZ35N5IIHC2VXQ3IIFJOX2B32ZJASP/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Recent PEP-8 change (Antoine Pitrou)

2020-07-02 Thread Łukasz Langa

> On 2 Jul 2020, at 21:38, Chris Angelico  wrote:
> 
> Formal proposal: Either request a new commit message from the original
> author, or have someone rewrite it, and we go ahead and make the
> change.

-1

This would be serious precedent to fiddling with publicly replicated repo 
history. This would require coordination with project admins as force-pushes 
are rightfully disabled for our repositories.

Commit messages aren't usually scrutinized to this extent. If you looked at the 
last 1000 commits in cpython, you'd find quite a few with messages that could 
be seriously improved. We don't though because commits are immutable. You can 
revert them but we never downright replace them with different ones. Otherwise 
what's the point in me signing release tags?

Is the commit message perfect? No. Is the intent explained better on the linked 
PR? Yes. Is the change itself good? Also yes.

Formal proposal: leave this alone.

- Ł
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/RED5C5ML2BIOS4RZ23O7M2D3WZKUSPCW/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.4rc1 is now ready for testing

2020-06-30 Thread Łukasz Langa
Python 3.8.4rc1 is the release candidate of the fourth maintenance release of 
Python 3.8. Go get it here:
https://www.python.org/downloads/release/python-384rc1/ 
<https://www.python.org/downloads/release/python-384rc1/>
Assuming no critical problems are found prior to 2020-07-13, the scheduled 
release date for 3.8.4, no code changes are planned between this release 
candidate and the final release.

That being said, please keep in mind that this is a pre-release and as such its 
main purpose is testing.

Maintenance releases for the 3.8 series will continue at regular bi-monthly 
intervals, with 3.8.5 planned for mid-September 2020.

What’s new?

The Python 3.8 series is the newest feature release of the Python language, and 
it contains many new features and optimizations. See the “What’s New in Python 
3.8 <https://docs.python.org/3.8/whatsnew/3.8.html>” document for more 
information about features included in the 3.8 series.

This is the first bugfix release that is considerably smaller than the previous 
three. There’s 20% less changes at 130 commits than the average of previous 
three releases. Detailed information about all changes made in version 3.8.4 
specifically can be found in its change log 
<https://docs.python.org/release/3.8.4rc1/whatsnew/changelog.html#python-3-8-4-release-candidate-1>.

We hope you enjoy Python 3.8!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/VVK3CFZJOB54KKL2QUKCLWSFNSM6BRDV/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Recent PEP-8 change

2020-06-30 Thread Łukasz Langa

> On 30 Jun 2020, at 12:44, Ethan Furman  wrote:
> 
> Of course I don't know if Keara or Guido knew any of this, but it certainly 
> feels to me that the commit message is ostracizing an entire family line 
> because they had the misfortune to have the wrong last name.  In fact, it 
> seems like Strunk & White is making changes to be inclusive in its advice -- 
> exactly what I would have thought we wanted on our side ("our side" being the 
> diverse and welcoming side).

The claim in the commit message that the Strunk & White style contains relics 
of white supremacy might be fair or it might be overblown. I don't know, I'm 
not an expert. Your research on the updated editions and evolving advice looks 
good. (Just note that the most popular edition for people to find is very old 
because it's in the public domain.) In any case, saying that Keara and Guido 
mistook the family name of one of the authors for skin color feels derogatory.

The commit message clearly is controversial but when you say the change itself 
was unnecessary, consider that English is now a language predominantly used 
outside of USA and Great Britain. Relaxing the recommendation to use S & L 
Standard English in the CPython codebase isn't problematic in this sense. That 
recommendation was largely ignored anyway, as core developer voices in the 
other threads already admitted. So, chaos won't ensue. We still want to 
maintain consistency, as PEP 8 recommends. I don't think you have to worry now 
about seeing organization and organisation in the same docstring.


> That's what it felt like:  betrayal.

This entire section of your message is confusing to me. Mind explaining? How 
does a commit message equate stabbing somebody who helped you? What is being 
betrayed in this commit?

- Ł

___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/R6H3TOIFL4E75U2LXOGTEIOT63RKBAZD/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Final reminder: 3.7.8 / 3.6.11 cutoff Monday, last non-security bugfixes for 3.7.x

2020-06-12 Thread Łukasz Langa

> On 12 Jun 2020, at 19:51, Ivan Pozdeev via Python-Dev  
> wrote:
> 
> I would doubt the quality of tags maintenance at Github, too. E.g. 
> https://github.com/python/cpython/pull/12131 
>  is labeled 3.7 and 3.8 at BPO 
> but has no backport tags whatsoever at GH.
> So the search you gave is clearly insufficient.

Tags maintenance isn't about quality but rather about automation. Things 
without backport tags won't get backported unless somebody does it by hand. And 
even automatically created backports need to be created off of committed pull 
requests and need to pass tests to be mergeable. Given the limited time until 
the Monday cutoff, I'd say that almost all of your 700+ BPO open issues that 
list 3.7 as affected will miss the boat on the fixes.

- Ł___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/LFAWYBRRIHR3D7VWSGOOBO6PLRA6SLXJ/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.0b3 is now available for testing

2020-06-09 Thread Łukasz Langa
On behalf of the entire Python development community, and the currently serving 
Python release team in particular, I’m pleased to announce the release of 
Python 3.9.0b3. Get it here:

https://www.python.org/downloads/release/python-390b3/ 
<https://www.python.org/downloads/release/python-390b3/>
Wait, Beta 3? What happened to Beta 2?

Beta 2? Speak of him no more. We disappeared him. He was a bad release. Truly 
awful. I get shivers just thinking about it. Never mention that name again in 
this house.

I mean, long story short, in Beta 2 you couldn’t do 
urllib.request.urlopen("https://www.python.org;).read() because it wouldn’t 
find root certificates due to a bug <https://bugs.python.org/issue40924>. Since 
this was a problem only apparent on an installed Python, it wasn’t identified 
by unit tests and was only found by Ned while he was testing his Mac installer. 
By the time we learned of the severity of the bug I already tagged and 
published the release on python.org <http://python.org/>. That’s why we 
couldn’t just re-do the release under the same version.

Sorry for the trouble. We’re tweaking our release process to catch this problem 
sooner in future releases. Now, back to regular programming…

This is a beta preview of Python 3.9

Python 3.9 is still in development. This release, 3.9.0b3, is the third of five 
planned beta release previews.

Beta release previews are intended to give the wider community the opportunity 
to test new features and bug fixes and to prepare their projects to support the 
new feature release.

Call to action

We strongly encourage maintainers of third-party Python projects to test with 
3.9 during the beta phase and report issues found to the Python bug tracker 
<https://bugs.python.org/> as soon as possible. While the release is planned to 
be feature complete entering the beta phase, it is possible that features may 
be modified or, in rare cases, deleted up until the start of the release 
candidate phase (2020-08-10). Our goal is have no ABI changes after beta 5 and 
as few code changes as possible after 3.9.0rc1, the first release candidate. To 
achieve that, it will be extremely important to get as much exposure for 3.9 as 
possible during the beta phase.

Please keep in mind that this is a preview release and its use is not 
recommended for production environments.

Major new features of the 3.9 series, compared to 3.8

Some of the new major new features and changes in Python 3.9 are:

PEP 584 <https://www.python.org/dev/peps/pep-0584/>, Union Operators in dict

PEP 585 <https://www.python.org/dev/peps/pep-0585/>, Type Hinting Generics In 
Standard Collections

PEP 593 <https://www.python.org/dev/peps/pep-0593/>, Flexible function and 
variable annotations

PEP 602 <https://www.python.org/dev/peps/pep-0602/>, Python adopts a stable 
annual release cadence

PEP 616 <https://www.python.org/dev/peps/pep-0616/>, String methods to remove 
prefixes and suffixes

PEP 617 <https://www.python.org/dev/peps/pep-0617/>, New PEG parser for CPython

BPO 38379 <https://bugs.python.org/issue38379>, garbage collection does not 
block on resurrected objects;

BPO 38692 <https://bugs.python.org/issue38692>, os.pidfd_open added that allows 
process management without races and signals;

BPO 39926 <https://bugs.python.org/issue39926>, Unicode support updated to 
version 13.0.0;

BPO 1635741 <https://bugs.python.org/issue1635741>, when Python is initialized 
multiple times in the same process, it does not leak memory anymore;

A number of Python builtins (range, tuple, set, frozenset, list, dict) are now 
sped up using PEP 590 <https://www.python.org/dev/peps/pep-0590> vectorcall;

A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, 
_functools, _json, _locale, operator, resource, time, _weakref) now use 
multiphase initialization as defined by PEP 489 
<https://www.python.org/dev/peps/pep-0489/>;

A number of standard library modules (audioop, ast, grp, _hashlib, pwd, 
_posixsubprocess, random, select, struct, termios, zlib) are now using the 
stable ABI defined by PEP 384 <https://www.python.org/dev/peps/pep-0384/>.

(Hey, fellow core developer, if a feature you find important is missing from 
this list, let Łukasz know <mailto:luk...@python.org>.)

The next pre-release, the fourth beta release of Python 3.9, will be 3.9.0b4. 
It is currently scheduled for 2020-06-29.

More resources

Online Documentation <https://docs.python.org/3.9/>
PEP 596 <https://www.python.org/dev/peps/pep-0596/>, 3.9 Release Schedule
Report bugs at https://bugs.python.org <https://bugs.python.org/>.
Help fund Python and its community <https://discuss.python.org/psf/donations/>.
Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Ł

[Python-Dev] Re: [python-committers] Please welcome our next Release Manager, Pablo!

2020-05-19 Thread Łukasz Langa
I'm very happy about this!

Pablo is a natural candidate for the role. As one of the people caring for our 
buildbots, he helped me during releases many times. And this past 3.9.0b1, 
while I was working on the new 3.9 maintenance branch, he made the master 
branch successfully build a Python with a double-digit minor version number. 
Strong start!

Welcome!

PS. Thank you for the kind words, Barry, it will take some more releases for me 
to make before I retire: eyes fixed on 3.9.0 in particular. Exciting times! :-)

-- 
Best regards,
Łukasz Langa

> On 20 May 2020, at 00:54, Barry Warsaw  wrote:
> 
> In light of the release of Python 3.9b1, let’s take a moment to celebrate 
> all the great work that our Python 3.8 and 3.9 release manager Łukasz has 
> done.  The role of Python Release Manager is hugely important to each 
> successful release, and it can be a lot of work, often unseen and thankless 
> to shepherd a new Python version through its first alpha release to its last 
> security release.  With all of your immeasurable help, the Release Manager 
> ensures solid, feature-full releases that the entire Python community eagerly 
> awaits.
> 
> Łukasz carries on the fine tradition of all of our past release managers, and 
> now that his second release has entered beta phase, I’m very happy to 
> announce our next Release Manager, for Python 3.10 and 3.11: Pablo Galindo 
> Salgado!
> 
> Since becoming a core developer in 2018, Pablo has contributed significantly 
> to Python.  With the change to an annual release cycle (PEP 602, authored by 
> Łukasz), the time commitment for release managers has been reduced as well, 
> and we will continue to look for ways to make the selection process for 
> release managers more transparent and accessible.  I know that in addition to 
> admirably managing the releases for 3.10 and 3.11, Pablo will also help to 
> continually improve the process of selecting and serving as release manager.
> 
> Please join me in welcoming Pablo in his new role!
> 
> Cheers,
> -Barry
> 
> ___
> python-committers mailing list -- python-committ...@python.org
> To unsubscribe send an email to python-committers-le...@python.org
> https://mail.python.org/mailman3/lists/python-committers.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-committ...@python.org/message/44TLJO5YX6XYM4ICWSHMBMCKPBBQQP5S/
> Code of Conduct: https://www.python.org/psf/codeofconduct/
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/EBUGAIJWJ6DVL2IYHBJQSQGVIK2TV6SD/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.0b1 is now available for testing

2020-05-19 Thread Łukasz Langa
On behalf of the entire Python development community, and the currently serving 
Python release team in particular, I’m pleased to announce the release of 
Python 3.9.0b1. Get it here:

https://www.python.org/downloads/release/python-390b1/ 
<https://www.python.org/downloads/release/python-390b1/>

This is a beta preview of Python 3.9

Python 3.9 is still in development. This release, 3.9.0b1, is the first of four 
planned beta release previews.

Beta release previews are intended to give the wider community the opportunity 
to test new features and bug fixes and to prepare their projects to support the 
new feature release.

Call to action

We strongly encourage maintainers of third-party Python projects to test with 
3.9 during the beta phase and report issues found to the Python bug tracker 
<https://bugs.python.org/> as soon as possible. While the release is planned to 
be feature complete entering the beta phase, it is possible that features may 
be modified or, in rare cases, deleted up until the start of the release 
candidate phase (2020-08-10). Our goal is have no ABI changes after beta 4 and 
as few code changes as possible after 3.9.0rc1, the first release candidate. To 
achieve that, it will be extremely important to get as much exposure for 3.9 as 
possible during the beta phase.

Please keep in mind that this is a preview release and its use is not 
recommended for production environments.

Major new features of the 3.9 series, compared to 3.8

Some of the new major new features and changes in Python 3.9 are:

PEP 584 <https://www.python.org/dev/peps/pep-0584/>, Union Operators in dict

PEP 585 <https://www.python.org/dev/peps/pep-0585/>, Type Hinting Generics In 
Standard Collections

PEP 593 <https://www.python.org/dev/peps/pep-0593/>, Flexible function and 
variable annotations

PEP 602 <https://www.python.org/dev/peps/pep-0602/>, Python adopts a stable 
annual release cadence

PEP 616 <https://www.python.org/dev/peps/pep-0616/>, String methods to remove 
prefixes and suffixes

PEP 617 <https://www.python.org/dev/peps/pep-0617/>, New PEG parser for CPython

BPO 38379 <https://bugs.python.org/issue38379>, garbage collection does not 
block on resurrected objects;

BPO 38692 <https://bugs.python.org/issue38692>, os.pidfd_open added that allows 
process management without races and signals;

BPO 39926 <https://bugs.python.org/issue39926>, Unicode support updated to 
version 13.0.0;

BPO 1635741 <https://bugs.python.org/issue1635741>, when Python is initialized 
multiple times in the same process, it does not leak memory anymore;

A number of Python builtins (range, tuple, set, frozenset, list, dict) are now 
sped up using PEP 590 <https://www.python.org/dev/peps/pep-0590> vectorcall;

A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, 
_functools, _json, _locale, operator, resource, time, _weakref) now use 
multiphase initialization as defined by PEP 489 
<https://www.python.org/dev/peps/pep-0489/>;

A number of standard library modules (audioop, ast, grp, _hashlib, pwd, 
_posixsubprocess, random, select, struct, termios, zlib) are now using the 
stable ABI defined by PEP 384 <https://www.python.org/dev/peps/pep-0384/>.

(Hey, fellow core developer, if a feature you find important is missing from 
this list, let Łukasz know <mailto:luk...@python.org>.)

The next pre-release, the second beta release of Python 3.9, will be 3.9.0b2. 
It is currently scheduled for 2020-06-08.

More resources

Online Documentation <https://docs.python.org/3.9/>
PEP 596 <https://www.python.org/dev/peps/pep-0596/>, 3.9 Release Schedule
Report bugs at https://bugs.python.org <https://bugs.python.org/>.
Help fund Python and its community <https://discuss.python.org/psf/donations/>.
Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/LQGV4LVIQEOM2HRPSAFXBJKDTEBZ2Z5R/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.3 is now available

2020-05-14 Thread Łukasz Langa
On behalf of the entire Python development community, and the currently serving 
Python release team in particular, I’m pleased to announce the release of 
Python 3.8.3, the third maintenance release of Python 3.8. You can find it here:

https://www.python.org/downloads/release/python-383/ 
<https://www.python.org/downloads/release/python-383/>

It contains two months worth of bug fixes. Detailed information about all 
changes made in 3.8.3 can be found in its change log 
<https://docs.python.org/release/3.8.3/whatsnew/changelog.html#python-3-8-3-final>.
 Note that compared to 3.8.2, version 3.8.3 also contains the changes 
introduced in 3.8.3rc1.

The Python 3.8 series is the newest feature release of the Python language, and 
it contains many new features and optimizations. See the “What’s New in Python 
3.8 <https://docs.python.org/3.8/whatsnew/3.8.html>” document for more 
information about features included in the 3.8 series.

Maintenance releases for the 3.8 series will continue at regular bi-monthly 
intervals, with 3.8.4 planned for mid-July 2020.
One more thing

Unless blocked on any critical issue, Monday May 18th will be the release date 
of Python 3.9.0 beta 1. It’s a special release for us because this is when we 
lock the feature set for Python 3.9. If you can help testing the current 
available alpha release, that would be very helpful:

https://www.python.org/downloads/release/python-390a6/ 
<https://www.python.org/downloads/release/python-390a6/>
We hope you enjoy the new Python release!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

https://www.python.org/psf/ <https://www.python.org/psf/>


Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/6HMMY7U7X6ZDNGNSITN5IQZNEV6ND2F6/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.3rc1 is now ready for testing

2020-04-29 Thread Łukasz Langa
Python 3.8.3rc1 is the release candidate of the third maintenance release of 
Python 3.8. Go get it here:

https://www.python.org/downloads/release/python-383rc1/ 
<https://www.python.org/downloads/release/python-383rc1/> 

Assuming no critical problems are found prior to 2020-05-11, the scheduled 
release date for 3.8.3, no code changes are planned between this release 
candidate and the final release.

That being said, please keep in mind that this is a pre-release and as such its 
main purpose is testing.

Maintenance releases for the 3.8 series will continue at regular bi-monthly 
intervals, with 3.8.4 planned for mid-July 2020.

What’s new?

The Python 3.8 series is the newest feature release of the Python language, and 
it contains many new features and optimizations. See the “What’s New in Python 
3.8  <https://docs.python.org/3.8/whatsnew/3.8.html>” document for more 
information about features included in the 3.8 series.

Detailed information about all changes made in version 3.8.3 specifically can 
be found in its change log 
<https://docs.python.org/release/3.8.3rc1/whatsnew/changelog.html#python-3-8-3-release-candidate-1>.

We hope you enjoy Python 3.8!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/XGZBXYQAJFZOLYJPJ7UOLK3O4GZNQDSF/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.0a6 is now available for testing

2020-04-28 Thread Łukasz Langa
On behalf of the entire Python development community, and the currently serving 
Python release team in particular, I’m pleased to announce the release of 
Python 3.9.0a6. Get it here:

https://www.python.org/downloads/release/python-390a6/ 
<https://www.python.org/downloads/release/python-390a6/>
This is an early developer preview of Python 3.9

Python 3.9 is still in development. This release, 3.9.0a6, is the last out of 
six planned alpha releases. Alpha releases are intended to make it easier to 
test the current state of new features and bug fixes and to test the release 
process. During the alpha phase, features may be added up until the start of 
the beta phase (2020-05-18) and, if necessary, may be modified or deleted up 
until the release candidate phase (2020-08-10). Please keep in mind that this 
is a preview release and its use is not recommended for production environments.

Major new features of the 3.9 series, compared to 3.8

Many new features for Python 3.9 are still being planned and written. Among the 
new major new features and changes so far:

PEP 584 <https://www.python.org/dev/peps/pep-0584/>, Union Operators in dict
PEP 585 <https://www.python.org/dev/peps/pep-0585/>, Type Hinting Generics In 
Standard Collections
PEP 593 <https://www.python.org/dev/peps/pep-0593/>, Flexible function and 
variable annotations
PEP 602 <https://www.python.org/dev/peps/pep-0602/>, Python adopts a stable 
annual release cadence
PEP 616 <https://www.python.org/dev/peps/pep-0616/>, String methods to remove 
prefixes and suffixes
PEP 617 <https://www.python.org/dev/peps/pep-0617/>, New PEG parser for CPython
BPO 38379 <https://bugs.python.org/issue38379>, garbage collection does not 
block on resurrected objects;
BPO 38692 <https://bugs.python.org/issue38692>, os.pidfd_open added that allows 
process management without races and signals;
BPO 39926 <https://bugs.python.org/issue39926>, Unicode support updated to 
version 13.0.0
BPO 1635741 <https://bugs.python.org/issue1635741>, when Python is initialized 
multiple times in the same process, it does not leak memory anymore
A number of Python builtins (range, tuple, set, frozenset, list) are now sped 
up using PEP 590 <https://www.python.org/dev/peps/pep-0590> vectorcall
A number of standard library modules (audioop, ast, grp, _hashlib, pwd, 
_posixsubprocess, random, select, struct, termios, zlib) are now using the 
stable ABI defined by PEP 384 <https://www.python.org/dev/peps/pep-0384/>.
(Hey, fellow core developer, if a feature you find important is missing from 
this list, let Łukasz know <mailto:luk...@python.org>.)
The next pre-release, the first beta release of Python 3.9, will be 3.9.0b1. It 
is currently scheduled for 2020-05-18.

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/JJWIXYICQHCEFCJCCXVSWTP5O67UVCQC/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.0a5 is now available for testing

2020-03-23 Thread Łukasz Langa
On behalf of the entire Python development community, and the currently serving 
Python release team in particular, I’m pleased to announce the release of 
Python 3.9.0a5. Get it here:

https://www.python.org/downloads/release/python-390a5/ 
<https://www.python.org/downloads/release/python-390a5/>

This is an early developer preview of Python 3.9

Python 3.9 is still in development. This releasee, 3.9.0a5 is the fifth of six 
planned alpha releases. Alpha releases are intended to make it easier to test 
the current state of new features and bug fixes and to test the release 
process. During the alpha phase, features may be added up until the start of 
the beta phase (2020-05-18) and, if necessary, may be modified or deleted up 
until the release candidate phase (2020-08-10). Please keep in mind that this 
is a preview release and its use is not recommended for production environments.

Major new features of the 3.9 series, compared to 3.8

Many new features for Python 3.9 are still being planned and written. Among the 
new major new features and changes so far:

PEP 584 <https://www.python.org/dev/peps/pep-0584/>, Union Operators in dict
PEP 593 <https://www.python.org/dev/peps/pep-0593/>, Flexible function and 
variable annotations
PEP 602 <https://www.python.org/dev/peps/pep-0602/>, Python adopts a stable 
annual release cadence
BPO 38379 <https://bugs.python.org/issue38379>, garbage collection does not 
block on resurrected objects;
BPO 38692 <https://bugs.python.org/issue38692>, os.pidfd_open added that allows 
process management without races and signals;
BPO 39926 <https://bugs.python.org/issue39926>, Unicode support updated to 
version 13.0.0
BPO 1635741 <https://bugs.python.org/issue1635741>, when Python is initialized 
multiple times in the same process, it does not leak memory anymore
A number of Python builtins (range, tuple, set, frozenset, list) are now sped 
up using PEP 570 <https://www.python.org/dev/peps/pep-0570> vectorcall
A number of standard library modules (audioop, ast, grp, _hashlib, pwd, 
_posixsubprocess, random, select, struct, termios, zlib) are now using the 
stable ABI defined by PEP 384 <https://www.python.org/dev/peps/pep-0384/>.
(Hey, fellow core developer, if a feature you find important is missing from 
this list, let Łukasz know <mailto:luk...@python.org>.)
The next pre-release, the last alpha release of Python 3.9, will be 3.9.0a6. It 
is currently scheduled for 2020-04-22. Until then, stay safe!

Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/QD7NHTGJ4X5N7GIWZ5UBD74PITIAE64Q/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Review status policy [was: PEP 585: Type Hinting Generics ...]

2020-03-16 Thread Łukasz Langa
I submitted a request for consideration to the Steering Council: 
https://github.com/python/steering-council/issues/21

- Ł



> On 14 Mar 2020, at 21:30, Guido van Rossum  wrote:
> 
> Whoops. Here it is: https://github.com/python/steering-council/issues 
> 
> 
> Tested in a private browsing window.
> 
> On Sat, Mar 14, 2020 at 1:21 PM Jonathan Goble  > wrote:
> On Sat, Mar 14, 2020 at 11:55 AM Guido van Rossum  > wrote:
> Maybe this can be done by using the public SC issue tracker: 
> https://mail.google.com/mail/u/0/#inbox/FMfcgxwHMPfZfZKJSsbVCFPXmLBQlHQd 
> 
> 
> That looks like a private Gmail link, possibly a copy-and-paste mixup. Can 
> you give the correct link?
> 
> 
> -- 
> --Guido van Rossum (python.org/~guido )
> Pronouns: he/him (why is my pronoun here?) 
> ___
> Python-Dev mailing list -- python-dev@python.org
> To unsubscribe send an email to python-dev-le...@python.org
> https://mail.python.org/mailman3/lists/python-dev.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-dev@python.org/message/FSE4HBEVBCY6YA3R2WNSLJ4X32ZQNBSM/
> Code of Conduct: http://python.org/psf/codeofconduct/

___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/TILV7Z3FVDA6JSJ6XWANH54O77CNPF2H/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Python 3.8.2 and 3.9.0a4 are now available

2020-02-25 Thread Łukasz Langa
On behalf of the entire Python development community, and the currently serving 
Python release team in particular, I’m pleased to announce the release of two 
of the latest Python editions.

Python 3.8.2

Python 3.8.2 is the second maintenance release of Python 3.8 and contains two 
months worth of bug fixes. Detailed information about all changes made in 3.8.2 
can be found in its change log 
.
 Note that compared to 3.8.1, version 3.8.2 also contains the changes 
introduced in 3.8.2rc1 and 3.8.2rc2.

The Python 3.8 series is the newest feature release of the Python language, and 
it contains many new features and optimizations. You can find Python 3.8.2 here:
https://www.python.org/downloads/release/python-382/ 

See the “What’s New in Python 3.8 
” document for more information 
about features included in the 3.8 series.

Maintenance releases for the 3.8 series will continue at regular bi-monthly 
intervals, with 3.8.3 planned for April 2020 (at the PyCon US sprints 
).

Python 3.9.0a4

An early developer preview of Python 3.9 is also ready:
https://www.python.org/downloads/release/python-390a4/ 

Python 3.9 is still in development. This releasee, 3.9.0a4 is the fourth of six 
planned alpha releases. Alpha releases are intended to make it easier to test 
the current state of new features and bug fixes and to test the release 
process. During the alpha phase, features may be added up until the start of 
the beta phase (2020-05-18) and, if necessary, may be modified or deleted up 
until the release candidate phase (2020-08-10). Please keep in mind that this 
is a preview release and its use is not recommended for production environments.

We hope you enjoy both!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.
https://www.python.org/psf/ 
Your friendly release team,
Ned Deily
Steve Dower
Łukasz Langa___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/YLMHMKLQB23XBMQGSG6HOTK6URA2FB5L/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: PEP 585: Type Hinting Generics In Standard Collections

2020-02-25 Thread Łukasz Langa

> On 25 Feb 2020, at 16:22, Guido van Rossum  wrote:
> 
> Łukasz, do you agree?

As long as we include a form of Nick's explanation in the docs for the type, 
I'm fine with that.

- Ł___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/7EIE47KHZ2KDNTSUZRJNDU5C6SGQUJM6/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] PEP 585: Type Hinting Generics In Standard Collections

2020-02-19 Thread Łukasz Langa
Read in the browser: https://www.python.org/dev/peps/pep-0585/ 
<https://www.python.org/dev/peps/pep-0585/>
Read the source: 
https://raw.githubusercontent.com/python/peps/master/pep-0585.rst 
<https://raw.githubusercontent.com/python/peps/master/pep-0585.rst>


The following PEP has been discussed on typing-sig already and a prototype 
implementation exists for it. I'm extending it now for wider feedback on 
python-dev, with the intent to present the final version for the Steering 
Council's consideration by mid-March.


PEP: 585
Title: Type Hinting Generics In Standard Collections
Author: Łukasz Langa 
Discussions-To: Typing-Sig 
Status: Draft
Type: Standards Track
Content-Type: text/x-rst
Created: 03-Mar-2019
Python-Version: 3.9

Abstract

Static typing as defined by PEPs 484, 526, 544, 560, and 563 was built 
incrementally on top of the existing Python runtime and constrained by existing 
syntax and runtime behavior. This led to the existence of a duplicated 
collection hierarchy in the typing module due to generics (for example 
typing.List and the built-in list).

This PEP proposes to enable support for the generics syntax in all standard 
collections currently available in the typing module.


Rationale and Goals

This change removes the necessity for a parallel type hierarchy in the typing 
module, making it easier for users to annotate their programs and easier for 
teachers to teach Python.


Terminology

Generic (n.) -- a type that can be parametrized, typically a container. Also 
known as a parametric type or a generic type. For example: dict.

Parametrized generic -- a specific instance of a generic with the expected 
types for container elements provided. Also known as a parametrized type. For 
example: dict[str, int].


Backwards compatibility

Tooling, including type checkers and linters, will have to be adapted to 
recognize standard collections as generics.

On the source level, the newly described functionality requires Python 3.9. For 
use cases restricted to type annotations, Python files with the "annotations" 
future-import (available since Python 3.7) can parametrize standard 
collections, including builtins. To reiterate, that depends on the external 
tools understanding that this is valid.


Implementation

Starting with Python 3.7, when from __future__ import annotations is used, 
function and variable annotations can parametrize standard collections 
directly. Example:

from __future__ import annotations

def find(haystack: dict[str, list[int]]) -> int:
...
Usefulness of this syntax before PEP 585 
<https://www.python.org/dev/peps/pep-0585> is limited as external tooling like 
Mypy does not recognize standard collections as generic. Moreover, certain 
features of typing like type aliases or casting require putting types outside 
of annotations, in runtime context. While these are relatively less common than 
type annotations, it's important to allow using the same type syntax in all 
contexts. This is why starting with Python 3.9, the following collections 
become generic using __class_getitem__() to parametrize contained types:

tuple # typing.Tuple
list # typing.List
dict # typing.Dict
set # typing.Set
frozenset # typing.FrozenSet
type # typing.Type
collections.deque
collections.defaultdict
collections.OrderedDict
collections.Counter
collections.ChainMap
collections.abc.Awaitable
collections.abc.Coroutine
collections.abc.AsyncIterable
collections.abc.AsyncIterator
collections.abc.AsyncGenerator
collections.abc.Iterable
collections.abc.Iterator
collections.abc.Generator
collections.abc.Reversible
collections.abc.Container
collections.abc.Collection
collections.abc.Callable
collections.abc.Set # typing.AbstractSet
collections.abc.MutableSet
collections.abc.Mapping
collections.abc.MutableMapping
collections.abc.Sequence
collections.abc.MutableSequence
collections.abc.ByteString
collections.abc.MappingView
collections.abc.KeysView
collections.abc.ItemsView
collections.abc.ValuesView
contextlib.AbstractContextManager # typing.ContextManager
contextlib.AbstractAsyncContextManager # typing.AsyncContextManager
re.Pattern # typing.Pattern, typing.re.Pattern
re.Match # typing.Match, typing.re.Match
Importing those from typing is deprecated. Due to PEP 563 
<https://www.python.org/dev/peps/pep-0563> and the intention to minimize the 
runtime impact of typing, this deprecation will not generate 
DeprecationWarnings. Instead, type checkers may warn about such deprecated 
usage when the target version of the checked program is signalled to be Python 
3.9 or newer. It's recommended to allow for those warnings to be silenced on a 
project-wide basis.

The deprecated functionality will be removed from the typing module in the 
first Python version released 5 years after the release of Python 3.9.0.

Parameters to generics are available at runtime

Preserving the generic type at runtime enables introspection of the type which 
can be used for AP

[Python-Dev] [RELEASE] Python 3.8.2rc2 is now available for testing

2020-02-18 Thread Łukasz Langa
Python 3.8.2rc2 is the second release candidate of the second maintenance 
release of Python 3.8. Go get it here:

https://www.python.org/downloads/release/python-382rc2/ 


Why a second release candidate?

The major reason for RC2 is that GH-16839 
 has been reverted.

The original change was supposed to fix for some edge cases in urlparse 
(numeric paths, recognizing netlocs without //; details in BPO-27657 
). Unfortunately it broke third parties 
relying on the pre-existing undefined behavior.

Sadly, the reverted fix has already been released as part of 3.8.1 (and 3.7.6 
where it’s also reverted now). As such, even though the revert is itself a bug 
fix, it is incompatible with the behavior of 3.8.1.

Please test.


Timeline

Assuming no critical problems are found prior to 2020-02-24, the currently 
scheduled release date for 3.8.2 (as well as 3.9.0 alpha 4!), no code changes 
are planned between this release candidate and the final release.

That being said, please keep in mind that this is a pre-release of 3.8.2 and as 
such its main purpose is testing.

Maintenance releases for the 3.8 series will continue at regular bi-monthly 
intervals, with 3.8.3 planned for April 2020 (during sprints at PyCon US).


What’s new?

The Python 3.8 series is the newest feature release of the Python language, and 
it contains many new features and optimizations. See the “What’s New in Python 
3.8 ” document for more 
information about features included in the 3.8 series.

Detailed information about all changes made in version 3.8.2 specifically can 
be found in its change log 
.


We hope you enjoy Python 3.8!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

https://www.python.org/psf/ 


- Ł___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/DW2XBRKSZZCREQ42HSPTJIGFTKXQGW2X/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.2rc1 is now available for testing

2020-02-11 Thread Łukasz Langa
Python 3.8.2rc1 is the release candidate of the second maintenance release of 
Python 3.8. Go get it here:

https://www.python.org/downloads/release/python-382rc1/ 


Assuming no critical problems are found prior to 2020-02-17, the scheduled 
release date for 3.8.2 (as well as 3.9.0 alpha 4!), no code changes are planned 
between this release candidate and the final release.
That being said, please keep in mind that this is a pre-release of 3.8.2 and as 
such its main purpose is testing.

Maintenance releases for the 3.8 series will continue at regular bi-monthly 
intervals, with 3.8.3 planned for April 2020 (during sprints at PyCon US).

What’s new?

The Python 3.8 series is the newest feature release of the Python language, and 
it contains many new features and optimizations. See the “What’s New in Python 
3.8 ” document for more 
information about features included in the 3.8 series.

Detailed information about all changes made in version 3.8.2 specifically can 
be found in its change log 
.

We hope you enjoy Python 3.8!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

https://www.python.org/psf/ 


- Ł
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/TNYC4DPNMKAGRERBFEXTJ4RE4CRB7WW3/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.0a3 available for testing

2020-01-25 Thread Łukasz Langa
Go get it here: https://www.python.org/downloads/release/python-390a3/ 

This is an early developer preview of Python 3.9

Python 3.9 is still in development. This releasee, 3.9.0a3 is the third of six 
planned alpha releases. Alpha releases are intended to make it easier to test 
the current state of new features and bug fixes and to test the release 
process. During the alpha phase, features may be added up until the start of 
the beta phase (2020-05-18) and, if necessary, may be modified or deleted up 
until the release candidate phase (2020-08-10). Please keep in mind that this 
is a preview release and its use is not recommended for production environments.

Major new features of the 3.9 series, compared to 3.8

Many new features for Python 3.9 are still being planned and written. Among the 
new major new features and changes so far:

PEP 602 , Python adopts a stable 
annual release cadence
BPO 38379 , garbage collection does not 
block on resurrected objects;
BPO 38692 , os.pidfd_open added that allows 
process management without races and signals;
A number of standard library modules (audioop, ast, grp, _hashlib, pwd, 
_posixsubprocess, random, select, struct, termios, zlib) are now using the 
stable ABI defined by PEP 384 .
(Hey, fellow core developer, if a feature you find important is missing from 
this list, let Łukasz know .)
The next pre-release of Python 3.9 will be 3.9.0a4, currently scheduled for 
2020-02-17.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/TKAEOO7YAF3WOE5GVNA7XLVMU3ECAAO4/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.1, 3.7.6, 3.6.10, and 3.9.0a2 are now available!

2019-12-19 Thread Łukasz Langa
from locale import seasons_greetings
seasons_greetings()

On behalf of the entire Python development community, and the currently serving 
Python release team in particular, I'm pleased to announce the unprecedented 
combined release of no less than four versions of Python. Let's dig in!


Python 3.8.1

Python 3.8.1 is the first maintenance release of Python 3.8.

The Python 3.8 series is the newest feature release of the Python language, and 
it contains many new features and optimizations. You can find Python 3.8.1 here:

https://www.python.org/downloads/release/python-381/ 
<https://www.python.org/downloads/release/python-381/>

See the “What’s New in Python 3.8 
<https://docs.python.org/3.8/whatsnew/3.8.html>” document for more information 
about features included in the 3.8 series. Detailed information about all 
changes made in 3.8.1 can be found in its change log 
<https://docs.python.org/release/3.8.1/whatsnew/changelog.html#changelog>.

Maintenance releases for the 3.8 series will continue at regular bi-monthly 
intervals, with 3.8.2 planned for February 2020.



Python 3.7.6

Python 3.7.6, the next bugfix release of Python 3.7, is also available. You can 
find the release files, a link to the change log, and more information here:

https://www.python.org/downloads/release/python-376/ 
<https://www.python.org/downloads/release/python-376/>



Python 3.9.0a2

An early developer preview of Python 3.9 is also ready: 
https://www.python.org/downloads/release/python-390a2/ 
<https://www.python.org/downloads/release/python-390a2/>

Python 3.9 is still in development. This releasee, 3.9.0a2 is the second of six 
planned alpha releases. Alpha releases are intended to make it easier to test 
the current state of new features and bug fixes and to test the release 
process. During the alpha phase, features may be added up until the start of 
the beta phase (2020-05-18) and, if necessary, may be modified or deleted up 
until the release candidate phase (2020-08-10). Please keep in mind that this 
is a preview release and its use is not recommended for production environments.


Python 3.6.10

And, one more thing: Python 3.6.10, the next security fix release of Python 
3.6, is also available:

https://www.python.org/downloads/release/python-3610/ 
<https://www.python.org/downloads/release/python-3610/>



We hope you enjoy all those!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

https://www.python.org/psf/ <https://www.python.org/psf/>


Your friendly release team,
Ned Deily
Steve Dower
Łukasz Langa


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/6T5GL5LN6OC5QY32Y6RV5VN335NNRHAO/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: [RELEASE] Python 3.8.1rc1 is now available for testing

2019-12-10 Thread Łukasz Langa

> On 10 Dec 2019, at 13:01, Miro Hrončok  wrote:
> 
> On 10. 12. 19 10:22, Łukasz Langa wrote:
>> Python 3.8.1rc1 is the release candidate of the first maintenance release of 
>> Python 3.8.
>> The Python 3.8 series is the newest feature release of the Python language, 
>> and it contains many new features and optimizations. You can find Python 
>> 3.8.1rc1 here:
>> https://www.python.org/downloads/release/python-381rc1/
> 
> Hey Łukasz. Could you please also push the tag to gihub?

Done.

- Ł



signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/JFORWNC2DYRTEJEJPOCM6G4LAGQAE3QI/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: [RELEASE] Python 3.8.1rc1 is now available for testing

2019-12-10 Thread Łukasz Langa

> On 10 Dec 2019, at 14:16, Christian Tismer  wrote:
> 
> Please let me know how you want to proceed.
> This is a critical error, producing negative refcounts.

Is there a BPO issue for this? If not, there should be, let's discuss there. Is 
this a 3.8 regression?

3.8.1 proper is next Monday, if this fix is handled quickly it will land in 
3.8.1.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/X4V3MV5BKWCG6T7Q6R2CTJUXE5HPQPJD/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.1rc1 is now available for testing

2019-12-10 Thread Łukasz Langa
Python 3.8.1rc1 is the release candidate of the first maintenance release of 
Python 3.8.

The Python 3.8 series is the newest feature release of the Python language, and 
it contains many new features and optimizations. You can find Python 3.8.1rc1 
here:

https://www.python.org/downloads/release/python-381rc1/ 

Assuming no critical problems are found prior to 2019-12-16, the scheduled 
release date for 3.8.1 as well as Ned Deily's birthday, no code changes are 
planned between this release candidate and the final release.

That being said, please keep in mind that this is a pre-release of 3.8.1 and as 
such its main purpose is testing.

See the “What’s New in Python 3.8 
” document for more information 
about features included in the 3.8 series. Detailed information about all 
changes made in 3.8.0 can be found in its change log.

Maintenance releases for the 3.8 series will continue at regular bi-monthly 
intervals, with 3.8.2 planned for February 2020.

We hope you enjoy Python 3.8!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

https://www.python.org/psf/ 


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/IGJ6ZOAOT2WFY5ZIPRQNTHOSUMPUAO2H/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: [RELEASE] Python 3.9.0a1 available for testing

2019-11-20 Thread Łukasz Langa
Good catch, I didn't update that.

-- 
Best regards,
Łukasz Langa

> On 20 Nov 2019, at 18:59, Steve Dower  wrote:
> 
> On 19Nov2019 1708, Łukasz Langa wrote:
>> Go get it here: https://www.python.org/downloads/release/python-390a1/ 
>> <https://www.python.org/downloads/release/python-390a1/>
> 
> Is it intentional that this link does not appear on 
> https://www.python.org/download/pre-releases/ ?
> 
> Cheers,
> Steve
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/ZGLBBJEU5GDYIEQ2ELUJ7LRNIINU5HHP/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.9.0a1 available for testing

2019-11-19 Thread Łukasz Langa
Go get it here: https://www.python.org/downloads/release/python-390a1/ 

This is an early developer preview of Python 3.9

Python 3.9 is still in development. This releasee, 3.9.0a1 is the first of six 
planned alpha releases. Alpha releases are intended to make it easier to test 
the current state of new features and bug fixes and to test the release 
process. During the alpha phase, features may be added up until the start of 
the beta phase (2020-05-18) and, if necessary, may be modified or deleted up 
until the release candidate phase (2020-08-10). Please keep in mind that this 
is a preview release and its use is not recommended for production environments.

Major new features of the 3.9 series, compared to 3.8

Many new features for Python 3.9 are still being planned and written. Among the 
new major new features and changes so far:

PEP 602 , Python adopts a stable 
annual release cadence
BPO 38379 , garbage collection does not 
block on resurrected objects;
BPO 38692 , os.pidfd_open added that allows 
process management without races and signals;
A number of standard library modules (audioop, ast, grp, _hashlib, pwd, 
_posixsubprocess, random, select, struct, termios, zlib) are now using the 
stable ABI defined by PEP 384 .
(Hey, fellow core developer, if a feature you find important is missing from 
this list, let Łukasz know .)
The next pre-release of Python 3.9 will be 3.9.0a2, currently scheduled for 
2019-12-16.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/G2A2PXSKK7IZOLLIDC455F33SWRZTX6A/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Accepting PEP 602 -- Annual Release Cycle for Python

2019-10-30 Thread Łukasz Langa

> On 30 Oct 2019, at 20:26, Brett Cannon  wrote:
> 
> On behalf of the steering council I am happy to announce that as 
> BDFL-Delegate I am accepting PEP 602 to move us to an annual release schedule 
> (gated on a planned update; see below).

Thank you, I'm excited!


Nit:

> * 3 months for betas instead of 2

3 months instead of 4. But keep the number of releases, just compressing the 
timing between them slightly.


> * 2 months for RCs instead of 1

Yes. This allows for synchronizing the schedule of Python release management 
with Fedora. They've been historically very helpful in early finding 
regressions not only in core Python but also in third-party libraries, helping 
moving the community forward. It seems like a bargain to make a slight 
adjustment of our schedule to help Fedora help us make 3.9 and beyond better 
releases.

I'll make the necessary adjustments to PEP 602 first thing in the morning (hi 
from Poland!).


> As part of the shift to a 2 year deprecation time frame I will be restarting 
> discussions around PEP 387 as BDFL-Delegate so we can have a more clear 
> deprecation and backwards-compatibility policy as well for those that find an 
> annual cycle too fast which will be updated to reflect this two year time 
> frame (head's up, Benjamin ).

Looking forward to that!

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/SRCNMKRQFAKIWB7MZ34WB6REYUGVZIVK/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: [RELEASE] Python 3.8.0 is now available

2019-10-15 Thread Łukasz Langa

> On 15 Oct 2019, at 06:37, Glenn Linderman  wrote:
> 
>> I look forward to using Python 3.8.0.
>> 
>> However, having installed it, I then needed to install brotli, so I ran pip 
>> install brotli, and that worked, but I was very surprised to get told:
>> 
>> You are using pip version 18.1, however version 19.3 is available.
>> You should consider upgrading via the 'python -m pip install --upgrade pip' 
>> command.
>> 
>> The upgrade worked, but why would the newest, just-released version of 
>> Python not include the newest version of pip?
>> 
>> Glenn

The reason why ensurepip is complaining on 3.8 (and it is) is that pip 19.3 was 
released on the same day as 3.8.0. Like any other part of CPython, it takes a 
while to stabilize ensurepip and I wouldn't update it for 3.8.0 at any point 
after RC1 was released unless it fixed a critical bug.

Admittedly, it is a bit surprising to say the least to have pip outdated from 
Day 1. However, keep in mind that pip is a relatively fast-moving external 
project and it was a matter of time for ensurepip to go out of date. In fact, 
it's pretty much guaranteed to happen sooner or later.

I wouldn't worry about it.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/LXE6OM4JAAKMNZQA7WTP3GYEXCRUBUWU/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] [RELEASE] Python 3.8.0 is now available

2019-10-14 Thread Łukasz Langa
On behalf of the Python development community and the Python 3.8 release team, 
I’m pleased to announce the availability of Python 3.8.0.

Python 3.8.0 is the newest feature release of the Python language, and it 
contains many new features and optimizations. You can find Python 3.8.0 here:

https://www.python.org/downloads/release/python-380/ 

Most third-party distributors of Python should be making 3.8.0 packages 
available soon.

See the “What’s New in Python 3.8 
” document for more information 
about features included in the 3.8 series. Detailed information about all 
changes made in 3.8.0 can be found in its change log.

Maintenance releases for the 3.8 series will follow at regular bi-monthly 
intervals starting in December of 2019.

We hope you enjoy Python 3.8!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

https://www.python.org/psf/ 

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/I5FA3MOY3QNOUKIDIWVLDRDQ5KSACYOG/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] I'm working on the release of Python 3.8.0 right now

2019-10-14 Thread Łukasz Langa
Please hold your breath. Unless you have some last minute blocker, then let me 
know immediately.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/4US26R2TJWKABZC46JDRN24DMCTAVZTU/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: [RELEASE] Python 3.8.0rc1 is now available

2019-10-01 Thread Łukasz Langa

> On 1 Oct 2019, at 21:54, Miro Hrončok  wrote:
> 
> On 01. 10. 19 21:35, Łukasz Langa wrote:
>> Python 3.8.0 is *almost* ready. After a rather tumultuous few days, we are 
>> very happy to announce the availability of the release candidate:
>> https://www.python.org/downloads/release/python-380rc1/
>> This release, *3.8.0rc1*, is the final planned release preview. Assuming no 
>> critical problems are found prior to *2019-10-14*, the scheduled release 
>> date for *3.8.0*, no code changes are planned between this release candidate 
>> and the final release.
> 
> I don't see the v3.8.0rc1 tag on GitHub.
> https://github.com/python/cpython/tree/v3.8.0rc1 gives 404

I was still working on that at the time, it's been fixed here: 
https://github.com/python/cpython/commits/3.8?author=ambv

Man, you're fast :-)

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/OLIVYCSY6C42U4PP4XQJPJ5NC2HJP3SL/


[Python-Dev] [RELEASE] Python 3.8.0rc1 is now available

2019-10-01 Thread Łukasz Langa
Python 3.8.0 is almost ready. After a rather tumultuous few days, we are very 
happy to announce the availability of the release candidate:

https://www.python.org/downloads/release/python-380rc1/ 


This release, 3.8.0rc1, is the final planned release preview. Assuming no 
critical problems are found prior to 2019-10-14, the scheduled release date for 
3.8.0, no code changes are planned between this release candidate and the final 
release.
Please keep in mind that this is not the gold release yet and as such its use 
is not recommended for production environments.

Major new features of the 3.8 series, compared to 3.7

Some of the new major new features and changes in Python 3.8 are:

PEP 572 , Assignment expressions
PEP 570 , Positional-only arguments
PEP 587 , Python Initialization 
Configuration (improved embedding)
PEP 590 , Vectorcall: a fast calling 
protocol for CPython
PEP 578 , Runtime audit hooks
PEP 574 , Pickle protocol 5 with 
out-of-band data
Typing-related: PEP 591  (Final 
qualifier), PEP 586  (Literal types), 
and PEP 589  (TypedDict)
Parallel filesystem cache for compiled bytecode
Debug builds share ABI as release builds
f-strings support a handy = specifier for debugging
continue is now legal in finally: blocks
on Windows, the default asyncio event loop is now ProactorEventLoop
on macOS, the spawn start method is now used by default in multiprocessing
multiprocessing can now use shared memory segments to avoid pickling costs 
between processes
typed_ast is merged back to CPython
LOAD_GLOBAL is now 40% faster
pickle now uses Protocol 4 by default, improving performance
(Hey, fellow core developer, if a feature you find important is missing from 
this list, let Łukasz know .)
Call to action: focus on the docs now

Are all your changes properly documented?
Did you notice other changes you know of to have insufficient documentation?
Can you help with the “What’s New 
” document?

- Ł



signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/ECJX7GJHXZWJINLDGEAG42YQ32IYVBFL/


[Python-Dev] Re: [python-committers] Currently working on the release of Python 3.8.0rc1

2019-10-01 Thread Łukasz Langa
I merged it. In the future: you can use priorities on BPO issues to make it 
more visible.

- Ł



> On 1 Oct 2019, at 07:03, Giampaolo Rodola'  wrote:
> 
> Hello Łukasz,
> I consider this one critical enough to get into 3.8:
> https://bugs.python.org/issue38319 <https://bugs.python.org/issue38319>
> Long story short: shutil.copyfile() and socket.sendfile() are broken on 
> 32-bit platforms for files >= 2GiB.
> shutil.copyfile() was modified by me in the 3.8 cycle so the bug only affects 
> 3.8 and 3.9.
> 
> 
> On Mon, Sep 30, 2019 at 3:48 PM Łukasz Langa  <mailto:luk...@langa.pl>> wrote:
> Team,
> amazing job on getting us back on track over the weekend.
> 
> Thank you
> All release blockers and deferred release blockers solved. And there was 
> relatively little additional activity on the branch -- as expected at this 
> point! Thank you for this, it will help get the release candidate out on time.
> 
> I'm working on cutting RC1 today
> Hopefully all sanity checks, as well as building the source tarball and the 
> binary installers for macOS and Windows will all work out fine and we'll be 
> seeing RC1 out tonight.
> 
> RC2 and the date of 3.8.0 gold
> If we manage to avoid the need for RC2, we will be able to release 3.8.0 on 
> October 14th. If we need an RC2, that will slip by a week. I hope we won't. 
> Ideally RC1 should be identical codewise to 3.8.0.
> 
> To help our chances, please avoid any source-related activity on the 3.8 
> branch from now until the release of 3.8.0. Yes, that also counts for bug 
> fixes unless they are critical. (Yeah, it might be a bit annoying but nobody 
> wants to be the person who introduced a last minute regression in a major 
> release.)
> 
> Note I didn't say I forbid any activity. I have no power over you, actually. 
> More importantly though, I trust your judgement if you assess some bug is bad 
> enough the fix absolutely has to get into 3.8.0. Moreover, I specifically 
> said source-related activity because...
> 
> 3.8.0 is important. To some users it will be the first and the last release 
> in the 3.8 series they will see.
> 
> We need you to focus on the docs now
> Are all your changes properly documented?
> Did you notice other changes you know of to have insufficient documentation?
> Can you help with the "What's New" document?
> 
> anxiously configure-&&-makingly y'rs
> - Ł
> ___
> python-committers mailing list -- python-committ...@python.org 
> <mailto:python-committ...@python.org>
> To unsubscribe send an email to python-committers-le...@python.org 
> <mailto:python-committers-le...@python.org>
> https://mail.python.org/mailman3/lists/python-committers.python.org/ 
> <https://mail.python.org/mailman3/lists/python-committers.python.org/>
> Message archived at 
> https://mail.python.org/archives/list/python-committ...@python.org/message/ACMKEQNGK4FVUIZ6TYD5H26OSPIO5GSN/
>  
> <https://mail.python.org/archives/list/python-committ...@python.org/message/ACMKEQNGK4FVUIZ6TYD5H26OSPIO5GSN/>
> Code of Conduct: https://www.python.org/psf/codeofconduct/ 
> <https://www.python.org/psf/codeofconduct/>
> 
> 
> --
> Giampaolo - http://grodola.blogspot.com <http://grodola.blogspot.com/>
> 



signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/V2IRS7TBDMB7FOGQSCHD2NGGJ4F2USN3/


[Python-Dev] Re: [python-committers] Currently working on the release of Python 3.8.0rc1

2019-09-30 Thread Łukasz Langa

> On 30 Sep 2019, at 16:09, Nick Coghlan  wrote:
> 
> I've filed https://bugs.python.org/issue38326 as a release blocker, as
> I don't think we should be cutting RCs when changes have been made to
> a PEP-approved API without any pre-merge design discussion.

Nick, Victor, as co-authors of said PEP, please reach a decision ASAP.

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/BB6Q6WVKJC6F7SX4XVVJIFS2I7NFI322/


[Python-Dev] Currently working on the release of Python 3.8.0rc1

2019-09-30 Thread Łukasz Langa
Team,
amazing job on getting us back on track over the weekend.

Thank you
All release blockers and deferred release blockers solved. And there was 
relatively little additional activity on the branch -- as expected at this 
point! Thank you for this, it will help get the release candidate out on time.

I'm working on cutting RC1 today
Hopefully all sanity checks, as well as building the source tarball and the 
binary installers for macOS and Windows will all work out fine and we'll be 
seeing RC1 out tonight.

RC2 and the date of 3.8.0 gold
If we manage to avoid the need for RC2, we will be able to release 3.8.0 on 
October 14th. If we need an RC2, that will slip by a week. I hope we won't. 
Ideally RC1 should be identical codewise to 3.8.0.

To help our chances, please avoid any source-related activity on the 3.8 branch 
from now until the release of 3.8.0. Yes, that also counts for bug fixes unless 
they are critical. (Yeah, it might be a bit annoying but nobody wants to be the 
person who introduced a last minute regression in a major release.)

Note I didn't say I forbid any activity. I have no power over you, actually. 
More importantly though, I trust your judgement if you assess some bug is bad 
enough the fix absolutely has to get into 3.8.0. Moreover, I specifically said 
source-related activity because...

3.8.0 is important. To some users it will be the first and the last release in 
the 3.8 series they will see.

We need you to focus on the docs now
Are all your changes properly documented?
Did you notice other changes you know of to have insufficient documentation?
Can you help with the "What's New" document?

anxiously configure-&&-makingly y'rs
- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/ACMKEQNGK4FVUIZ6TYD5H26OSPIO5GSN/


[Python-Dev] ATTENTION: Python 3.8.0rc1 is due on Monday, Sep 30th

2019-09-27 Thread Łukasz Langa
Hello fellow core developers and testers,
as documented in PEP 569, we're less than 72 hours away from tagging the 
release candidate of Python 3.8.0. Ideally we'd only need one.

Sadly, at the moment we're looking rather miserable release-blocker wise:

https://bugs.python.org/issue?%40action=search&%40columns=activity&%40columns=id&%40columns=status&%40columns=title&%40pagesize=50&%40sort=activity&%40sortdir=on&%40startwith=0=file%3Acontent=1=1=22
 



The buildbots look better but they're also not perfect (there's too much red in 
recent history):

https://buildbot.python.org/all/#/grid?branch=3.8=stable 



If you're on any of the release blockers, please work on fixing them ASAP.
If you're not on any release blockers, please avoid any commits to 3.8 for the 
time being.
The release candidate should ideally *be* 3.8.0, we don't want any untested 
last-minute changes.


Stabilizingly y'rs
- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/IMCHZQGXRA2DAHCAQ33WMPGNA7KDVBFS/


[Python-Dev] Python library maintainers: PEP 602 needs your feedback

2019-09-10 Thread Łukasz Langa
Hey there, Python library maintainers!
Python is looking into increasing its release cadence. You can read the current 
proposal here: https://python.org/dev/peps/pep-0602/ 


More importantly, we need your input. Read the PEP and please let us know what 
you think via this form:
https://forms.gle/fA1FDhtna9sFnckk9 

Free-form discussion is happening here:
https://discuss.python.org/t/pep-602-annual-release-cycle-for-python/2296/ 


Thanks in advance,
Ł

Python 3.8 and 3.9 Release Manager


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/WQ64ZGBECFDIRO6DS7JN3NALYDJGPAAE/


[Python-Dev] [RELEASE] ACTION REQUIRED: Python 3.8.0b4 now available for testing

2019-08-30 Thread Łukasz Langa
It's time for the last beta release of Python 3.8. Go find it at:

https://www.python.org/downloads/release/python-380b4/ 



This release is the last of four planned beta release previews. Beta release 
previews are intended to give the wider community the opportunity to test new 
features and bug fixes and to prepare their projects to support the new feature 
release. The next pre-release of Python 3.8 will be 3.8.0c1, the first release 
candidate, currently scheduled for 2019-09-30.

Call to action

We strongly encourage maintainers of third-party Python projects to test with 
3.8 during the beta phase and report issues found to the Python bug tracker as 
soon as possible. Please note this is the last beta release, there is not much 
time left to identify and fix issues before the release of 3.8.0. If you were 
hesitating trying it out before, now is the time.

While the release is planned to be feature complete entering the beta phase, it 
is possible that features may be modified or, in rare cases, deleted up until 
the start of the release candidate phase (2019-09-30). Our goal is have no ABI 
changes after beta 3 and no code changes after 3.8.0c1, the release candidate.

To achieve that, it will be extremely important to get as much exposure for 3.8 
as possible during the beta phase. That beta phase is coming to an end. Please 
test now.

Please keep in mind that this is a preview release and its use is not 
recommended for production environments.

Acknowledgments

Many developers worked hard for the past four weeks to squash remaining bugs, 
some requiring non-obvious decisions. Many thanks to the most active, namely 
Raymond Hettinger, Steve Dower, Victor Stinner, Terry Jan Reedy, Serhiy 
Storchaka, Pablo Galindo Salgado, Tal Einat, Zackery Spytz, Ronald Oussoren, 
Neil Schemenauer, Inada Naoki, Christian Heimes, and Andrew Svetlov.

3.8.0 would not reach the Last Beta without you. Thank you!


- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/AP7O65CDZWNWGCLJBRYLW3AP5H4L3MRK/


[Python-Dev] [RELEASE] Python 3.8.0b3 is now available for testing

2019-07-29 Thread Łukasz Langa
This time without delays, I present you Python 3.8.0b3:

https://www.python.org/downloads/release/python-380b3/ 


This release is the third of four planned beta release previews. Beta release 
previews are intended to give the wider community the opportunity to test new 
features and bug fixes and to prepare their projects to support the new feature 
release. The next pre-release of Python 3.8 will be 3.8.0b4, the last beta 
release, currently scheduled for 2019-08-26.

Call to action

We strongly encourage maintainers of third-party Python projects to test with 
3.8 during the beta phase and report issues found to the Python bug tracker 
 as soon as possible. While the release is planned to 
be feature complete entering the beta phase, it is possible that features may 
be modified or, in rare cases, deleted up until the start of the release 
candidate phase (2019-09-30). Our goal is have no ABI changes after beta 3 and 
no code changes after 3.8.0rc1, the release candidate. To achieve that, it will 
be extremely important to get as much exposure for 3.8 as possible during the 
beta phase.

Please keep in mind that this is a preview release and its use is not 
recommended for production environments.

Last beta coming

Beta 4 can only be released if all “Release blocker” and “Deferred blocker” 
issues on bugs.python.org  for 3.8.0 are resolved. 
Please prioritize those for the next four weeks.

Acknowledgements

Thanks to our binary builders, Ned and Steve, who were very quick today to get 
the macOS and Windows installers ready. The Windows story in particular got 
pretty magical, it’s now really fully automatic end-to-end.

Thanks to Victor for vastly improving the reliability of multiprocessing tests 
since Beta 2.

Thanks to Pablo for keeping the buildbots green.


- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/BCIHRB5N6AKPCBVO4TQYSYSPOBMV3GXL/


[Python-Dev] [RELEASE] Python 3.8.0b2 is now available for testing

2019-07-04 Thread Łukasz Langa
After a few days of delay, but somewhat cutely timed with the US Independence 
Day, I present you Python 3.8.0b2:

https://www.python.org/downloads/release/python-380b2/ 


This release is the second of four planned beta release previews. Beta release 
previews are intended to give the wider community the opportunity to test new 
features and bug fixes and to prepare their projects to support the new feature 
release. The next pre-release of Python 3.8 will be 3.8.0b3, currently 
scheduled for 2019-07-29.

Call to action

We strongly encourage maintainers of third-party Python projects to test with 
3.8 during the beta phase and report issues found to the Python bug tracker 
 as soon as possible. While the release is planned to 
be feature complete entering the beta phase, it is possible that features may 
be modified or, in rare cases, deleted up until the start of the release 
candidate phase (2019-09-30). Our goal is have no ABI changes after beta 3 and 
no code changes after 3.8.0rc1, the release candidate. To achieve that, it will 
be extremely important to get as much exposure for 3.8 as possible during the 
beta phase.

Please keep in mind that this is a preview release and its use is not 
recommended for production environments.

No more non-bugfixes allowed on the “3.8” branch

The time has come, team. Please help make Python 3.8 as stable as possible and 
keep all features not currently landed for Python 3.9. Don’t fret, it’ll come 
faster than you think.


- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/IOPMOE7BAZMGBPXLTEXGUIQ53ZIUU3KJ/


[Python-Dev] PEP 596 proposes doubling the release cadence

2019-06-06 Thread Łukasz Langa
PEP body and discussion link:
https://discuss.python.org/t/pep-596-python-3-9-release-schedule-doubling-the-release-cadence/1828

- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/Y4XFD7OW5J4ULITO2SSPAWSZ2L76UGMU/


[Python-Dev] [RELEASE] Python 3.8.0b1 is now available for testing

2019-06-04 Thread Łukasz Langa
The time has come for Python 3.8.0b1:
https://www.python.org/downloads/release/python-380b1/ 

This release is the first of four planned beta release previews. Beta release 
previews are intended to give the wider community the opportunity to test new 
features and bug fixes and to prepare their projects to support the new feature 
release. The next pre-release of Python 3.8 will be 3.8.0b2, currently 
scheduled for 2019-07-01.


Call to action

We strongly encourage maintainers of third-party Python projects to test with 
3.8 during the beta phase and report issues found to the Python bug tracker 
 as soon as possible. While the release is planned to 
be feature complete entering the beta phase, it is possible that features may 
be modified or, in rare cases, deleted up until the start of the release 
candidate phase (2019-09-30). Our goal is have no ABI changes after beta 3 and 
no code changes after 3.8.0rc1, the release candidate. To achieve that, it will 
be extremely important to get as much exposure for 3.8 as possible during the 
beta phase.

Please keep in mind that this is a preview release and its use is not 
recommended for production environments.


A new challenger has appeared!

With the release of Python 3.8.0b1, development started on Python 3.9. The 
“master” branch in the cpython repository now tracks development of 3.9 while 
Python 3.8 received its own branch, called simply “3.8”.


Acknowledgments

As you might expect, creating new branches triggers a lot of changes in 
configuration for all sorts of tooling that we’re using. Additionally, the 
inevitable deadline for new features caused a flurry of activity that tested 
the buildbots to the max. The revert hammer got  used more than once.

I would not be able to make this release available alone. Many thanks to the 
fearless duo of Pablo Galindo Salgado and Victor Stinner for spending tens of 
hours during the past week working on getting the buildbots green for release. 
Seriously, that took a lot of effort. We are all so lucky to have you both.

Thanks to Andrew Svetlov for his swift fixes to asyncio and to Yury Selivanov 
for code reviews, even when jetlagged. Thanks to Julien Palard for untangling 
the documentation configs. Thank you to Zachary Ware for help with buildbot and 
CI configuration. Thanks to Mariatta for helping with the bots. Thank you to 
Steve Dower for delivering the Windows installers.

Most importantly though, huge thanks to Ned Deily who not only helped me 
understand the scope of this special release but also did some of the grunt 
work involved.

Last but not least, thanks to you for making this release more meaty than I 
expected. There’s plenty of super exciting changes in there. Just take a look 
at “What’s New ”!


One more thing

Hey, fellow Core Developer, Beta 2 is in four weeks. If your important new 
feature got reverted last minute, or you decided not to merge due to inadequate 
time, I have a one time offer for you (restrictions apply). If you:

find a second core developer champion for your change; and
in tandem you finish your change complete with tests and documentation before 
Beta 2
then I will let it in. I’m asking for a champion because it’s too late now for 
changes with hasty design or code review. And as I said, restrictions apply. 
For instance, at this point changes to existing APIs are unlikely to be 
accepted. Don’t start new work with 3.8 in mind. 3.9 is going to come sooner 
than you think!



- Ł


signature.asc
Description: Message signed with OpenPGP
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


  1   2   3   >