DVB-Cube <<< Das deutsche PC und DVB-Forum >>>

PC-Ecke => # Hard-und Software Allgemein => Thema gestartet von: SiLæncer am 01 Dezember, 2004, 16:51

Titel: Python ...
Beitrag von: SiLæncer am 01 Dezember, 2004, 16:51
Nach 18 Monaten Entwicklungszeit hat das Python-Team die Version 2.4 seiner Skriptsprache veröffentlicht. Die neue Version bringt kaum neue Sprachfeatures, dafür aber umso mehr Bugfixes und Verbesserungen im Kleinen.

Allem voran soll der neue Interpreter Skripte schneller ausführen können als die Vorgänger. Für weitere Beschleunigung sollen neu in C formulierte Module sorgen, etwa das für Sets. Die import-Anweisung nimmt jetzt nicht mehr nur den Namen eines einzigen Moduls entgegen, sondern gleich mehrerer. Funktionen und Methoden lassen sich ab sofort mit so genannten Dekoratoren versehen. Außerdem haben die Entwickler die Typen integer und long integer vereinheitlicht. Über die Details dieser Neuerungen und zahlreicher weiterer Verbesserungen informiert das Dokument What's new in Python 2.4.

Das Python-Team empfiehlt allen Entwicklern den Umstieg auf die neue Version. Die Windows-Variante steht als MSI-Datei zum Download bereit. Voraussetzung ist demzufolge der Microsoft Installer 2.0, der bei Windows XP und Server 2003 schon dabei ist, für ältere Betriebssysteme aus Redmond kostenfrei heruntergeladen werden kann, etwa für Windows 9x/Millenium oder NT/2000. Für Windows-Rechner mit Itanium-Prozessor gibt es eine separate 64-Bit-Version. Fedora Core 3-Anwendern stehen RPM-Dateien zur Verfügung. Für alle anderen Plattformen lassen sich die Quelltexte als gzip- oder bzip2-komprimierte tar-Dateien herunterladen.

Quelle : www.heise.de (http://www.heise.de)
Titel: Python 3.1 veröffentlicht
Beitrag von: SiLæncer am 29 Juni, 2009, 20:24
Die Python-Entwickler haben die Version 3.1 der Skriptsprache veröffentlicht. Die neue Release setzt, wie den Release Notes zu entnehmen ist, den Fokus auf Performance- und Stabilitätsüberarbeitungen der Funktionen, die die mit früheren Versionen inkompatible 3.x-Entwicklungsschiene eingeführt hatte. So erhält zum Beispiel der int-Typ eine bit_length-Methode, die die Zahl der Bits zurückgibt, die für die Darstellung seines Arguments in der Binärdatei notwendig ist.

Weiterhin ist das I/O-Modul neu in C geschrieben worden, sodass es nun zwischen 2- bis 20-mal schneller laufen soll als vorher. Darüber hinaus gibt es neue Unit-Test-Funktionen wie Test-Skipping und neue Assert-Methoden. Neu ist auch die OrderedDict API, die über Schlüssel und Werte abhängig von einem zuerst eingegebenen Schlüssel in einer festgelegten Anordnung iteriert.

Quelle : http://www.heise.de/newsticker/Python-3-1-veroeffentlicht--/meldung/141252 (http://www.heise.de/newsticker/Python-3-1-veroeffentlicht--/meldung/141252)
Titel: Keine weiteren Updates für Python 3.0
Beitrag von: SiLæncer am 03 Juli, 2009, 12:29
Nach einer Mitteilung auf der Python-Mailingliste wird es für die Version 3.0 der freien Skriptsprache keine weiteren Updates mehr geben. Auch Sicherheitslücken wollen die Entwickler nicht mehr schließen. Python-Nutzer sollten auf die kürzlich veröffentlichte Version 3.1 umsteigen. Dies sei ein "normales" Release mit den üblichen Garantien hinsichtlich der Wartung. Allerdings werde es beschleunigt entwickelt, um den Umstieg von der Vorgängerversion zu erleichtern. Python 3.2 soll in anderthalb bis zwei Jahren erscheinen.

Quelle : www.heise.de (http://www.heise.de)
Titel: Python 3.1.2 RC1
Beitrag von: SiLæncer am 07 März, 2010, 09:05
Python 3.1.2 release candidate 1 was released on March 6th, 2010.

The Python 3.1 version series is a continuation of the work started by Python 3.0, the new backwards-incompatible series of Python. Improvements in this release include:

    * An ordered dictionary type
    * Various optimizations to the int type
    * New unittest features including test skipping and new assert methods.
    * A much faster io module
    * Tile support for Tkinter
    * A pure Python reference implementation of the import statement
    * New syntax for nested with statements

http://www.python.org/
Titel: Python 2.6.5 Final
Beitrag von: SiLæncer am 20 März, 2010, 09:23
Zitat
Python 2.6.5 is a maintenance release for Python 2.6.4, fixing dozens of issues in the core, builtin modules, libraries, and documentation. Python 2.6.5 final was released on March 19, 2010.

http://www.python.org/
Titel: Python 3.1.2 Final
Beitrag von: SiLæncer am 21 März, 2010, 19:24
Python 3.1.2 was released on March 21st, 2010.

The Python 3.1 version series is a continuation of the work started by Python 3.0, the new backwards-incompatible series of Python. Improvements in this release include:

    * An ordered dictionary type
    * Various optimizations to the int type
    * New unittest features including test skipping and new assert methods.
    * A much faster io module
    * Tile support for Tkinter
    * A pure Python reference implementation of the import statement
    * New syntax for nested with statements

http://www.python.org/
Titel: Python 2.7 Beta 1
Beitrag von: SiLæncer am 10 April, 2010, 22:32
Python 2.7 beta 1 was released on April 10th, 2010.

Python 2.7 is scheduled to be the last major version in the 2.x series before it moves into 5 years of bugfix-only mode. This release contains many of the features that were first released in Python 3.1. Improvements in this release include:

    * An ordered dictionary type
    * New unittest features including test skipping and new assert methods.
    * A much faster io module
    * Automatic numbering of fields in the str.format() method
    * Float repr improvements backported from 3.x.
    * Tile support for Tkinter
    * A backport of the memoryview object from 3.x
    * Set literals
    * Dictionary views
    * New syntax for nested with statements
    * The sysconfig module


http://www.python.org/
Titel: Python 2.7 Beta 2
Beitrag von: SiLæncer am 08 Mai, 2010, 21:06
Python 2.7 beta 2 was released on May 8th, 2010.

Python 2.7 is scheduled to be the last major version in the 2.x series before it moves into an extended maintenance period. This release contains many of the features that were first released in Python 3.1. Improvements in this release include:

    * An ordered dictionary type
    * New unittest features including test skipping and new assert methods.
    * A much faster io module
    * Automatic numbering of fields in the str.format() method
    * Float repr improvements backported from 3.x.
    * Tile support for Tkinter
    * A backport of the memoryview object from 3.x
    * Set literals
    * Set and dictionary comprehensions
    * Dictionary views
    * New syntax for nested with statements
    * The sysconfig module

http://www.python.org/
Titel: Python 2.7 RC1
Beitrag von: SiLæncer am 06 Juni, 2010, 09:07
Python 2.7 release candidate was released on June 5th, 2010.

Python 2.7 is scheduled to be the last major version in the 2.x series before it moves into an extended maintenance period. This release contains many of the features that were first released in Python 3.1. Improvements in this release include:

    * An ordered dictionary type
    * New unittest features including test skipping and new assert methods.
    * A much faster io module
    * Automatic numbering of fields in the str.format() method
    * Float repr improvements backported from 3.x.
    * Tile support for Tkinter
    * A backport of the memoryview object from 3.x
    * Set literals
    * Set and dictionary comprehensions
    * Dictionary views
    * New syntax for nested with statements
    * The sysconfig module

http://www.python.org/
Titel: Python 2.7 RC2
Beitrag von: SiLæncer am 21 Juni, 2010, 22:13
Python 2.7 release candidate 2 was released on June 20th, 2010.

Python 2.7 is scheduled to be the last major version in the 2.x series before it moves into an extended maintenance period. This release contains many of the features that were first released in Python 3.1. Improvements in this release include:

    * An ordered dictionary type
    * New unittest features including test skipping and new assert methods.
    * A much faster io module
    * Automatic numbering of fields in the str.format() method
    * Float repr improvements backported from 3.x.
    * Tile support for Tkinter
    * A backport of the memoryview object from 3.x
    * Set literals
    * Set and dictionary comprehensions
    * Dictionary views
    * New syntax for nested with statements
    * The sysconfig module

http://www.python.org/
Titel: Python 2.7 Final
Beitrag von: SiLæncer am 04 Juli, 2010, 18:12
What's New in Python 2.7?
=========================

*Release date: 2010-07-03*

Core and Builtins
-----------------

- Prevent assignment to set literals.

Library
-------

- Issue #9125: Add recognition of 'except ... as ...' syntax to parser module.

Extension Modules
-----------------

- Issue #7673: Fix security vulnerability (CVE-2010-2089) in the audioop module,
  ensure that the input string length is a multiple of the frame size.

- Issue #9075: In the ssl module, remove the setting of a ``debug`` flag
  on an OpenSSL structure.


http://www.python.org/
Titel: Python 3.2 Alpha 1
Beitrag von: SiLæncer am 01 August, 2010, 12:18
Python 3.2 alpha 1 was released on August 1st, 2010.

Python 3.2 is a continuation of the efforts to improve and stabilize the Python 3.x line. Since the final release of Python 2.7, the 2.x line will only receive bugfixes, and new features are developed for 3.x only.

Since PEP 3003, the Moratorium on Language Changes, is in effect, there are no changes in Python's syntax and built-in types in Python 3.2. Development efforts concentrated on the standard library and support for porting code to Python 3. Highlights are:

    * numerous improvements to the unittest module
    * PEP 3147, support for .pyc repository directories
    * an overhauled GIL implementation that reduces contention
    * many consistency and behavior fixes for numeric operations
    * countless fixes regarding string/unicode issues; among them full support for a bytes environment (filenames, environment variables)
    * a sysconfig module to access configuration information
    * a pure-Python implementation of the datetime module
    * additions to the shutil module, among them archive file support
    * improvements to pdb, the Python debugger

http://www.python.org/
Titel: Letzte Aktualisierung: Python 2.6.6 veröffentlicht
Beitrag von: SiLæncer am 26 August, 2010, 21:11
Python 2.6.6  wird die letzte Aktualisierung der 2.6er-Reihe der freien Skriptsprache werden. Die aktuelle Veröffentlichung enthält Patches und Updates für alle Komponenten der freien Skriptsprache. Version 2.6.x wird bis Ende 2013 lediglich mit Sicherheitsupdates versorgt.

(http://www.golem.de/1008/77506-3718-76246-2865-pythontitel.png)
Version 2.6.6 soll die letzte Veröffentlichung der 2.6er-Reihe werden. Dazu haben die Entwickler nach eigenen Angaben dutzende Patches in zahlreichen Modulen, Bibliotheken und in der Dokumentation der freien Skriptsprache eingepflegt. Künftig wird es für Python 2.6.x nur noch Sicherheitsupdates geben. Sie sollen allerdings bis Ende 2013 ausgeliefert werden.

Python 2.7.x rückt somit als sogenanntes Maintenance-Release auf. Die aktuelle Version 2.7 wurde im Juli 2010 veröffentlicht. Diese Version enthält Reparaturen und einige Funktionen, die aus Python 3.1 stammen. Das soll Programmierern den Übergang zu Python 3.x leichter machen. Die aktuelle Version ist 3.1.2.

Die Software steht in 32- und 64-Bit-Versionen für Linux und Windows zum Download (http://www.python.org/download/releases/2.7/) zur Verfügung.

Quelle : www.golem.de
Titel: Python 2.7.1 Final
Beitrag von: SiLæncer am 28 November, 2010, 07:25
What's New in Python 2.7.1?
===========================

*Release date: 2010-11-27*

Library
-------

- Issue #10092: Properly reset locale in calendar.Locale*Calendar classes.

- Issue #10459: Update CJK character names to Unicode 5.2.

- Issue #6098: Don't claim DOM level 3 conformance in minidom.

- Issue #5762: Fix AttributeError raised by ``xml.dom.minidom`` when an empty
  XML namespace attribute is encountered.

- Issue #1710703: Write structures for an empty ZIP archive when a ZipFile is
  created in modes 'a' or 'w' and then closed without adding any files. Raise
  BadZipfile (rather than IOError) when opening small non-ZIP files.

- Issue #4493: urllib2 adds '/' in front of path components which does not
  start with '/. Common behavior exhibited by browsers and other clients.

- Issue #6378: idle.bat now runs with the appropriate Python version rather than
  the system default. Patch by Sridhar Ratnakumar.

- Issue #10407: Fix one NameError in distutils.

- Issue #10198: fix duplicate header written to wave files when writeframes()
  is called without data.

- Issue #10467: Fix BytesIO.readinto() after seeking into a position after the
  end of the file.

- Issue #5111: IPv6 Host in the Header is wrapped inside [ ]. Patch by Chandru.

Build
-----

- Backport r83399 to allow test_distutils to pass on installed versions.

- Issue #1303434: Generate ZIP file containing all PDBs.

Tests
-----

- Issue #9424: Replace deprecated assert* methods in the Python test suite.

Documentation
-------------

- Issue #10299: List the built-in functions in a table in functions.rst.

http://www.python.org/
Titel: Python 3.2 RC2
Beitrag von: SiLæncer am 31 Januar, 2011, 16:51
Infos zu dieser Version : http://www.python.org/download/releases/3.2/

http://www.python.org/
Titel: Python 3.2 RC3
Beitrag von: SiLæncer am 14 Februar, 2011, 13:00
Infos zu dieser Version : http://www.python.org/download/releases/3.2/

http://www.python.org/
Titel: Python 3.2 erschienen
Beitrag von: SiLæncer am 21 Februar, 2011, 12:49
Über eineinhalb Jahre haben sich die Python-Entwickler Zeit gelassen, um einen Nachfolger für Python 3.1 zu veröffentlichen. Auf Syntaxänderungen wurde verzichtet, die Unterstützung für die Portierung von Code auf Python 3 jedoch erweitert.

Python ist eine objektorientierte Skriptsprache, die mit Perl, Ruby und ähnlichen Sprachen konkurriert. Ihre Besonderheiten sind die Verwendung von Einrückungen statt Klammern zur Definition von Kontrollstrukturen und die Möglichkeit, plattformunabhängigen Bytecode zu erzeugen.

Im Oktober 2009, nachdem Python 3.1 bereits erschienen war, hatte Guido van Rossum, der Initiator von Python, ein mehrjähriges Moratorium für Python-Sprachänderungen gefordert, da die Akzeptanz der Entwickler für Python 3 gering war. Python 3.0 war erstmals in Teilen inkompatibel mit früheren Versionen, weshalb viele Entwickler an Versionen von Python 2 festhalten (aktuell ist Python 2.7).

Dieses Moratorium ist in Kraft und dementsprechend konzentrierten sich die Entwickler in Python 3.2 auf Verbesserungen in der Standardbibliothek und die Unterstützung für die Portierung von Code auf Python 3. Syntaktische Änderungen gab es nicht, und nur wenige Änderungen wurden an den eingebauten Typen vorgenommen. Unter den Änderungen von Python 3.2 findet man ein stabiles ABI für Erweiterungsmodule, womit Erweiterungen auch in künftigen Versionen von Python ohne Änderungen funktionieren sollen. Das SSL-Modul wurde stark verbessert, ebenso der Python-Debugger. Weitere Einzelheiten können dem ausführlichen Änderungslog (http://svn.python.org/projects/python/tags/r32/Misc/NEWS) entnommen werden.

Quelle : www.pro-linux.de
Titel: Python 3.2.2 RC1
Beitrag von: SiLæncer am 13 August, 2011, 20:55
Infos zu dieser Version : http://www.python.org/download/releases/3.2.2/

http://www.python.org/
Titel: Python 3.2.2 Final
Beitrag von: SiLæncer am 05 September, 2011, 06:20
Infos zu dieser Version : http://www.python.org/download/releases/3.2.2/

http://www.python.org/
Titel: Python 3.2.3
Beitrag von: SiLæncer am 12 April, 2012, 16:14
Whats new: >>

- Include several security fixes (http://www.python.org/download/releases/3.2.3/).

http://www.python.org/
Titel: Python 3.3.0 Beta 2
Beitrag von: SiLæncer am 12 August, 2012, 19:20
Python 3.3 includes a range of improvements of the 3.x series, as well as easier porting between 2.x and 3.x. Major new features in the 3.3 release series are:

    PEP 380, syntax for delegating to a subgenerator (yield from)
    PEP 393, flexible string representation (doing away with the distinction between "wide" and "narrow" Unicode builds)
    A C implementation of the "decimal" module, with up to 80x speedup for decimal-heavy applications
    The import system (__import__) is based on importlib by default
    The new "packaging" module (also known as distutils2, and released standalone under this name), implementing the new packaging formats and deprecating "distutils"
    The new "lzma" module with LZMA/XZ support
    PEP 405, virtual environment support in core
    PEP 420 , namespace package support
    PEP 3151, reworking the OS and IO exception hierarchy
    PEP 3155, qualified name for classes and functions
    PEP 409, suppressing exception context
    PEP 414, explicit Unicode literals to help with porting
    PEP 418, extended platform-independent clocks in the "time" module
    PEP 412, a new key-sharing dictionary implementation that significantly saves memory for object-oriented code
    The new "faulthandler" module that helps diagnosing crashes
    The new "unittest.mock" module
    The new "ipaddress" module
    A "collections.ChainMap" class for linking mappings to a single unit
    Wrappers for many more POSIX functions in the "os" and "signal" modules, as well as other useful functions such as "sendfile()"
    Hash randomization, introduced in earlier bugfix releases, is now switched on by default

http://www.python.org/
Titel: Python 3.3.0 RC1
Beitrag von: SiLæncer am 26 August, 2012, 11:02
Python 3.3 includes a range of improvements of the 3.x series, as well as easier porting between 2.x and 3.x. Major new features in the 3.3 release series are:

    PEP 380, syntax for delegating to a subgenerator (yield from)
    PEP 393, flexible string representation (doing away with the distinction between "wide" and "narrow" Unicode builds)
    A C implementation of the "decimal" module, with up to 80x speedup for decimal-heavy applications
    The import system (__import__) is based on importlib by default
    The new "packaging" module (also known as distutils2, and released standalone under this name), implementing the new packaging formats and deprecating "distutils"
    The new "lzma" module with LZMA/XZ support
    PEP 405, virtual environment support in core
    PEP 420 , namespace package support
    PEP 3151, reworking the OS and IO exception hierarchy
    PEP 3155, qualified name for classes and functions
    PEP 409, suppressing exception context
    PEP 414, explicit Unicode literals to help with porting
    PEP 418, extended platform-independent clocks in the "time" module
    PEP 412, a new key-sharing dictionary implementation that significantly saves memory for object-oriented code
    The new "faulthandler" module that helps diagnosing crashes
    The new "unittest.mock" module
    The new "ipaddress" module
    A "collections.ChainMap" class for linking mappings to a single unit
    Wrappers for many more POSIX functions in the "os" and "signal" modules, as well as other useful functions such as "sendfile()"
    Hash randomization, introduced in earlier bugfix releases, is now switched on by default

http://www.python.org/
Titel: Python 3.3.0 RC2
Beitrag von: SiLæncer am 09 September, 2012, 13:30
Python 3.3 includes a range of improvements of the 3.x series, as well as easier porting between 2.x and 3.x. Major new features in the 3.3 release series are:

    PEP 380, syntax for delegating to a subgenerator (yield from)
    PEP 393, flexible string representation (doing away with the distinction between "wide" and "narrow" Unicode builds)
    A C implementation of the "decimal" module, with up to 80x speedup for decimal-heavy applications
    The import system (__import__) is based on importlib by default
    The new "lzma" module with LZMA/XZ support
    PEP 405, virtual environment support in core
    PEP 420, namespace package support
    PEP 3151, reworking the OS and IO exception hierarchy
    PEP 3155, qualified name for classes and functions
    PEP 409, suppressing exception context
    PEP 414, explicit Unicode literals to help with porting
    PEP 418, extended platform-independent clocks in the "time" module
    PEP 412, a new key-sharing dictionary implementation that significantly saves memory for object-oriented code
    The new "faulthandler" module that helps diagnosing crashes
    The new "unittest.mock" module
    The new "ipaddress" module
    A "collections.ChainMap" class for linking mappings to a single unit
    Wrappers for many more POSIX functions in the "os" and "signal" modules, as well as other useful functions such as "sendfile()"
    Hash randomization, introduced in earlier bugfix releases, is now switched on by default

http://www.python.org/
Titel: Python 3.3.0
Beitrag von: SiLæncer am 29 September, 2012, 17:41
Python 3.3.0 was released on September 29th, 2012.

Python 3.3 includes a range of improvements of the 3.x series, as well as easier porting between 2.x and 3.x. Major new features in the 3.3 release series are:

    PEP 380, syntax for delegating to a subgenerator (yield from)
    PEP 393, flexible string representation (doing away with the distinction between "wide" and "narrow" Unicode builds)
    A C implementation of the "decimal" module, with up to 80x speedup for decimal-heavy applications
    The import system (__import__) is based on importlib by default
    The new "lzma" module with LZMA/XZ support
    PEP 405, virtual environment support in core
    PEP 420, namespace package support
    PEP 3151, reworking the OS and IO exception hierarchy
    PEP 3155, qualified name for classes and functions
    PEP 409, suppressing exception context
    PEP 414, explicit Unicode literals to help with porting
    PEP 418, extended platform-independent clocks in the "time" module
    PEP 412, a new key-sharing dictionary implementation that significantly saves memory for object-oriented code
    The new "faulthandler" module that helps diagnosing crashes
    The new "unittest.mock" module
    The new "ipaddress" module
    A "collections.ChainMap" class for linking mappings to a single unit
    Wrappers for many more POSIX functions in the "os" and "signal" modules, as well as other useful functions such as "sendfile()"
    Hash randomization, introduced in earlier bugfix releases, is now switched on by default


http://www.python.org/
Titel: Python 3.3.1 RC1
Beitrag von: SiLæncer am 26 März, 2013, 13:34
Python 3.3.1 release candidate 1 was released on March 25th, 2013.

Python 3.3 includes a range of improvements of the 3.x series, as well as easier porting between 2.x and 3.x. Major new features in the 3.3 release series are:

    PEP 380, syntax for delegating to a subgenerator (yield from)
    PEP 393, flexible string representation (doing away with the distinction between "wide" and "narrow" Unicode builds)
    A C implementation of the "decimal" module, with up to 120x speedup for decimal-heavy applications
    The import system (__import__) is based on importlib by default
    The new "lzma" module with LZMA/XZ support
    PEP 397, a Python launcher for Windows
    PEP 405, virtual environment support in core
    PEP 420, namespace package support
    PEP 3151, reworking the OS and IO exception hierarchy
    PEP 3155, qualified name for classes and functions
    PEP 409, suppressing exception context
    PEP 414, explicit Unicode literals to help with porting
    PEP 418, extended platform-independent clocks in the "time" module
    PEP 412, a new key-sharing dictionary implementation that significantly saves memory for object-oriented code
    PEP 362, the function-signature object
    The new "faulthandler" module that helps diagnosing crashes
    The new "unittest.mock" module
    The new "ipaddress" module
    The "sys.implementation" attribute
    A policy framework for the email package, with a provisional (see PEP 411) policy that adds much improved unicode support for email header parsing
    A "collections.ChainMap" class for linking mappings to a single unit
    Wrappers for many more POSIX functions in the "os" and "signal" modules, as well as other useful functions such as "sendfile()"
    Hash randomization, introduced in earlier bugfix releases, is now switched on by default

http://www.python.org/
Titel: Python 3.3.1 Final
Beitrag von: SiLæncer am 06 April, 2013, 23:00
Infos hierzu : http://www.python.org/download/releases/3.3.1/

http://www.python.org/
Titel: Python 2.7.4
Beitrag von: SiLæncer am 07 April, 2013, 12:41
Infos hierzu : http://www.python.org/download/releases/2.7.4/

http://www.python.org/
Titel: Python 3.3.2
Beitrag von: SiLæncer am 16 Mai, 2013, 19:20
Whats new: >>

Python 3.3 includes a range of improvements of the 3.x series, as well as easier porting between 2.x and 3.x.

    PEP 380, syntax for delegating to a subgenerator (yield from)
    PEP 393, flexible string representation (doing away with the distinction between "wide" and "narrow" Unicode builds)
    A C implementation of the "decimal" module, with up to 120x speedup for decimal-heavy applications
    The import system (__import__) is based on importlib by default
    The new "lzma" module with LZMA/XZ support
    PEP 397, a Python launcher for Windows
    PEP 405, virtual environment support in core
    PEP 420, namespace package support
    PEP 3151, reworking the OS and IO exception hierarchy
    PEP 3155, qualified name for classes and functions
    PEP 409, suppressing exception context
    PEP 414, explicit Unicode literals to help with porting
    PEP 418, extended platform-independent clocks in the "time" module
    PEP 412, a new key-sharing dictionary implementation that significantly saves memory for object-oriented code
    PEP 362, the function-signature object
    The new "faulthandler" module that helps diagnosing crashes
    The new "unittest.mock" module
    The new "ipaddress" module
    The "sys.implementation" attribute
    A policy framework for the email package, with a provisional (see PEP 411) policy that adds much improved unicode support for email header parsing
    A "collections.ChainMap" class for linking mappings to a single unit
    Wrappers for many more POSIX functions in the "os" and "signal" modules, as well as other useful functions such as "sendfile()"
    Hash randomization, introduced in earlier bugfix releases, is now switched on by default

http://www.python.org/
Titel: Python 2.7.6
Beitrag von: SiLæncer am 11 November, 2013, 16:20
Infos hierzu : http://www.python.org/download/releases/2.7.6/

http://www.python.org/
Titel: Python 3.3.3
Beitrag von: SiLæncer am 19 November, 2013, 13:44
Infos hierzu : http://www.python.org/download/releases/3.3.3/

http://www.python.org/
Titel: Python 3.3.4
Beitrag von: SiLæncer am 11 Februar, 2014, 06:15
Infos hierzu : http://www.python.org/download/releases/3.3.4/

http://www.python.org/
Titel: Python 3.4.0 RC 2
Beitrag von: SiLæncer am 24 Februar, 2014, 09:24
PEP 428, a "pathlib" module providing object-oriented filesystem paths
PEP 435, a standardized "enum" module
PEP 436, a build enhancement that will help generate introspection information for builtins
PEP 442, improved semantics for object finalization
PEP 443, adding single-dispatch generic functions to the standard library
PEP 445, a new C API for implementing custom memory allocators
PEP 446, changing file descriptors to not be inherited by default in subprocesses
PEP 450, a new "statistics" module
PEP 451, standardizing module metadata for Python's module import system
PEP 453, a bundled installer for the pip package manager
PEP 454, a new "tracemalloc" module for tracing Python memory allocations
PEP 456, a new hash algorithm for Python strings and binary data
PEP 3154, a new and improved protocol for pickled objects
PEP 3156, a new "asyncio" module, a new framework for asynchronous I/O

http://www.python.org/
Titel: Python 3.4 erschienen
Beitrag von: SiLæncer am 17 März, 2014, 19:45
Release Notes : http://docs.python.org/3/whatsnew/3.4.html

http://www.python.org/
Titel: Python 3.4.1
Beitrag von: SiLæncer am 19 Mai, 2014, 13:16
Whats new: >>
Core and Builtins:
Issue #21418: Fix a crash in the builtin function super() when called without argument and without current frame (ex: embedded Python).
Issue #21425: Fix flushing of standard streams in the interactive interpreter.
Issue #21435: In rare cases, when running finalizers on objects in cyclic trash a bad pointer dereference could occur due to a subtle flaw in internal iteration logic.
Library:
Issue #10744: Fix PEP 3118 format strings on ctypes objects with a nontrivial shape.
Issue #20998: Fixed re.fullmatch() of repeated single character pattern with ignore case. Original patch by Matthew Barnett.
Issue #21075: fileinput.FileInput now reads bytes from standard stream if binary mode is specified. Patch by Sam Kimbrel.
Issue #21396: Fix TextIOWrapper(..., write_through=True) to not force a flush() on the underlying binary stream. Patch by akira.
Issue #21470: Do a better job seeding the random number generator by using enough bytes to span the full state space of the Mersenne Twister.
Issue #21398: Fix an unicode error in the pydoc pager when the documentation contains characters not encodable to the stdout encoding.
Tests:
Issue #17756: Fix test_code test when run from the installed location.
Issue #17752: Fix distutils tests when run from the installed location.
IDLE:
Issue #18104: Add idlelib/idle_test/htest.py with a few sample tests to begin consolidating and improving human-validated tests of Idle. Change other files as needed to work with htest. Running the module as __main__ runs all tests.
[close]

http://www.python.org/
Titel: Python 2.7.9
Beitrag von: SiLæncer am 15 Dezember, 2014, 18:45
Changelog: >>
# Library

* Remove the *check_hostname* parameter of httplib.HTTPSConnection. The *context* parameter should be used instead.
* Add a default limit for the amount of data xmlrpclib.gzip_decode will return.
* smtplib: Limit amount of data read by limiting the call to readline(). Original patch by Christian Heimes.
* In poplib, limit maximum line length read from the server
* Add a context argument to xmlrpclib.ServerProxy.

# Build

* Allow the ssl module to be compiled if openssl doesn't support SSL 3.
* Use private version of OpenSSL for 2.7.9 OS X 10.5+ installer.
[close]

http://www.python.org/
Titel: Python 3.4.3
Beitrag von: SiLæncer am 25 Februar, 2015, 16:45
Changelog
Library:

Issue #6639: Module-level turtle functions no longer raise TclError after closing the window
Issues #814253, #9179: Warnings now are raised when group references and conditional group references are used in lookbehind assertions in regular expressions
Issue #23215: Multibyte codecs with custom error handlers that ignores errors consumed too much memory and raised SystemError or MemoryError. Original patch by Aleksi Torhamo
Issue #5700: io.FileIO() called flush() after closing the file. flush() was not called in close() if closefd=False
Issue #23374: Fixed pydoc failure with non-ASCII files when stdout encoding differs from file system encoding (e.g. on Mac OS)
Issue #23481: Remove RC4 from the SSL module’s default cipher list
Issue #21548: Fix pydoc.synopsis() and pydoc.apropos() on modules with empty docstrings
Issue #22885: Fixed arbitrary code execution vulnerability in the dbm.dumb module. Original patch by Claudiu Popa
Issue #23146: Fix mishandling of absolute Windows paths with forward slashes in pathlib
Issue #23421: Fixed compression in tarfile CLI. Patch by wdv4758h
Issue #23361: Fix possible overflow in Windows subprocess creation code

Build:

Issue #23445: pydebug builds now use “gcc -Og” where possible, to make the resulting executable faster
[close]

http://www.python.org/
Titel: Python 2.7.10
Beitrag von: SiLæncer am 27 Mai, 2015, 19:20
Changelog: >>
# Library
- Allow '[' and ']' in cookie values.
[close]

http://www.python.org/
Titel: Python 3.5.0 Final
Beitrag von: SiLæncer am 13 September, 2015, 19:40
Changelog
Major new features of the 3.5 series, compared to 3.4

Among the new major new features and changes in the 3.5 release series are

    PEP 441, improved Python zip application support
    PEP 448, additional unpacking generalizations
    PEP 461, "%-formatting" for bytes and bytearray objects
    PEP 465, a new operator (@) for matrix multiplication
    PEP 471, os.scandir(), a fast new directory traversal function
    PEP 475, adding support for automatic retries of interrupted system calls
    PEP 479, change StopIteration handling inside generators
    PEP 484, the typing module, a new standard for type annotations
    PEP 485, math.isclose(), a function for testing approximate equality
    PEP 486, making the Windows Python launcher aware of virtual environments
    PEP 488, eliminating .pyo files
    PEP 489, a new and improved mechanism for loading extension modules
    PEP 492, coroutines with async and await syntax

For more detailed information, please read What's New In Python 3.5.

    Online Documentation
    3.5 Release Schedule
    Report bugs at http://bugs.python.org.
    Help fund Python and its community.

Notes on this release

    The binaries for AMD64 will also work on processors that implement the Intel 64 architecture. (Also known as the "x64" architecture, and formerly known as both "EM64T" and "x86-64".) They will not work on Intel Itanium Processors (formerly "IA-64").
    Windows users: If installing Python 3.5 as a non-privileged user, you may need to escalate to administrator privileges to install an update to your C runtime libraries.
    Windows users: There are now "web-based" installers for Windows platforms; the installer will download the needed software components at installation time.
    Windows Users: There are redistributable zip files containing the Windows builds, making it easy to redistribute Python as part of another software package. Please see the documentation regarding Embedded Distribution for more information.
    OS X users: The OS X installers are now distributed as signed installer package files compatible with the OS X Gatekeeper security feature.
    OS X users: There is important information about IDLE, Tkinter, and Tcl/Tk on Mac OS X here.
[close]

http://www.python.org/
Titel: Python 3.5.1
Beitrag von: SiLæncer am 07 Dezember, 2015, 16:15
Changelog : https://docs.python.org/3.5/whatsnew/changelog.html#python-3-5-1

http://www.python.org/
Titel: Python 2.7.11
Beitrag von: SiLæncer am 07 Dezember, 2015, 17:20
Changelog

# New features

- improved Python zip application support
- additional unpacking generalizations
- "%-formatting" for bytes and bytearray objects
- a new operator (@) for matrix multiplication
- os.scandir(), a fast new directory traversal function
- adding support for automatic retries of interrupted system calls
- change StopIteration handling inside generators
- the typing module, a new standard for type annotations
- math.isclose(), a function for testing approximate equality
- making the Windows Python launcher aware of virtual environments
- eliminating .pyo files
- a new and improved mechanism for loading extension modules
- coroutines with async and await syntax

[close]

http://www.python.org/
Titel: Python 3.5.2
Beitrag von: SiLæncer am 27 Juni, 2016, 13:25
Changelog

Core and Builtins:

Issue #26930: Update Windows builds to use OpenSSL 1.0.2h.

Tests:

Issue #26867: Ubuntu’s openssl OP_NO_SSLv3 is forced on by default; fix test.

IDLE:

Issue #27365: Allow non-ascii in idlelib/NEWS.txt - minimal part for 3.5.2.
Python 3.5.2 release candidate 1
Release date: 2016-06-12

Core and Builtins:

Issue #27066: Fixed SystemError if a custom opener (for open()) returns a negative number without setting an exception.
Issue #20041: Fixed TypeError when frame.f_trace is set to None. Patch by Xavier de Gaye.
Issue #26168: Fixed possible refleaks in failing Py_BuildValue() with the “N” format unit.
Issue #26991: Fix possible refleak when creating a function with annotations.
Issue #27039: Fixed bytearray.remove() for values greater than 127. Patch by Joe Jevnik.
Issue #23640: int.from_bytes() no longer bypasses constructors for subclasses.
Issue #26811: gc.get_objects() no longer contains a broken tuple with NULL pointer.
Issue #20120: Use RawConfigParser for .pypirc parsing, removing support for interpolation unintentionally added with move to Python 3. Behavior no longer does any interpolation in .pypirc files, matching behavior in Python 2.7 and Setuptools 19.0.
Issue #26659: Make the builtin slice type support cycle collection.
Issue #26718: super.__init__ no longer leaks memory if called multiple times. NOTE: A direct call of super.__init__ is not endorsed!
Issue #25339: PYTHONIOENCODING now has priority over locale in setting the error handler for stdin and stdout.
Issue #26494: Fixed crash on iterating exhausting iterators. Affected classes are generic sequence iterators, iterators of str, bytes, bytearray, list, tuple, set, frozenset, dict, OrderedDict, corresponding views and os.scandir() iterator.
Issue #26581: If coding cookie is specified multiple times on a line in Python source code file, only the first one is taken to account.
Issue #26464: Fix str.translate() when string is ASCII and first replacements removes character, but next replacement uses a non-ASCII character or a string longer than 1 character. Regression introduced in Python 3.5.0.
Issue #22836: Ensure exception reports from PyErr_Display() and PyErr_WriteUnraisable() are sensible even when formatting them produces secondary errors. This affects the reports produced by sys.__excepthook__() and when __del__() raises an exception.
Issue #26302: Correct behavior to reject comma as a legal character for cookie names.
Issue #4806: Avoid masking the original TypeError exception when using star (*) unpacking in function calls. Based on patch by Hagen Fürstenau and Daniel Urban.
Issue #27138: Fix the doc comment for FileFinder.find_spec().
Issue #26154: Add a new private _PyThreadState_UncheckedGet() function to get the current Python thread state, but don’t issue a fatal error if it is NULL. This new function must be used instead of accessing directly the _PyThreadState_Current variable. The variable is no more exposed since Python 3.5.1 to hide the exact implementation of atomic C types, to avoid compiler issues.
Issue #26194: Deque.insert() gave odd results for bounded deques that had reached their maximum size. Now an IndexError will be raised when attempting to insert into a full deque.
Issue #25843: When compiling code, don’t merge constants if they are equal but have a different types. For example, f1, f2 = lambda: 1, lambda: 1.0 is now correctly compiled to two different functions: f1() returns 1 (int) and f2() returns 1.0 (int), even if 1 and 1.0 are equal.
Issue #22995: [UPDATE] Comment out the one of the pickleability tests in _PyObject_GetState() due to regressions observed in Cython-based projects.
Issue #25961: Disallowed null characters in the type name.
Issue #25973: Fix segfault when an invalid nonlocal statement binds a name starting with two underscores.
Issue #22995: Instances of extension types with a state that aren’t subclasses of list or dict and haven’t implemented any pickle-related methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__, or __getstate__), can no longer be pickled. Including memoryview.
Issue #20440: Massive replacing unsafe attribute setting code with special macro Py_SETREF.
Issue #25766: Special method __bytes__() now works in str subclasses.
Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size. This allows sys.getsize() to work correctly with their subclasses with __slots__ defined.
Issue #25709: Fixed problem with in-place string concatenation and utf-8 cache.
Issue #27147: Mention PEP 420 in the importlib docs.
Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside __getattr__.
Issue #24731: Fixed crash on converting objects with special methods __bytes__, __trunc__, and __float__ returning instances of subclasses of bytes, int, and float to subclasses of bytes, int, and float correspondingly.
Issue #26478: Fix semantic bugs when using binary operators with dictionary views and tuples.
Issue #26171: Fix possible integer overflow and heap corruption in zipimporter.get_data().
Issue #25660: Fix TAB key behaviour in REPL with readline.
Issue #25887: Raise a RuntimeError when a coroutine object is awaited more than once.
Issue #27243: Update the __aiter__ protocol: instead of returning an awaitable that resolves to an asynchronous iterator, the asynchronous iterator should be returned directly. Doing the former will trigger a PendingDeprecationWarning.

Library:

Issue #26556: Update expat to 2.1.1, fixes CVE-2015-1283.

Fix TLS stripping vulnerability in smptlib, CVE-2016-0772. Reported by Team
Oststrom:

Issue #21386: Implement missing IPv4Address.is_global property. It was documented since 07a5610bae9d. Initial patch by Roger Luethi.
Issue #20900: distutils register command now decodes HTTP responses correctly.
Initial patch by ingrid.
A new version of typing.py provides several new classes and features: @overload outside stubs, Reversible, DefaultDict, Text, ContextManager, Type[], NewType(), TYPE_CHECKING, and numerous bug fixes (note that some of the new features are not yet implemented in mypy or other static analyzers). Also classes for PEP 492 (Awaitable, AsyncIterable, AsyncIterator) have been added (in fact they made it into 3.5.1 but were never mentioned).
Issue #25738: Stop http.server.BaseHTTPRequestHandler.send_error() from sending a message body for 205 Reset Content. Also, don’t send Content header fields in responses that don’t have a body. Patch by Susumu Koshiba.
Issue #21313: Fix the “platform” module to tolerate when sys.version contains truncated build information.
Issue #26839: On Linux, os.urandom() now calls getrandom() with GRND_NONBLOCK to fall back on reading /dev/urandom if the urandom entropy pool is not initialized yet. Patch written by Colm Buckley.
Issue #27164: In the zlib module, allow decompressing raw Deflate streams with a predefined zdict. Based on patch by Xiang Zhang.
Issue #24291: Fix wsgiref.simple_server.WSGIRequestHandler to completely write data to the client. Previously it could do partial writes and truncate data. Also, wsgiref.handler.ServerHandler can now handle stdout doing partial writes, but this is deprecated.
Issue #26809: Add __all__ to string. Patch by Emanuel Barry.
Issue #26373: subprocess.Popen.communicate now correctly ignores BrokenPipeError when the child process dies before .communicate() is called in more/all circumstances.
Issue #21776: distutils.upload now correctly handles HTTPError. Initial patch by Claudiu Popa.
Issue #27114: Fix SSLContext._load_windows_store_certs fails with PermissionError
Issue #18383: Avoid creating duplicate filters when using filterwarnings and simplefilter. Based on patch by Alex Shkop.
Issue #27057: Fix os.set_inheritable() on Android, ioctl() is blocked by SELinux and fails with EACCESS. The function now falls back to fcntl(). Patch written by Michal Bednarski.
Issue #27014: Fix infinite recursion using typing.py. Thanks to Kalle Tuure!
Issue #14132: Fix urllib.request redirect handling when the target only has a query string. Original fix by Ján Janech.
Issue #17214: The “urllib.request” module now percent-encodes non-ASCII bytes found in redirect target URLs. Some servers send Location header fields with non-ASCII bytes, but “http.client” requires the request target to be ASCII-encodable, otherwise a UnicodeEncodeError is raised. Based on patch by Christian Heimes.
Issue #26892: Honor debuglevel flag in urllib.request.HTTPHandler. Patch contributed by Chi Hsuan Yen.
Issue #22274: In the subprocess module, allow stderr to be redirected to stdout even when stdout is not redirected. Patch by Akira Li.
Issue #26807: mock_open ‘files’ no longer error on readline at end of file. Patch from Yolanda Robla.
Issue #25745: Fixed leaking a userptr in curses panel destructor.
Issue #26977: Removed unnecessary, and ignored, call to sum of squares helper in statistics.pvariance.
Issue #26881: The modulefinder module now supports extended opcode arguments.
Issue #23815: Fixed crashes related to directly created instances of types in _tkinter and curses.panel modules.
Issue #17765: weakref.ref() no longer silently ignores keyword arguments. Patch by Georg Brandl.
Issue #26873: xmlrpc now raises ResponseError on unsupported type tags instead of silently return incorrect result.
Issue #26711: Fixed the comparison of plistlib.Data with other types.
Issue #24114: Fix an uninitialized variable in ctypes.util.
The bug only occurs on SunOS when the ctypes implementation searches for the crle program. Patch by Xiang Zhang. Tested on SunOS by Kees Bos.
Issue #26864: In urllib.request, change the proxy bypass host checking against no_proxy to be case-insensitive, and to not match unrelated host names that happen to have a bypassed hostname as a suffix. Patch by Xiang Zhang.
Issue #26634: recursive_repr() now sets __qualname__ of wrapper. Patch by Xiang Zhang.
Issue #26804: urllib.request will prefer lower_case proxy environment variables over UPPER_CASE or Mixed_Case ones. Patch contributed by Hans-Peter Jansen.
Issue #26837: assertSequenceEqual() now correctly outputs non-stringified differing items (like bytes in the -b mode). This affects assertListEqual() and assertTupleEqual().
Issue #26041: Remove “will be removed in Python 3.7” from deprecation messages of platform.dist() and platform.linux_distribution(). Patch by Kumaripaba Miyurusara Athukorala.
Issue #26822: itemgetter, attrgetter and methodcaller objects no longer silently ignore keyword arguments.
Issue #26733: Disassembling a class now disassembles class and static methods. Patch by Xiang Zhang.
Issue #26801: Fix error handling in shutil.get_terminal_size(), catch AttributeError instead of NameError. Patch written by Emanuel Barry.
Issue #24838: tarfile’s ustar and gnu formats now correctly calculate name and link field limits for multibyte character encodings like utf-8.
Issue #26657: Fix directory traversal vulnerability with http.server on Windows. This fixes a regression that was introduced in 3.3.4rc1 and 3.4.0rc1. Based on patch by Philipp Hagemeister.
Issue #26717: Stop encoding Latin-1-ized WSGI paths with UTF-8. Patch by Anthony Sottile.
Issue #26735: Fix os.urandom() on Solaris 11.3 and newer when reading more than 1,024 bytes: call getrandom() multiple times with a limit of 1024 bytes per call.
Issue #16329: Add .webm to mimetypes.types_map. Patch by Giampaolo Rodola’.
Issue #13952: Add .csv to mimetypes.types_map. Patch by Geoff Wilson.
Issue #26709: Fixed Y2038 problem in loading binary PLists.
Issue #23735: Handle terminal resizing with Readline 6.3+ by installing our own SIGWINCH handler. Patch by Eric Price.
Issue #26586: In http.server, respond with “413 Request header fields too large” if there are too many header fields to parse, rather than killing the connection and raising an unhandled exception. Patch by Xiang Zhang.
Issue #22854: Change BufferedReader.writable() and BufferedWriter.readable() to always return False.
Issue #25195: Fix a regression in mock.MagicMock. _Call is a subclass of tuple (changeset 3603bae63c13 only works for classes) so we need to implement __ne__ ourselves. Patch by Andrew Plummer.
Issue #26644: Raise ValueError rather than SystemError when a negative length is passed to SSLSocket.recv() or read().
Issue #23804: Fix SSL recv(0) and read(0) methods to return zero bytes instead of up to 1024.
Issue #26616: Fixed a bug in datetime.astimezone() method.
Issue #21925: warnings.formatwarning() now catches exceptions on linecache.getline(...) to be able to log ResourceWarning emitted late during the Python shutdown process.
Issue #24266: Ctrl+C during Readline history search now cancels the search mode when compiled with Readline 7.
Issue #26560: Avoid potential ValueError in BaseHandler.start_response. Initial patch by Peter Inglesby.
Issue #26313: ssl.py _load_windows_store_certs fails if windows cert store is empty. Patch by Baji.
Issue #26569: Fix pyclbr.readmodule() and pyclbr.readmodule_ex() to support importing packages.
Issue #26499: Account for remaining Content-Length in HTTPResponse.readline() and read1(). Based on patch by Silent Ghost. Also document that HTTPResponse now supports these methods.
Issue #25320: Handle sockets in directories unittest discovery is scanning. Patch from Victor van den Elzen.
Issue #16181: cookiejar.http2time() now returns None if year is higher than datetime.MAXYEAR.
Issue #26513: Fixes platform module detection of Windows Server
Issue #23718: Fixed parsing time in week 0 before Jan 1. Original patch by Tamás Bence Gedai.
Issue #20589: Invoking Path.owner() and Path.group() on Windows now raise NotImplementedError instead of ImportError.
Issue #26177: Fixed the keys() method for Canvas and Scrollbar widgets.
Issue #15068: Got rid of excessive buffering in the fileinput module. The bufsize parameter is no longer used.
Issue #2202: Fix UnboundLocalError in AbstractDigestAuthHandler.get_algorithm_impls. Initial patch by Mathieu Dupuy.
Issue #25718: Fixed pickling and copying the accumulate() iterator with total is None.
Issue #26475: Fixed debugging output for regular expressions with the (?x) flag.
Issue #26457: Fixed the subnets() methods in IP network classes for the case when resulting prefix length is equal to maximal prefix length. Based on patch by Xiang Zhang.
Issue #26385: Remove the file if the internal open() call in NamedTemporaryFile() fails. Patch by Silent Ghost.
Issue #26402: Fix XML-RPC client to retry when the server shuts down a persistent connection. This was a regression related to the new http.client.RemoteDisconnected exception in 3.5.0a4.
Issue #25913: Leading

[close]

http://www.python.org/
Titel: Python 2.7.12
Beitrag von: SiLæncer am 05 Juli, 2016, 16:15
Changelog

What's New in Python 2.7.12?
============================

*Release date: 2016-06-25*

Build
-----

- Issue #26930: Update Windows builds to use OpenSSL 1.0.2h.

IDLE
----

- Issue #27365: Fix about dialog.


What's New in Python 2.7.12 release candidate 1?
================================================

*Release date: 2016-06-12*

Core and Builtins
-----------------

- Issue #20041: Fixed TypeError when frame.f_trace is set to None.
  Patch by Xavier de Gaye.

- Issue #25702: A --with-lto configure option has been added that will
  enable link time optimizations at build time during a make profile-opt.
  Some compilers and toolchains are known to not produce stable code when
  using LTO, be sure to test things thoroughly before relying on it.
  It can provide a few % speed up over profile-opt alone.

- Issue #26168: Fixed possible refleaks in failing Py_BuildValue() with the "N"
  format unit.

- Issue #27039: Fixed bytearray.remove() for values greater than 127.  Patch by
  Joe Jevnik.

- Issue #4806: Avoid masking the original TypeError exception when using star
  (*) unpacking and the exception was raised from a generator.  Based on
  patch by Hagen Fürstenau.

- Issue #26659: Make the builtin slice type support cycle collection.

- Issue #26718: super.__init__ no longer leaks memory if called multiple times.
  NOTE: A direct call of super.__init__ is not endorsed!

- Issue #13410: Fixed a bug in PyUnicode_Format where it failed to properly
  ignore errors from a __int__() method.

- Issue #26494: Fixed crash on iterating exhausting iterators.
  Affected classes are generic sequence iterators, iterators of bytearray,
  list, tuple, set, frozenset, dict, OrderedDict and corresponding views.

- Issue #26581: If coding cookie is specified multiple times on a line in
  Python source code file, only the first one is taken to account.

- Issue #22836: Ensure exception reports from PyErr_Display() and
  PyErr_WriteUnraisable() are sensible even when formatting them produces
  secondary errors.  This affects the reports produced by
  sys.__excepthook__() and when __del__() raises an exception.

- Issue #22847: Improve method cache efficiency.

- Issue #25843: When compiling code, don't merge constants if they are equal
  but have a different types. For example, ``f1, f2 = lambda: 1, lambda: 1.0``
  is now correctly compiled to two different functions: ``f1()`` returns ``1``
  (``int``) and ``f2()`` returns ``1.0`` (``int``), even if ``1`` and ``1.0``
  are equal.

- Issue #22995: [UPDATE] Remove the one of the pickleability tests in
  _PyObject_GetState() due to regressions observed in Cython-based projects.

- Issue #25961: Disallowed null characters in the type name.

- Issue #22995: Instances of extension types with a state that aren't
  subclasses of list or dict and haven't implemented any pickle-related
  methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__,
  or __getstate__), can no longer be pickled.  Including memoryview.

- Issue #20440: Massive replacing unsafe attribute setting code with special
  macro Py_SETREF.

- Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.
  This allows sys.getsize() to work correctly with their subclasses with
  __slots__ defined.

- Issue #19543: Added Py3k warning for decoding unicode.

- Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside
  __getattr__.

- Issue #24731: Fixed crash on converting objects with special methods
  __str__, __trunc__, and __float__ returning instances of subclasses of
  str, long, and float to subclasses of str, long, and float correspondingly.

- Issue #26478: Fix semantic bugs when using binary operators with dictionary
  views and tuples.

- Issue #26171: Fix possible integer overflow and heap corruption in
  zipimporter.get_data().

Library
-------

- Issue #26556: Update expat to 2.1.1, fixes CVE-2015-1283.

- Fix TLS stripping vulnerability in smptlib, CVE-2016-0772.  Reported by Team
  Oststrom

- Issue #7356: ctypes.util: Make parsing of ldconfig output independent of the
  locale.

- Issue #25738: Stop BaseHTTPServer.BaseHTTPRequestHandler.send_error() from
  sending a message body for 205 Reset Content.  Also, don't send the
  Content-Type header field in responses that don't have a body.  Based on
  patch by Susumu Koshiba.

- Issue #21313: Fix the "platform" module to tolerate when sys.version
  contains truncated build information.

- Issue #27211: Fix possible memory corruption in io.IOBase.readline().

- Issue #27114: Fix SSLContext._load_windows_store_certs fails with
  PermissionError

- Issue #14132: Fix urllib.request redirect handling when the target only has
  a query string.  Fix by Ján Janech.

- Removed the requirements for the ctypes and modulefinder modules to be
  compatible with earlier Python versions.

- Issue #22274: In the subprocess module, allow stderr to be redirected to
  stdout even when stdout is not redirected.  Patch by Akira Li.

- Issue #12045: Avoid duplicate execution of command in ctypes.util._get_soname().
  Patch by Sijin Joseph.

- Issue #26960: Backported #16270 from Python 3 to Python 2, to prevent urllib
  from hanging when retrieving certain FTP files.

- Issue #25745: Fixed leaking a userptr in curses panel destructor.

- Issue #17765: weakref.ref() no longer silently ignores keyword arguments.
  Patch by Georg Brandl.

- Issue #26873: xmlrpclib now raises ResponseError on unsupported type tags
  instead of silently return incorrect result.

- Issue #24114: Fix an uninitialized variable in `ctypes.util`.

  The bug only occurs on SunOS when the ctypes implementation searches
  for the `crle` program.  Patch by Xiang Zhang.  Tested on SunOS by
  Kees Bos.

- Issue #26864: In urllib, change the proxy bypass host checking against
  no_proxy to be case-insensitive, and to not match unrelated host names that
  happen to have a bypassed hostname as a suffix.  Patch by Xiang Zhang.

- Issue #26804: urllib will prefer lower_case proxy environment variables over
  UPPER_CASE or Mixed_Case ones. Patch contributed by Hans-Peter Jansen.

- Issue #26837: assertSequenceEqual() now correctly outputs non-stringified
  differing items.  This affects assertListEqual() and assertTupleEqual().

- Issue #26822: itemgetter, attrgetter and methodcaller objects no longer
  silently ignore keyword arguments.

- Issue #26657: Fix directory traversal vulnerability with SimpleHTTPServer
  on Windows.  This fixes a regression that was introduced in 2.7.7.  Based
  on patch by Philipp Hagemeister.

- Issue #19377: Add .svg to mimetypes.types_map.

- Issue #13952: Add .csv to mimetypes.types_map.  Patch by Geoff Wilson.

- Issue #16329: Add .webm to mimetypes.types_map.  Patch by Giampaolo Rodola'.

- Issue #23735: Handle terminal resizing with Readline 6.3+ by installing our
  own SIGWINCH handler.  Patch by Eric Price.

- Issue #26644: Raise ValueError rather than SystemError when a negative
  length is passed to SSLSocket.recv() or read().

- Issue #23804: Fix SSL recv(0) and read(0) methods to return zero bytes
  instead of up to 1024.

- Issue #24266: Ctrl+C during Readline history search now cancels the search
  mode when compiled with Readline 7.

- Issue #23857: Implement PEP 493, adding a Python-2-only ssl module API and
  environment variable to configure the default handling of SSL/TLS certificates
  for HTTPS connections.

- Issue #26313: ssl.py _load_windows_store_certs fails if windows cert store
  is empty. Patch by Baji.

- Issue #26513: Fixes platform module detection of Windows Server

- Issue #23718: Fixed parsing time in week 0 before Jan 1.  Original patch by
  Tamás Bence Gedai.

- Issue #26177: Fixed the keys() method for Canvas and Scrollbar widgets.

- Issue #15068: Got rid of excessive buffering in the fileinput module.
  The bufsize parameter is no longer used.

- Issue #2202: Fix UnboundLocalError in
  AbstractDigestAuthHandler.get_algorithm_impls.  Initial patch by Mathieu Dupuy.

- Issue #26475: Fixed debugging output for regular expressions with the (?x)
  flag.

- Issue #26385: Remove the file if the internal fdopen() call in
  NamedTemporaryFile() fails.  Based on patch by Silent Ghost.

- Issue #26309: In the "socketserver" module, shut down the request (closing
  the connected socket) when verify_request() returns false.  Based on patch
  by Aviv Palivoda.

- Issue #25939: On Windows open the cert store readonly in ssl.enum_certificates.

- Issue #24303: Fix random EEXIST upon multiprocessing semaphores creation with
  Linux PID namespaces enabled.

- Issue #25698: Importing module if the stack is too deep no longer replaces
  imported module with the empty one.

- Issue #12923: Reset FancyURLopener's redirect counter even if there is an
  exception.  Based on patches by Brian Brazil and Daniel Rocco.

- Issue #25945: Fixed a crash when unpickle the functools.partial object with
  wrong state.  Fixed a leak in failed functools.partial constructor.
  "args" and "keywords" attributes of functools.partial have now always types
  tuple and dict correspondingly.

- Issue #19883: Fixed possible integer overflows in zipimport.

- Issue #26147: xmlrpclib now works with unicode not encodable with used
  non-UTF-8 encoding.

- Issue #16620: Fixed AttributeError in msilib.Directory.glob().

- Issue #21847: Fixed xmlrpclib on Unicode-disabled builds.

- Issue #6500: Fixed infinite recursion in urllib2.Request.__getattr__().

- Issue #26083: Workaround a subprocess bug that raises an incorrect
  "ValueError: insecure string pickle" exception instead of the actual
  exception on some platforms such as Mac OS X when an exception raised
  in the forked child process prior to the exec() was large enough that
  it overflowed the internal errpipe_read pipe buffer.

- Issue #24103: Fixed possible use after free in ElementTree.iterparse().

- Issue #20954: _args_from_interpreter_flags used by multiprocessing and some
  tests no longer behaves incorrectly in the presence of the PYTHONHASHSEED
  environment variable.

- Issue #14285: When executing a package with the "python -m package" option,
  and package initialization raises ImportError, a proper traceback is now
  reported.

- Issue #6478: _strptime's regexp cache now is reset after changing timezone
  with time.tzset().

- Issue #25718: Fixed copying object with state with boolean value is false.

- Issue #25742: :func:`locale.setlocale` now accepts a Unicode string for
  its second parameter.

- Issue #10131: Fixed deep copying of minidom documents.  Based on patch
  by Marian Ganisin.

- Issue #25725: Fixed a reference leak in cPickle.loads() when unpickling
  invalid data including tuple instructions.

- Issue #25663: In the Readline completer, avoid listing duplicate global
  names, and search the global namespace before searching builtins.

- Issue #25688: Fixed file leak in ElementTree.iterparse() raising an error.

- Issue #23914: Fixed SystemError raised by CPickle unpickler on broken data.

- Issue #25924: Avoid unnecessary serialization of getaddrinfo(3) calls on
  OS X versions 10.5 or higher.  Original patch by A. Jesse Jiryu Davis.

- Issue #26406: Avoid unnecessary serialization of getaddrinfo(3) calls on
  current versions of OpenBSD and NetBSD.  Patch by A. Jesse Jiryu Davis.

IDLE
----

- Issue #5124: Paste with text selected now replaces the selection on X11.
  This matches how paste works on Windows, Mac, most modern Linux apps,
  and ttk widgets.  Original patch by Serhiy Storchaka.

- Issue #24759: Make clear in idlelib.idle_test.__init__ that the directory
  is a private implementation of test.test_idle and tool for maintainers.

- Issue #26673: When tk reports font size as 0, change to size 10.
  Such fonts on Linux prevented the configuration dialog from opening.

- Issue #27044: Add ConfigDialog.remove_var_callbacks to stop memory leaks.

- In the 'IDLE-console differences' section of the IDLE doc, clarify
  how running with IDLE affects sys.modules and the standard streams.

- Issue #25507: fix incorrect change in IOBinding that prevented printing.
  Change also prevented saving shell window with non-ascii characters.
  Augment IOBinding htest to include all major IOBinding functions.

- Issue #25905: Revert unwanted conversion of ' to ’ RIGHT SINGLE QUOTATION
  MARK in README.txt and open this and NEWS.txt with 'ascii'.
  Re-encode CREDITS.txt to utf-8 and open it with 'utf-8'.

- Issue #26417: Prevent spurious errors and incorrect defaults when
  installing IDLE 2.7 on OS X: default configuration settings are
  no longer installed from OS X specific copies.

Documentation
-------------

- Issue #26736: Used HTTPS for external links in the documentation if possible.

- Issue #6953: Rework the Readline module documentation to group related
  functions together, and add more details such as what underlying Readline
  functions and variables are accessed.

- Issue #26014: Guide users to the newer packaging documentation as was done
  for Python 3.x.  In particular, the top-level 2.7 documentation page now
  links to the newer installer and distributions pages rather than the
  legacy install and Distutils pages; these are still linked to in the
  library/distutils doc page.

Tests
-----

- Issue #21916: Added tests for the turtle module.  Patch by ingrid,
  Gregory Loyse and Jelle Zijlstra.

- Issue #25940: Changed test_ssl to use self-signed.pythontest.net.  This
  avoids relying on svn.python.org, which recently changed root certificate.

- Issue #25616: Tests for OrderedDict are extracted from test_collections
  into separate file test_ordered_dict.

Build
-----

- Issue #22359: Avoid incorrect recursive $(MAKE), and disable the rules for
  running pgen when cross-compiling.  The pgen output is normally saved with
  the source code anyway, and is still regenerated when doing a native build.
  Patch by Jonas Wagner and Xavier de Gaye.

- Issue #19450: Update Windows builds to use SQLite 3.8.11.0.

- Issue #27229: Fix the cross-compiling pgen rule for in-tree builds.  Patch
  by Xavier de Gaye.

- Issue #17603: Avoid error about nonexistant fileblocks.o file by using a
  lower-level check for st_blocks in struct stat.

- Issue #26465: Update Windows builds to use OpenSSL 1.0.2g.

- Issue #24421: Compile Modules/_math.c once, before building extensions.
  Previously it could fail to compile properly if the math and cmath builds
  were concurrent.

- Issue #25824: Fixes sys.winver to not include any architecture suffix.

- Issue #25348: Added ``--pgo`` and ``--pgo-job`` arguments to
  ``PCbuild\build.bat`` for building with Profile-Guided Optimization.  The
  old ``PCbuild\build_pgo.bat`` script is now deprecated, and simply calls
  ``PCbuild\build.bat --pgo %*``.

- Issue #25827: Add support for building with ICC to ``configure``, including
  a new ``--with-icc`` flag.

- Issue #25696: Fix installation of Python on UNIX with make -j9.

- Issue #26930: Update OS X 10.5+ 32-bit-only installer to build
  and link with OpenSSL 1.0.2h.

- Issue #26268: Update Windows builds to use OpenSSL 1.0.2f.

- Issue #25136: Support Apple Xcode 7's new textual SDK stub libraries.

Tools/Demos
-----------

- Issue #26799: Fix python-gdb.py: don't get C types once when the Python code
  is loaded, but get C types on demand. The C types can change if
  python-gdb.py is loaded before the Python executable. Patch written by Thomas
  Ilsche.

C API
-----

- Issue #26476: Fixed compilation error when use PyErr_BadInternalCall() in C++.
  Patch by Jeroen Demeyer.

Misc
----

- Issue #17500, and https://github.com/python/pythondotorg/issues/945: Remove
  unused and outdated icons.

[close]

http://www.python.org/
Titel: Python 3.6.0
Beitrag von: SiLæncer am 23 Dezember, 2016, 13:40
Changelog

HIGHLIGHTS:

New syntax features:

PEP 498, formatted string literals.
PEP 515, underscores in numeric literals.
PEP 526, syntax for variable annotations.
PEP 525, asynchronous generators.
PEP 530: asynchronous comprehensions.

New library modules:

secrets: PEP 506 – Adding A Secrets Module To The Standard Library.

CPython implementation improvements:

The dict type has been reimplemented to use a more compact representation similar to the PyPy dict implementation. This resulted in dictionaries using 20% to 25% less memory when compared to Python 3.5.
Customization of class creation has been simplified with the new protocol.
The class attribute definition order is now preserved.
The order of elements in **kwargs now corresponds to the order in which keyword arguments were passed to the function.
DTrace and SystemTap probing support has been added.
The new PYTHONMALLOC environment variable can now be used to debug the interpreter memory allocation and access errors.

Significant improvements in the standard library:

The asyncio module has received new features, significant usability and performance improvements, and a fair amount of bug fixes. Starting with Python 3.6 the asyncio module is no longer provisional and its API is considered stable.
A new file system path protocol has been implemented to support path-like objects. All standard library functions operating on paths have been updated to work with the new protocol.
The datetime module has gained support for Local Time Disambiguation.
The typing module received a number of improvements and is no longer provisional.
The tracemalloc module has been significantly reworked and is now used to provide better output for ResourceWarning as well as provide better diagnostics for memory allocation errors. See the PYTHONMALLOC section for more information.

Security improvements:

The new secrets module has been added to simplify the generation of cryptographically strong pseudo-random numbers suitable for managing secrets such as account authentication, tokens, and similar.
On Linux, os.urandom() now blocks until the system urandom entropy pool is initialized to increase the security. See the PEP 524 for the rationale.
The hashlib and ssl modules now support OpenSSL 1.1.0.
The default settings and feature set of the ssl module have been improved.
The hashlib module received support for the BLAKE2, SHA-3 and SHAKE hash algorithms and the scrypt() key derivation function.

Windows improvements::

PEP 528 and PEP 529, Windows filesystem and console encoding changed to UTF-8.
The py.exe launcher, when used interactively, no longer prefers Python 2 over Python 3 when the user doesn’t specify a version (via command line arguments or a config file). Handling of shebang lines remains unchanged - “python” refers to Python 2 in that case.
python.exe and pythonw.exe have been marked as long-path aware, which means that the 260 character path limit may no longer apply. See removing the MAX_PATH limitation for details.
A ._pth file can be added to force isolated mode and fully specify all search paths to avoid registry and environment lookup. See the documentation for more information.
A python36.zip file now works as a landmark to infer PYTHONHOME. See the documentation for more information.

Further details on this release are available at:

https://docs.python.org/3.6/whatsnew/3.6.html#new-features.

[close]

http://www.python.org/
Titel: Python 3.5.3
Beitrag von: SiLæncer am 19 Januar, 2017, 16:45
Changelog

- improved Python zip application support.
- additional unpacking generalizations.
- "%-formatting" for bytes and bytearray objects.
- a new operator (@) for matrix multiplication.
- os.scandir(), a fast new directory traversal function.
- adding support for automatic retries of interrupted system calls.
- change StopIteration handling inside generators.
- the typing module, a new standard for type annotations.
- math.isclose(), a function for testing approximate equality.
- making the Windows Python launcher aware of virtual environments.
- eliminating .pyo files.
- a new and improved mechanism for loading extension modules.
- coroutines with async and await syntax.

[close]

http://www.python.org/
Titel: Python 3.6.1 Final
Beitrag von: SiLæncer am 22 März, 2017, 13:25
Changelog

Core and Builtins

    bpo-29723: The sys.path[0] initialization change for bpo-29139 caused a regression by revealing an inconsistency in how sys.path is initialized when executing __main__ from a zipfile, directory, or other import location. The interpreter now consistently avoids ever adding the import location’s parent directory to sys.path, and ensures no other sys.path entries are inadvertently modified when inserting the import location named on the command line.

Build

    bpo-27593: fix format of git information used in sys.version
    Fix incompatible comment in python.h

[close]

http://www.python.org/
Titel: Python 3.6.3
Beitrag von: SiLæncer am 04 Oktober, 2017, 17:15
Changelog

Library:

bpo-31641: Re-allow arbitrary iterables in concurrent.futures.as_completed(). Fixes regression in 3.6.3rc1.

Build:

bpo-31662: Fix typos in Windows uploadrelease.bat script. Fix Windows Doc build issues in Doc/make.bat.
bpo-31423: Fix building the PDF documentation with newer versions of Sphinx.

[close]

http://www.python.org/
Titel: Python 3.6.4 Final
Beitrag von: SiLæncer am 19 Dezember, 2017, 13:45
Changelog

Python 3.6.4 final

Release date: 2017-12-18

There were no new code changes in version 3.6.4 since v3.6.4rc1.
Python 3.6.4 release candidate 1

Release date: 2017-12-05
Core and Builtins

    bpo-32176: co_flags.CO_NOFREE is now always set correctly by the code object constructor based on freevars and cellvars, rather than needing to be set correctly by the caller. This ensures it will be cleared automatically when additional cell references are injected into a modified code object and function.
    bpo-31949: Fixed several issues in printing tracebacks (PyTraceBack_Print()).
        Setting sys.tracebacklimit to 0 or less now suppresses printing tracebacks.
        Setting sys.tracebacklimit to None now causes using the default limit.
        Setting sys.tracebacklimit to an integer larger than LONG_MAX now means using the limit LONG_MAX rather than the default limit.
        Fixed integer overflows in the case of more than 2**31 traceback items on Windows.
        Fixed output errors handling.
    bpo-30696: Fix the interactive interpreter looping endlessly when no memory.
    bpo-20047: Bytearray methods partition() and rpartition() now accept only bytes-like objects as separator, as documented. In particular they now raise TypeError rather of returning a bogus result when an integer is passed as a separator.
    bpo-31852: Fix a segmentation fault caused by a combination of the async soft keyword and continuation lines.
    bpo-21720: BytesWarning no longer emitted when the fromlist argument of __import__() or the __all__ attribute of the module contain bytes instances.
    bpo-31825: Fixed OverflowError in the ‘unicode-escape’ codec and in codecs.escape_decode() when decode an escaped non-ascii byte.
    bpo-28603: Print the full context/cause chain of exceptions on interpreter exit, even if an exception in the chain is unhashable or compares equal to later ones. Patch by Zane Bitter.
    bpo-31786: Fix timeout rounding in the select module to round correctly negative timeouts between -1.0 and 0.0. The functions now block waiting for events as expected. Previously, the call was incorrectly non-blocking. Patch by Pablo Galindo.
    bpo-31642: Restored blocking “from package import module” by setting sys.modules[“package.module”] to None.
    bpo-31626: Fixed a bug in debug memory allocator. There was a write to freed memory after shrinking a memory block.
    bpo-31619: Fixed a ValueError when convert a string with large number of underscores to integer with binary base.
    bpo-31592: Fixed an assertion failure in Python parser in case of a bad unicodedata.normalize(). Patch by Oren Milman.
    bpo-31588: Raise a TypeError with a helpful error message when class creation fails due to a metaclass with a bad __prepare__() method. Patch by Oren Milman.
    bpo-31566: Fix an assertion failure in _warnings.warn() in case of a bad __name__ global. Patch by Oren Milman.
    bpo-31505: Fix an assertion failure in json, in case _json.make_encoder() received a bad encoder() argument. Patch by Oren Milman.
    bpo-31492: Fix assertion failures in case of failing to import from a module with a bad __name__ attribute, and in case of failing to access an attribute of such a module. Patch by Oren Milman.
    bpo-31490: Fix an assertion failure in ctypes class definition, in case the class has an attribute whose name is specified in _anonymous_ but not in _fields_. Patch by Oren Milman.
    bpo-31478: Fix an assertion failure in _random.Random.seed() in case the argument has a bad __abs__() method. Patch by Oren Milman.
    bpo-31315: Fix an assertion failure in imp.create_dynamic(), when spec.name is not a string. Patch by Oren Milman.
    bpo-31311: Fix a crash in the __setstate__() method of ctypes._CData, in case of a bad __dict__. Patch by Oren Milman.
    bpo-31293: Fix crashes in true division and multiplication of a timedelta object by a float with a bad as_integer_ratio() method. Patch by Oren Milman.
    bpo-31285: Fix an assertion failure in warnings.warn_explicit, when the return value of the received loader’s get_source() has a bad splitlines() method. Patch by Oren Milman.
    bpo-30817: PyErr_PrintEx() clears now the ignored exception that may be raised by _PySys_SetObjectId(), for example when no memory.

Library

    bpo-28556: Two minor fixes for typing module: allow shallow copying instances of generic classes, improve interaction of __init_subclass__ with generics. Original PRs by Ivan Levkivskyi.

    bpo-27240: The header folding algorithm for the new email policies has been rewritten, which also fixes bpo-30788, bpo-31831, and bpo-32182. In particular, RFC2231 folding is now done correctly.

    bpo-32186: io.FileIO.readall() and io.FileIO.read() now release the GIL when getting the file size. Fixed hang of all threads with inaccessible NFS server. Patch by Nir Soffer.

    bpo-12239: Make msilib.SummaryInformation.GetProperty() return None when the value of property is VT_EMPTY. Initial patch by Mark Mc Mahon.

    bpo-31325: Fix wrong usage of collections.namedtuple() in the RobotFileParser.parse() method.

    Initial patch by Robin Wellner.

    bpo-12382: msilib.OpenDatabase() now raises a better exception message when it couldn’t open or create an MSI file. Initial patch by William Tisäter.

    bpo-32110: codecs.StreamReader.read(n) now returns not more than n characters/bytes for non-negative n. This makes it compatible with read() methods of other file-like objects.

    bpo-32072: Fixed issues with binary plists:
        Fixed saving bytearrays.
        Identical objects will be saved only once.
        Equal references will be load as identical objects.
        Added support for saving and loading recursive data structures.

    bpo-32034: Make asyncio.IncompleteReadError and LimitOverrunError pickleable.

    bpo-32015: Fixed the looping of asyncio in the case of reconnection the socket during waiting async read/write from/to the socket.

    bpo-32011: Restored support of loading marshal files with the TYPE_INT64 code. These files can be produced in Python 2.7.

    bpo-31970: Reduce performance overhead of asyncio debug mode.

    bpo-9678: Fixed determining the MAC address in the uuid module:
        Using ifconfig on NetBSD and OpenBSD.
        Using arp on Linux, FreeBSD, NetBSD and OpenBSD.

    Based on patch by Takayuki Shimizukawa.

    bpo-30057: Fix potential missed signal in signal.signal().

    bpo-31933: Fix Blake2 params leaf_size and node_offset on big endian platforms. Patch by Jack O’Connor.

    bpo-31927: Fixed compilation of the socket module on NetBSD 8. Fixed assertion failure or reading arbitrary data when parse a AF_BLUETOOTH address on NetBSD and DragonFly BSD.

    bpo-27666: Fixed stack corruption in curses.box() and curses.ungetmouse() when the size of types chtype or mmask_t is less than the size of C long. curses.box() now accepts characters as arguments. Based on patch by Steve Fink.

    bpo-31897: plistlib now catches more errors when read binary plists and raises InvalidFileException instead of unexpected exceptions.

    bpo-25720: Fix the method for checking pad state of curses WINDOW. Patch by Masayuki Yamamoto.

    bpo-31893: Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD. Fixed the comparison of the kqueue_event objects.

    bpo-31891: Fixed building the curses module on NetBSD.

    bpo-28416: Instances of pickle.Pickler subclass with the persistent_id() method and pickle.Unpickler subclass with the persistent_load() method no longer create reference cycles.

    bpo-28326: Fix multiprocessing.Process when stdout and/or stderr is closed or None.

    bpo-31457: If nested log adapters are used, the inner process() methods are no longer omitted.

    bpo-31457: The manager property on LoggerAdapter objects is now properly settable.

    bpo-31806: Fix timeout rounding in time.sleep(), threading.Lock.acquire() and socket.socket.settimeout() to round correctly negative timeouts between -1.0 and 0.0. The functions now block waiting for events as expected. Previously, the call was incorrectly non-blocking. Patch by Pablo Galindo.

    bpo-28603: traceback: Fix a TypeError that occurred during printing of exception tracebacks when either the current exception or an exception in its context/cause chain is unhashable. Patch by Zane Bitter.

    bpo-30058: Fixed buffer overflow in select.kqueue.control().

    bpo-31770: Prevent a crash when calling the __init__() method of a sqlite3.Cursor object more than once. Patch by Oren Milman.

    bpo-31672: idpattern in string.Template matched some non-ASCII characters. Now it uses -i regular expression local flag to avoid non- ASCII characters.

    bpo-31764: Prevent a crash in sqlite3.Cursor.close() in case the Cursor object is uninitialized. Patch by Oren Milman.

    bpo-31752: Fix possible crash in timedelta constructor called with custom integers.

    bpo-31701: On Windows, faulthandler.enable() now ignores MSC and COM exceptions.

    bpo-31728: Prevent crashes in _elementtree due to unsafe cleanup of Element.text and Element.tail. Patch by Oren Milman.

    bpo-31620: an empty asyncio.Queue now doesn’t leak memory when queue.get pollers timeout

    bpo-31632: Fix method set_protocol() of class _SSLProtocolTransport in asyncio module. This method was previously modifying a wrong reference to the protocol.

    bpo-31675: Fixed memory leaks in Tkinter’s methods splitlist() and split() when pass a string larger than 2 GiB.

    bpo-31673: Fixed typo in the name of Tkinter’s method adderrorinfo().

    bpo-30806: Fix the string representation of a netrc object.

    bpo-15037: Added a workaround for getkey() in curses for ncurses 5.7 and earlier.

    bpo-25351: Avoid venv activate failures with undefined variables

    bpo-25532: inspect.unwrap() will now only try to unwrap an object sys.getrecursionlimit() times, to protect against objects which create a new object on every attribute access.

    bpo-30347: Stop crashes when concurrently iterate over itertools.groupby() iterators.

    bpo-31516: threading.current_thread() should not return a dummy thread at shutdown.

    bpo-31351: python -m ensurepip now exits with non-zero exit code if pip bootstrapping has failed.

    bpo-31482: random.seed() now works with bytes in version=1

    bpo-31334: Fix poll.poll([timeout]) in the select module for arbitrary negative timeouts on all OSes where it can only be a non- negative integer or -1. Patch by Riccardo Coccioli.

    bpo-31310: multiprocessing’s semaphore tracker should be launched again if crashed.

    bpo-31308: Make multiprocessing’s forkserver process immune to Ctrl-C and other user interruptions. If it crashes, restart it when necessary.

Documentation

    bpo-32105: Added asyncio.BaseEventLoop.connect_accepted_socket versionaddded marker.
    bpo-31537: Fix incorrect usage of get_history_length in readline documentation example code. Patch by Brad Smith.
    bpo-30085: The operator functions without double underscores are preferred for clarity. The one with underscores are only kept for back- compatibility.

Tests

    bpo-31380: Skip test_httpservers test_undecodable_file on macOS: fails on APFS.
    bpo-31705: Skip test_socket.test_sha256() on Linux kernel older than 4.5. The test fails with ENOKEY on kernel 3.10 (on ppc64le). A fix was merged into the kernel 4.5.
    bpo-31174: Fix test_tools.test_unparse: DirectoryTestCase now stores the names sample to always test the same files. It prevents false alarms when hunting reference leaks.
    bpo-30695: Add the set_nomemory(start, stop) and remove_mem_hooks() functions to the _testcapi module.

Build

    bpo-32059: detect_modules() in setup.py now also searches the sysroot paths when cross-compiling.
    bpo-31957: Fixes Windows SDK version detection when building for Windows.
    bpo-31609: Fixes quotes in PCbuild/clean.bat
    bpo-31934: Abort the build when building out of a not clean source tree.
    bpo-31926: Fixed Argument Clinic sometimes causing compilation errors when there was more than one function and/or method in a .c file with the same name.
    bpo-28791: Update Windows builds to use SQLite 3.21.0.
    bpo-28791: Update OS X installer to use SQLite 3.21.0.
    bpo-22140: Prevent double substitution of prefix in python-config.sh.
    bpo-31536: Avoid wholesale rebuild after make regen-all if nothing changed.

Windows

    bpo-1102: Return None when View.Fetch() returns ERROR_NO_MORE_ITEMS instead of raising MSIError.

    Initial patch by Anthony Tuininga.

    bpo-31944: Fixes Modify button in Apps and Features dialog.

macOS

    bpo-31392: Update macOS installer to use OpenSSL 1.0.2m

IDLE

    bpo-32207: Improve tk event exception tracebacks in IDLE. When tk event handling is driven by IDLE’s run loop, a confusing and distracting queue.EMPTY traceback context is no longer added to tk event exception tracebacks. The traceback is now the same as when event handling is driven by user code. Patch based on a suggestion by Serhiy Storchaka.

    bpo-32164: Delete unused file idlelib/tabbedpages.py. Use of TabbedPageSet in configdialog was replaced by ttk.Notebook.

    bpo-32100: IDLE: Fix old and new bugs in pathbrowser; improve tests. Patch mostly by Cheryl Sabella.

    bpo-31858: IDLE – Restrict shell prompt manipulaton to the shell. Editor and output windows only see an empty last prompt line. This simplifies the code and fixes a minor bug when newline is inserted. Sys.ps1, if present, is read on Shell start-up, but is not set or changed.

    bpo-31860: The font sample in the IDLE configuration dialog is now editable. Changes persist while IDLE remains open

    bpo-31836: Test_code_module now passes if run after test_idle, which sets ps1.

    The code module uses sys.ps1 if present or sets it to ‘>>> ‘ if not. Test_code_module now properly tests both behaviors. Ditto for ps2.

    bpo-28603: Fix a TypeError that caused a shell restart when printing a traceback that includes an exception that is unhashable. Patch by Zane Bitter.

    bpo-13802: Use non-Latin characters in the IDLE’s Font settings sample. Even if one selects a font that defines a limited subset of the unicode Basic Multilingual Plane, tcl/tk will use other fonts that define a character. The expanded example give users of non-Latin characters a better idea of what they might see in IDLE’s shell and editors. To make room for the expanded sample, frames on the Font tab are re-arranged. The Font/Tabs help explains a bit about the additions.

    bpo-31460: Simplify the API of IDLE’s Module Browser.

    Passing a widget instead of an flist with a root widget opens the option of creating a browser frame that is only part of a window. Passing a full file name instead of pieces assumed to come from a .py file opens the possibility of browsing python files that do not end in .py.

    bpo-31649: IDLE - Make _htest, _utest parameters keyword only.

    bpo-31559: Remove test order dependence in idle_test.test_browser.

    bpo-31459: Rename IDLE’s module browser from Class Browser to Module Browser. The original module-level class and method browser became a module browser, with the addition of module-level functions, years ago. Nested classes and functions were added yesterday. For back- compatibility, the virtual event <<open-class-browser>>, which appears on the Keys tab of the Settings dialog, is not changed. Patch by Cheryl Sabella.

    bpo-31500: Default fonts now are scaled on HiDPI displays.

    bpo-1612262: IDLE module browser now shows nested classes and functions. Original patches for code and tests by Guilherme Polo and Cheryl Sabella, respectively.

Tools/Demos

    bpo-30722: Make redemo work with Python 3.6 and newer versions.

    In Python 3.6, flags like re.DOTALL became members of an enum.IntFlag so usages like getattr(re, 'DOTALL') are invalid.

    Also, remove the LOCALE option since it doesn’t work with string patterns in Python 3.

    Patch by Christoph Sarnowski.

C API

    bpo-20891: Fix PyGILState_Ensure(). When PyGILState_Ensure() is called in a non-Python thread before PyEval_InitThreads(), only call PyEval_InitThreads() after calling PyThreadState_New() to fix a crash.
    bpo-31532: Fix memory corruption due to allocator mix in getpath.c between Py_GetPath() and Py_SetPath()
    bpo-30697: The PyExc_RecursionErrorInst singleton is removed and PyErr_NormalizeException() does not use it anymore. This singleton is persistent and its members being never cleared may cause a segfault during finalization of the interpreter. See also bpo-22898.

[close]

http://www.python.org/
Titel: Python 3.6.5
Beitrag von: SiLæncer am 29 März, 2018, 04:54
Changelog


Python 3.6.5 final

Release date: 2018-03-28
Tests

    bpo-32872: Avoid regrtest compatibility issue with namespace packages.

Build

    bpo-33163: Upgrade pip to 9.0.3 and setuptools to v39.0.1.

Python 3.6.5 release candidate 1

Release date: 2018-03-13
Security

    bpo-33001: Minimal fix to prevent buffer overrun in os.symlink on Windows
    bpo-32981: Regexes in difflib and poplib were vulnerable to catastrophic backtracking. These regexes formed potential DOS vectors (REDOS). They have been refactored. This resolves CVE-2018-1060 and CVE-2018-1061. Patch by Jamie Davis.

Core and Builtins

    bpo-33026: Fixed jumping out of “with” block by setting f_lineno.
    bpo-17288: Prevent jumps from ‘return’ and ‘exception’ trace events.
    bpo-32889: Update Valgrind suppression list to account for the rename of Py_ADDRESS_IN_RANG to address_in_range.
    bpo-32650: Pdb and other debuggers dependent on bdb.py will correctly step over (next command) native coroutines. Patch by Pablo Galindo.
    bpo-32685: Improve suggestion when the Python 2 form of print statement is either present on the same line as the header of a compound statement or else terminated by a semi-colon instead of a newline. Patch by Nitish Chandra.
    bpo-32583: Fix possible crashing in builtin Unicode decoders caused by write out-of- bound errors when using customized decode error handlers.
    bpo-26163: Improved frozenset() hash to create more distinct hash values when faced with datasets containing many similar values.
    bpo-27169: The __debug__ constant is now optimized out at compile time. This fixes also bpo-22091.
    bpo-32329: sys.flags.hash_randomization is now properly set to 0 when hash randomization is turned off by PYTHONHASHSEED=0.
    bpo-30416: The optimizer is now protected from spending much time doing complex calculations and consuming much memory for creating large constants in constant folding.
    bpo-18533: repr() on a dict containing its own values() or items() no longer raises RecursionError; OrderedDict similarly. Instead, use ..., as for other recursive structures. Patch by Ben North.
    bpo-32028: Leading whitespace is now correctly ignored when generating suggestions for converting Py2 print statements to Py3 builtin print function calls. Patch by Sanyam Khurana.
    bpo-32137: The repr of deeply nested dict now raises a RecursionError instead of crashing due to a stack overflow.

Library

    bpo-33064: lib2to3 now properly supports trailing commas after *args and **kwargs in function signatures.

    bpo-31804: Avoid failing in multiprocessing.Process if the standard streams are closed or None at exit.

    bpo-33037: Skip sending/receiving data after SSL transport closing.

    bpo-30353: Fix ctypes pass-by-value for structs on 64-bit Cygwin/MinGW.

    bpo-33009: Fix inspect.signature() for single-parameter partialmethods.

    bpo-32969: Expose several missing constants in zlib and fix corresponding documentation.

    bpo-32713: Fixed tarfile.itn handling of out-of-bounds float values. Patch by Joffrey Fuhrer.

    bpo-30622: The ssl module now detects missing NPN support in LibreSSL.

    bpo-32922: dbm.open() now encodes filename with the filesystem encoding rather than default encoding.

    bpo-32859: In os.dup2, don’t check every call whether the dup3 syscall exists or not.

    bpo-21060: Rewrite confusing message from setup.py upload from “No dist file created in earlier command” to the more helpful “Must create and upload files in one command”.

    bpo-32857: In tkinter, after_cancel(None) now raises a ValueError instead of canceling the first scheduled function. Patch by Cheryl Sabella.

    bpo-32852: Make sure sys.argv remains as a list when running trace.

    bpo-32841: Fixed asyncio.Condition issue which silently ignored cancellation after notifying and cancelling a conditional lock. Patch by Bar Harel.

    bpo-31787: Fixed refleaks of __init__() methods in various modules. (Contributed by Oren Milman)

    bpo-30157: Fixed guessing quote and delimiter in csv.Sniffer.sniff() when only the last field is quoted. Patch by Jake Davis.

    bpo-32394: socket: Remove TCP_FASTOPEN, TCP_KEEPCNT flags on older version Windows during run-time.

    bpo-32777: Fix a rare but potential pre-exec child process deadlock in subprocess on POSIX systems when marking file descriptors inheritable on exec in the child process. This bug appears to have been introduced in 3.4.

    bpo-32647: The ctypes module used to depend on indirect linking for dlopen. The shared extension is now explicitly linked against libdl on platforms with dl.

    bpo-32734: Fixed asyncio.Lock() safety issue which allowed acquiring and locking the same lock multiple times, without it being free. Patch by Bar Harel.

    bpo-32727: Do not include name field in SMTP envelope from address. Patch by Stéphane Wirtel

    bpo-27931: Fix email address header parsing error when the username is an empty quoted string. Patch by Xiang Zhang.

    bpo-32304: distutils’ upload command no longer corrupts tar files ending with a CR byte, and no longer tries to convert CR to CRLF in any of the upload text fields.

    bpo-32502: uuid.uuid1 no longer raises an exception if a 64-bit hardware address is encountered.

    bpo-31848: Fix the error handling in Aifc_read.initfp() when the SSND chunk is not found. Patch by Zackery Spytz.

    bpo-32555: On FreeBSD and Solaris, os.strerror() now always decode the byte string from the current locale encoding, rather than using ASCII/surrogateescape in some cases.

    bpo-32521: The nis module is now compatible with new libnsl and headers location.

    bpo-32473: Improve ABCMeta._dump_registry() output readability

    bpo-32521: glibc has removed Sun RPC. Use replacement libtirpc headers and library in nis module.

    bpo-32228: Ensure that truncate() preserves the file position (as reported by tell()) after writes longer than the buffer size.

    bpo-26133: Don’t unsubscribe signals in asyncio UNIX event loop on interpreter shutdown.

    bpo-32185: The SSL module no longer sends IP addresses in SNI TLS extension on platforms with OpenSSL 1.0.2+ or inet_pton.

    bpo-32323: urllib.parse.urlsplit() does not convert zone-id (scope) to lower case for scoped IPv6 addresses in hostnames now.

    bpo-32302: Fix bdist_wininst of distutils for CRT v142: it binary compatible with CRT v140.

    bpo-32255: A single empty field is now always quoted when written into a CSV file. This allows to distinguish an empty row from a row consisting of a single empty field. Patch by Licht Takeuchi.

    bpo-32277: Raise NotImplementedError instead of SystemError on platforms where chmod(..., follow_symlinks=False) is not supported. Patch by Anthony Sottile.

    bpo-32199: The getnode() ip getter now uses ‘ip link’ instead of ‘ip link list’.

    bpo-27456: Ensure TCP_NODELAY is set on Linux. Tests by Victor Stinner.

    bpo-31900: The locale.localeconv() function now sets temporarily the LC_CTYPE locale to the LC_NUMERIC locale to decode decimal_point and thousands_sep byte strings if they are non-ASCII or longer than 1 byte, and the LC_NUMERIC locale is different than the LC_CTYPE locale. This temporary change affects other threads.

    Same change for the str.format() method when formatting a number (int, float, float and subclasses) with the n type (ex: '{:n}'.format(1234)).

    bpo-31802: Importing native path module (posixpath, ntpath) now works even if the os module still is not imported.

Documentation

    bpo-17232: Clarify docs for -O and -OO. Patch by Terry Reedy.
    bpo-32800: Update link to w3c doc for xml default namespaces.
    bpo-8722: Document __getattr__() behavior when property get() method raises AttributeError.
    bpo-32614: Modify RE examples in documentation to use raw strings to prevent DeprecationWarning and add text to REGEX HOWTO to highlight the deprecation.
    bpo-31972: Improve docstrings for pathlib.PurePath subclasses.
    bpo-17799: Explain real behaviour of sys.settrace and sys.setprofile and their C-API counterparts regarding which type of events are received in each function. Patch by Pablo Galindo Salgado.

Tests

    bpo-32517: Fix failing test_asyncio on macOS 10.12.2+ due to transport of KqueueSelector loop was not being closed.
    bpo-32721: Fix test_hashlib to not fail if the _md5 module is not built.
    bpo-32252: Fix faulthandler_suppress_crash_report() used to prevent core dump files when testing crashes. getrlimit() returns zero on success.
    bpo-31518: Debian Unstable has disabled TLS 1.0 and 1.1 for SSLv23_METHOD(). Change TLS/SSL protocol of some tests to PROTOCOL_TLS or PROTOCOL_TLSv1_2 to make them pass on Debian.

Build

    bpo-32635: Fix segfault of the crypt module when libxcrypt is provided instead of libcrypt at the system.

Windows

    bpo-33016: Fix potential use of uninitialized memory in nt._getfinalpathname
    bpo-32903: Fix a memory leak in os.chdir() on Windows if the current directory is set to a UNC path.
    bpo-31966: Fixed WindowsConsoleIO.write() for writing empty data.
    bpo-32409: Ensures activate.bat can handle Unicode contents.
    bpo-32457: Improves handling of denormalized executable path when launching Python.
    bpo-32370: Use the correct encoding for ipconfig output in the uuid module. Patch by Segev Finer.
    bpo-29248: Fix os.readlink() on Windows, which was mistakenly treating the PrintNameOffset field of the reparse data buffer as a number of characters instead of bytes. Patch by Craig Holmquist and SSE4.
    bpo-32588: Create standalone _distutils_findvs module.

macOS

    bpo-32726: Provide an additional, more modern macOS installer variant that supports macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied third-party libraries to OpenSSL 1.0.2n, XZ 5.2.3, and SQLite 3.22.0. The 10.9+ installer now links with and supplies its own copy of Tcl/Tk 8.6.8.

IDLE

    bpo-32984: Set __file__ while running a startup file. Like Python, IDLE optionally runs one startup file in the Shell window before presenting the first interactive input prompt. For IDLE, -s runs a file named in environmental variable IDLESTARTUP or PYTHONSTARTUP; -r file runs file. Python sets __file__ to the startup file name before running the file and unsets it before the first prompt. IDLE now does the same when run normally, without the -n option.
    bpo-32940: Simplify and rename StringTranslatePseudoMapping in pyparse.
    bpo-32916: Change str to code in pyparse.
    bpo-32905: Remove unused code in pyparse module.
    bpo-32874: Add tests for pyparse.
    bpo-32837: Using the system and place-dependent default encoding for open() is a bad idea for IDLE’s system and location-independent files.
    bpo-32826: Add “encoding=utf-8” to open() in IDLE’s test_help_about. GUI test test_file_buttons() only looks at initial ascii-only lines, but failed on systems where open() defaults to ‘ascii’ because readline() internally reads and decodes far enough ahead to encounter a non-ascii character in CREDITS.txt.
    bpo-32765: Update configdialog General tab docstring to add new widgets to the widget list.

Tools/Demos

    bpo-24960: 2to3 and lib2to3 can now read pickled grammar files using pkgutil.get_data() rather than probing the filesystem. This lets 2to3 and lib2to3 work when run from a zipfile.
    bpo-32222: Fix pygettext not extracting docstrings for functions with type annotated arguments. Patch by Toby Harradine.

C API

    bpo-29084: Undocumented C API for OrderedDict has been excluded from the limited C API. It was added by mistake and actually never worked in the limited C API.

[close]

http://www.python.org/
Titel: Python 3.7.0 Beta 3
Beitrag von: SiLæncer am 01 Mai, 2018, 12:10
Changelog

PEP 538, Coercing the legacy C locale to a UTF-8 based locale
PEP 539, A New C-API for Thread-Local Storage in CPython
PEP 540, UTF-8 mode
PEP 552, Deterministic pyc
PEP 553, Built-in breakpoint()
PEP 557, Data Classes
PEP 560, Core support for typing module and generic types
PEP 562, Module __getattr__ and __dir__
PEP 563, Postponed Evaluation of Annotations
PEP 564, Time functions with nanosecond resolution
PEP 565, Show DeprecationWarning in __main__
PEP 567, Context Variables

[close]

http://www.python.org/
Titel: Python 3.7.0 RC1
Beitrag von: SiLæncer am 13 Juni, 2018, 20:45
Release Notes

Python 3.7.0rc1 and 3.6.6rc1 are now available. 3.7.0rc1 is the final planned release preview of Python 3.7, the next feature release of Python. 3.6.6rc1 is the release preview of the next maintenance release of Python 3.6, the current release of Python. Assuming no critical problems are found prior to 2018-06-27, the scheduled release dates for 3.7.0 and 3.6.6, no code changes are planned between these release candidates and the final releases. These release candidates are intended to give you the opportunity to test the new features and bug fixes in 3.7.0 and 3.6.6 and to prepare your projects to support them. We strongly encourage you to test your projects and report issues found to bugs.python.org as soon as possible. Please keep in mind that these are preview releases and, thus, their use is not recommended for production environments.  Attention macOS users: there is now a new installer variant for macOS 10.9+ that includes a built-in version of Tcl/Tk 8.6. This variant will become the default version when 3.7.0 releases.  Check it out!

You can find these releases and more information here:
    https://www.python.org/downloads/release/python-370rc1/
    https://www.python.org/downloads/release/python-366rc1/

[close]

http://www.python.org/
Titel: Python 3.7.0
Beitrag von: SiLæncer am 28 Juni, 2018, 09:07
Release Notes

Python 3.7.0 is the newest major release of the Python language, and it contains many new features and optimizations.

Among the major new features in Python 3.7 are:

    PEP 539, new C API for thread-local storage
    PEP 545, Python documentation translations
    New documentation translations: Japanese, French, and Korean.
    PEP 552, Deterministic pyc files
    PEP 553, Built-in breakpoint()
    PEP 557, Data Classes
    PEP 560, Core support for typing module and generic types
    PEP 562, Customization of access to module attributes
    PEP 563, Postponed evaluation of annotations
    PEP 564, Time functions with nanosecond resolution
    PEP 565, Improved DeprecationWarning handling
    PEP 567, Context Variables
    Avoiding the use of ASCII as a default text encoding (PEP 538, legacy C locale coercion and PEP 540, forced UTF-8 runtime mode)
    The insertion-order preservation nature of dict objects is now an official part of the Python language spec.
    Notable performance improvements in many areas.

Please see What’s New In Python 3.7 for more information.
More resources

    Online Documentation
    PEP 537, 3.7 Release Schedule
    Report bugs at https://bugs.python.org.
    Help fund Python and its community.

Windows users

    The binaries for AMD64 will also work on processors that implement the Intel 64 architecture. (Also known as the "x64" architecture, and formerly known as both "EM64T" and "x86-64".)
    There are now "web-based" installers for Windows platforms; the installer will download the needed software components at installation time.
    There are redistributable zip files containing the Windows builds, making it easy to redistribute Python as part of another software package. Please see the documentation regarding Embedded Distribution for more information.

macOS users

    For 3.7.0, we provide two binary installer options for download. The default variant is 64-bit-only and works on macOS 10.9 (Mavericks) and later systems. We also continue to provide a 64-bit/32-bit variant that works on all versions of macOS from 10.6 (Snow Leopard) on. Both variants now come with batteries-included versions oF Tcl/Tk 8.6 for users of IDLE and other tkinter-based GUI applications; third-party and system versions of Tcl/Tk are no longer used. Consider using the new 10.9 64-bit-only installer variant, unless you are building Python applications that also need to work on older macOS systems.
    Both python.org installer variants include private copies of OpenSSL 1.1.0. Please carefully read the Important Information displayed during installation for information about SSL/TLS certificate validation and the Install Certificates.command.

[close]

http://www.python.org/
Titel: Python 3.7.1
Beitrag von: SiLæncer am 21 Oktober, 2018, 11:15
Changelog

Python 3.7.1 final

Release date: 2018-10-20
Library

    bpo-34970: Protect tasks weak set manipulation in asyncio.all_tasks()

Python 3.7.1 release candidate 2

Release date: 2018-10-13
Core and Builtins

    bpo-34879: Fix a possible null pointer dereference in bytesobject.c. Patch by Zackery Spytz.
    bpo-34854: Fixed a crash in compiling string annotations containing a lambda with a keyword-only argument that doesn’t have a default value.
    bpo-34320: Fix dict(od) didn’t copy iteration order of OrderedDict.

Library

    bpo-34769: Fix for async generators not finalizing when event loop is in debug mode and garbage collector runs in another thread.
    bpo-34922: Fixed integer overflow in the digest() and hexdigest() methods for the SHAKE algorithm in the hashlib module.
    bpo-34909: Enum: fix grandchildren subclassing when parent mixed with concrete data types.
    bpo-34900: Fixed unittest.TestCase.debug() when used to call test methods with subtests. Patch by Bruno Oliveira.
    bpo-34871: Fix inspect module polluted sys.modules when parsing __text_signature__ of callable.
    bpo-34872: Fix self-cancellation in C implementation of asyncio.Task
    bpo-34819: Use a monotonic clock to compute timeouts in Executor.map() and as_completed(), in order to prevent timeouts from deviating when the system clock is adjusted.
    bpo-34521: Use socket.CMSG_SPACE() to calculate ancillary data size instead of socket.CMSG_LEN() in multiprocessing.reduction.recvfds() as RFC 3542 requires the use of the former for portable applications.
    bpo-34334: In QueueHandler, clear exc_text from LogRecord to prevent traceback from being written twice.
    bpo-6721: Acquire the logging module’s commonly used internal locks while fork()ing to avoid deadlocks in the child process.
    bpo-34172: Fix a reference issue inside multiprocessing.Pool that caused the pool to remain alive if it was deleted without being closed or terminated explicitly.

Documentation

    bpo-32174: chm document displays non-ASCII charaters properly on some MBCS Windows systems.

Tests

    bpo-32962: Fixed test_gdb when Python is compiled with flags -mcet -fcf-protection -O0.

macOS

    bpo-34370: Revert to using the released Tk 8.6.8 with macOS installers instead of the Tk 8.6.x development snapshot used with 3.7.1rc1 and 3.6.7rc1. The snapshot introduced at least one significant regression (bpo-34927).

C API

    bpo-34910: Ensure that PyObject_Print() always returns -1 on error. Patch by Zackery Spytz.

Python 3.7.1 release candidate 1

Release date: 2018-09-26
Security

    bpo-17239: The xml.sax and xml.dom.minidom parsers no longer processes external entities by default. External DTD and ENTITY declarations no longer load files or create network connections.
    bpo-34623: CVE-2018-14647: The C accelerated _elementtree module now initializes hash randomization salt from _Py_HashSecret instead of libexpat’s default CSPRNG.
    bpo-34405: Updated to OpenSSL 1.1.0i for Windows builds.
    bpo-33871: Fixed sending the part of the file in os.sendfile() on macOS. Using the trailers argument could cause sending more bytes from the input file than was specified.
    bpo-32533: Fixed thread-safety of error handling in _ssl.

Core and Builtins

    bpo-34783: Fix a crash with musl libc (on Alpine Linux) when the script filename specified on the command line doesn’t exist.
    bpo-34762: Fix contextvars C API to use PyObject* pointer types.
    bpo-34735: Fix a memory leak in Modules/timemodule.c. Patch by Zackery Spytz.
    bpo-34588: Fix an off-by-one in the recursive call pruning feature of traceback formatting.
    bpo-34485: Standard streams like sys.stdout now use the “surrogateescape” error handler, instead of “strict”, on the POSIX locale (when the C locale is not coerced and the UTF-8 Mode is disabled).
    bpo-34485: Fix the error handler of standard streams like sys.stdout: PYTHONIOENCODING=”:” is now ignored instead of setting the error handler to “strict”.
    bpo-34527: On FreeBSD, Py_DecodeLocale() and Py_EncodeLocale() now also forces the ASCII encoding if the LC_CTYPE locale is “POSIX”, not only if the LC_CTYPE locale is “C”.
    bpo-34527: The UTF-8 Mode is now also enabled by the “POSIX” locale, not only by the “C” locale.
    bpo-34400: Fix undefined behavior in parsetok.c. Patch by Zackery Spytz.
    bpo-34377: Update valgrind suppression list to use _PyObject_Free/_PyObject_Realloc instead of PyObject_Free/PyObject_Realloc.
    bpo-34170: -X dev: it is now possible to override the memory allocator using PYTHONMALLOC even if the developer mode is enabled.
    bpo-34126: Fix crashes when profiling certain invalid calls of unbound methods. Patch by Jeroen Demeyer.
    bpo-24618: Fixed reading invalid memory when create the code object with too small varnames tuple or too large argument counts.
    bpo-34068: In io.IOBase.close(), ensure that the closed attribute is not set with a live exception. Patch by Zackery Spytz and Serhiy Storchaka.
    bpo-34087: Fix buffer overflow while converting unicode to numeric values.
    bpo-34080: Fixed a memory leak in the compiler when it raised some uncommon errors during tokenizing.
    bpo-34066: Disabled interruption by Ctrl-C between calling open() and entering a with block in with open().
    bpo-34042: Fix dict.copy() to maintain correct total refcount (as reported by sys.gettotalrefcount()).
    bpo-33985: Implement contextvars.ContextVar.name attribute.
    bpo-33956: Update vendored Expat library copy to version 2.2.5.
    bpo-24596: Decref the module object in PyRun_SimpleFileExFlags() before calling PyErr_Print(). Patch by Zackery Spytz.
    bpo-33451: Close directly executed pyc files before calling PyEval_EvalCode().
    bpo-33824: Fix “LC_ALL=C python3.7 -V”: reset properly the command line parser when the encoding changes after reading the Python configuration.
    bpo-25750: Fix rare Python crash due to bad refcounting in type_getattro() if a descriptor deletes itself from the class. Patch by Jeroen Demeyer.
    bpo-31902: Fix the col_offset attribute for ast nodes ast.AsyncFor, ast.AsyncFunctionDef, and ast.AsyncWith. Previously, col_offset pointed to the keyword after async.
    bpo-25862: Fix assertion failures in the tell() method of io.TextIOWrapper. Patch by Zackery Spytz.
    bpo-31577: Fix a crash in os.utime() in case of a bad ns argument. Patch by Oren Milman.

Library

    bpo-29577: Support multiple mixin classes when creating Enums.
    bpo-34670: Add SSLContext.post_handshake_auth and SSLSocket.verify_client_post_handshake for TLS 1.3’s post handshake authentication feature.
    bpo-34658: Fix a rare interpreter unhandled exception state SystemError only seen when using subprocess with a preexec_fn while an after_parent handler has been registered with os.register_at_fork and the fork system call fails.
    bpo-34652: Ensure os.lchmod() is never defined on Linux.
    bpo-34363: dataclasses.asdict() and .astuple() now handle namedtuples correctly.
    bpo-34625: Update vendorized expat library version to 2.2.6.
    bpo-34621: Fix un/pickling compatbility of uuid.UUID objects with older versions of Python (<3.7).
    bpo-32270: The subprocess module no longer mistakenly closes redirected fds even when they were in pass_fds when outside of the default {0, 1, 2} set.
    bpo-34610: Fixed iterator of multiprocessing.managers.DictProxy.
    bpo-34421: Fix distutils logging for non-ASCII strings. This caused installation issues on Windows.
    bpo-34604: Fix possible mojibake in the error message of pwd.getpwnam and grp.getgrnam. Patch by William Grzybowski.
    bpo-34530: distutils.spawn.find_executable() now falls back on os.defpath if the PATH environment variable is not set.
    bpo-34282: Fix enum members getting shadowed by parent attributes.
    bpo-34563: On Windows, fix multiprocessing.Connection for very large read: fix _winapi.PeekNamedPipe() and _winapi.ReadFile() for read larger than INT_MAX (usually 2^31-1).
    bpo-34558: Correct typo in Lib/ctypes/_aix.py
    bpo-34515: Fix parsing non-ASCII identifiers in lib2to3.pgen2.tokenize (PEP 3131).
    bpo-13312: Avoids a possible integer underflow (undefined behavior) in the time module’s year handling code when passed a very low negative year value.
    bpo-34472: Improved compatibility for streamed files in zipfile. Previously an optional signature was not being written and certain ZIP applications were not supported. Patch by Silas Sewell.
    bpo-34454: Fix the .fromisoformat() methods of datetime types crashing when given unicode with non-UTF-8-encodable code points. Specifically, datetime.fromisoformat() now accepts surrogate unicode code points used as the separator. Report and tests by Alexey Izbyshev, patch by Paul Ganssle.
    bpo-6700: Fix inspect.getsourcelines for module level frames/tracebacks. Patch by Vladimir Matveev.
    bpo-34171: Running the trace module no longer creates the trace.cover file.
    bpo-34441: Fix crash when an ABC-derived class with invalid __subclasses__ is passed as the second argument to issubclass(). Patch by Alexey Izbyshev.
    bpo-34341: Appending to the ZIP archive with the ZIP64 extension no longer grows the size of extra fields of existing entries.
    bpo-34333: Fix %-formatting in pathlib.PurePath.with_suffix() when formatting an error message.
    bpo-18540: The imaplib.IMAP4 and imaplib.IMAP4_SSL classes now resolve to the local host IP correctly when the default value of host parameter ('') is used.
    bpo-34246: smtplib.SMTP.send_message() no longer modifies the content of the mail_options argument. Patch by Pablo S. Blum de Aguiar.
    bpo-31047: Fix ntpath.abspath for invalid paths on windows. Patch by Franz Woellert.
    bpo-34263: asyncio’s event loop will not pass timeouts longer than one day to epoll/select etc.
    bpo-34035: Fix several AttributeError in zipfile seek() methods. Patch by Mickaël Schoentgen.
    bpo-32215: Fix performance regression in sqlite3 when a DML statement appeared in a different line than the rest of the SQL query.
    bpo-34251: Restore msilib.Win64 to preserve backwards compatibility since it’s already used by distutils’ bdist_msi command.
    bpo-19891: Ignore errors caused by missing / non-writable homedir while writing history during exit of an interactive session. Patch by Anthony Sottile.
    bpo-34213: Allow frozen dataclasses to have a field named “object”. Previously this conflicted with an internal use of “object”.
    bpo-21446: The reload fixer now uses importlib.reload() instead of deprecated imp.reload().
    bpo-940286: pydoc’s Helper.showtopic() method now prints the cross references of a topic correctly.
    bpo-34164: base64.b32decode() could raise UnboundLocalError or OverflowError for incorrect padding. Now it always raises base64.Error in these cases.
    bpo-33729: Fixed issues with arguments parsing in hashlib.
    bpo-34108: Remove extraneous CR in 2to3 refactor.
    bpo-27494: Reverted bpo-27494. 2to3 rejects now a trailing comma in generator expressions.
    bpo-33967: functools.singledispatch now raises TypeError instead of IndexError when no positional arguments are passed.
    bpo-34056: Ensure the loader shim created by imp.load_module always returns bytes from its get_data() function. This fixes using imp.load_module with PEP 552 hash-based pycs.
    bpo-34054: The multiprocessing module now uses the monotonic clock time.monotonic() instead of the system clock time.time() to implement timeout.
    bpo-34044: subprocess.Popen now copies the startupinfo argument to leave it unchanged: it will modify the copy, so that the same STARTUPINFO object can be used multiple times.
    bpo-34010: Fixed a performance regression for reading streams with tarfile. The buffered read should use a list, instead of appending to a bytes object.
    bpo-34019: webbrowser: Correct the arguments passed to Opera Browser when opening a new URL using the webbrowser module. Patch by Bumsik Kim.
    bpo-33978: Closed existing logging handlers before reconfiguration via fileConfig and dictConfig. Patch by Karthikeyan Singaravelan.
    bpo-14117: Make minor tweaks to turtledemo. The ‘wikipedia’ example is now ‘rosette’, decribing what it draws. The ‘penrose’ print output is reduced. The‘1024’ output of ‘tree’ is eliminated.
    bpo-33974: Fixed passing lists and tuples of strings containing special characters ", \, {, } and \n as options to ttk widgets.
    bpo-27500: Fix getaddrinfo to resolve IPv6 addresses correctly.
    bpo-24567: Improve random.choices() to handle subnormal input weights that could occasionally trigger an IndexError.
    bpo-33871: Fixed integer overflow in os.readv(), os.writev(), os.preadv() and os.pwritev() and in os.sendfile() with headers or trailers arguments (on BSD-based OSes and macOS).
    bpo-33899: Tokenize module now implicitly emits a NEWLINE when provided with input that does not have a trailing new line. This behavior now matches what the C tokenizer does internally. Contributed by Ammar Askar.
    bpo-33916: bz2 and lzma: When Decompressor.__init__() is called twice, free the old lock to not leak memory.
    bpo-32568: Make select.epoll() and its documentation consistent regarding sizehint and flags.
    bpo-33833: Fixed bug in asyncio where ProactorSocketTransport logs AssertionError if force closed during write.
    bpo-33663: Convert content length to string before putting to header.
    bpo-26544: Fixed implementation of platform.libc_ver(). It almost always returned version ‘2.9’ for glibc.
    bpo-33805: Improve error message of dataclasses.replace() when an InitVar is not specified
    bpo-27397: Make email module properly handle invalid-length base64 strings.
    bpo-33476: Fix _header_value_parser.py when address group is missing final ‘;’. Contributed by Enrique Perez-Terron
    bpo-31014: Fixed creating a controller for webbrowser when a user specifies a path to an entry in the BROWSER environment variable. Based on patch by John Still.
    bpo-33365: Print the header values besides the header keys instead just the header keys if debuglevel is set to >0 in http.client. Patch by Marco Strigl.
    bpo-32933: unittest.mock.mock_open() now supports iteration over the file contents. Patch by Tony Flury.
    bpo-33336: imaplib now allows MOVE command in IMAP4.uid() (RFC 6851: IMAP MOVE Extension) and potentially as a name of supported method of IMAP4 object.
    bpo-31608: Raise a TypeError instead of crashing if a collections.deque subclass returns a non-deque from __new__. Patch by Oren Milman.
    bpo-29456: Fix bugs in hangul normalization: u1176, u11a7 and u11c3

Documentation

    bpo-34790: Document how passing coroutines to asyncio.wait() can be confusing.
    bpo-28617: Fixed info in the stdtypes docs concerning the types that support membership tests.
    bpo-34065: Fix wrongly written basicConfig documentation markup syntax
    bpo-33460: replaced ellipsis with correct error codes in tutorial chapter 3.
    bpo-33847: Add ‘@’ operator entry to index.
    bpo-25041: Document AF_PACKET in the socket module.

Tests

    bpo-34537: Fix test_gdb.test_strings() when LC_ALL=C and GDB was compiled with Python 3.6 or earlier.
    bpo-34587: test_socket: Remove RDSTest.testCongestion(). The test tries to fill the receiver’s socket buffer and expects an error. But the RDS protocol doesn’t require that. Moreover, the Linux implementation of RDS expects that the producer of the messages reduces its rate, it’s not the role of the receiver to trigger an error. The test fails on Fedora 28 by design, so just remove it.
    bpo-34661: Fix test_shutil if unzip doesn’t support -t.
    bpo-34200: Fixed non-deterministic flakiness of test_pkg by not using the scary test.support.module_cleanup() logic to save and restore sys.modules contents between test cases.
    bpo-34594: Fix usage of hardcoded errno values in the tests.
    bpo-34542: Use 3072 RSA keys and SHA-256 signature for test certs and keys.
    bpo-11193: Remove special condition for AIX in test_subprocess.test_undecodable_env
    bpo-34490: On AIX with AF_UNIX family sockets getsockname() does not provide ‘sockname’, so skip calls to transport.get_extra_info(‘sockname’)
    bpo-34391: Fix ftplib test for TLS 1.3 by reading from data socket.
    bpo-34399: Update all RSA keys and DH params to use at least 2048 bits.
    bpo-33746: Fix test_unittest when run in verbose mode.
    bpo-33901: Fix test_dbm_gnu on macOS with gdbm 1.15: add a larger value to make sure that the file size changes.
    bpo-33873: Fix a bug in regrtest that caused an extra test to run if –huntrleaks/-R was used. Exit with error in case that invalid parameters are specified to –huntrleaks/-R (at least one warmup run and one repetition must be used).
    bpo-32663: Making sure the SMTPUTF8SimTests class of tests gets run in test_smtplib.py.

Build

    bpo-34710: Fixed SSL module build with OpenSSL & pedantic CFLAGS.
    bpo-34582: Add JUnit XML output for regression tests and update Azure DevOps builds.
    bpo-34555: Fix for case where it was not possible to have both HAVE_LINUX_VM_SOCKETS_H and HAVE_SOCKADDR_ALG be undefined.
    bpo-34121: Fix detection of C11 atomic support on clang.
    bpo-30345: Add -g to LDFLAGS when compiling with LTO to get debug symbols.
    bpo-33648: The –with-c-locale-warning configuration flag has been removed. It has had no effect for about a year.

Windows

    bpo-34770: Fix a possible null pointer dereference in pyshellext.cpp.
    bpo-34603: Fix returning structs from functions produced by MSVC
    bpo-34581: Guard MSVC-specific code in socketmodule.c with #ifdef _MSC_VER.
    bpo-34062: Fixed the ‘–list’ and ‘–list-paths’ arguments for the py.exe launcher
    bpo-34225: Ensure INCLUDE and LIB directories do not end with a backslash.
    bpo-34006: Revert line length limit for Windows help docs. The line-length limit is not needed because the pages appear in a separate app rather than on a browser tab. It can also interact badly with the DPI setting.
    bpo-31546: Restore running PyOS_InputHook while waiting for user input at the prompt. The restores integration of interactive GUI windows (such as Matplotlib figures) with the prompt on Windows.
    bpo-30237: Output error when ReadConsole is canceled by CancelSynchronousIo instead of crashing.
    bpo-29097: Fix bug where datetime.fromtimestamp() erronously throws an OSError on Windows for values between 0 and 86400. Patch by Ammar Askar.

macOS

    bpo-34370: Have macOS 10.9+ installer builds for 3.7.1rc and 3.6.7rc use a development snapshot of Tk 8.6 (post-8.6.8) to mitigate certain scroller issues seen with IDLE and tkinter apps.
    bpo-34405: Update to OpenSSL 1.1.0i for macOS installer builds.
    bpo-33635: In macOS stat on some file descriptors (/dev/fd/3 f.e) will result in bad file descriptor OSError. Guard against this exception was added in is_dir, is_file and similar methods. DirEntry.is_dir can also throw this exception so _RecursiveWildcardSelector._iterate_directories was also extended with the same error ignoring pattern.
    bpo-31903: In _scproxy, drop the GIL when calling into SystemConfiguration to avoid deadlocks.

IDLE

    bpo-34548: Use configured color theme for read-only text views.
    bpo-1529353: Enable “squeezing” of long outputs in the shell, to avoid performance degradation and to clean up the history without losing it. Squeezed outputs may be copied, viewed in a separate window, and “unsqueezed”.
    bpo-34047: Fixed mousewheel scrolling direction on macOS.
    bpo-34275: Make IDLE calltips always visible on Mac. Some MacOS-tk combinations need .update_idletasks(). Patch by Kevin Walzer.
    bpo-34120: Fix unresponsiveness after closing certain windows and dialogs.
    bpo-33975: Avoid small type when running htests. Since part of the purpose of human- viewed tests is to determine that widgets look right, it is important that they look the same for testing as when running IDLE.
    bpo-33905: Add test for idlelib.stackview.StackBrowser.
    bpo-33924: Change mainmenu.menudefs key ‘windows’ to ‘window’. Every other menudef key is lowercase version of main menu entry.
    bpo-33906: Rename idlelib.windows as window Match Window on the main menu and remove last plural module name.
    bpo-33917: Fix and document idlelib/idle_test/template.py. The revised file compiles, runs, and tests OK. idle_test/README.txt explains how to use it to create new IDLE test files.
    bpo-33904: IDLE: In rstrip, rename class RstripExtension as Rstrip
    bpo-33907: For consistency and clarity, rename an IDLE module and classes. Module calltips and its class CallTips are now calltip and Calltip. In module calltip_w, class CallTip is now CalltipWindow.
    bpo-33856: Add “help” in the welcome message of IDLE
    bpo-33839: IDLE: refactor ToolTip and CallTip and add documentation and tests
    bpo-33855: Minimally test all IDLE modules. Add missing files, import module, instantiate classes, and check coverage. Check existing files.

Tools/Demos

    bpo-32962: python-gdb now catchs UnicodeDecodeError exceptions when calling string().
    bpo-32962: python-gdb now catchs ValueError on read_var(): when Python has no debug symbols for example.

C API

    bpo-34247: Fix Py_Initialize() regression introduced in 3.7.0: read environment variables like PYTHONOPTIMIZE.
    bpo-23927: Fixed SystemError in PyArg_ParseTupleAndKeywords() when the w* format unit is used for optional parameter.
    bpo-34008: Py_Main() can again be called after Py_Initialize(), as in Python 3.6.

[close]

http://www.python.org/
Titel: Python 3.7.2
Beitrag von: SiLæncer am 24 Dezember, 2018, 14:15
Changelog

Library

    bpo-31715: Associate .mjs file extension with application/javascript MIME Type.

Build

    bpo-35499: make profile-opt no longer replaces CFLAGS_NODIST with CFLAGS. It now adds profile-guided optimization (PGO) flags to CFLAGS_NODIST: existing CFLAGS_NODIST flags are kept.
    bpo-35257: Avoid leaking the linker flags from Link Time Optimizations (LTO) into distutils when compiling C extensions.

C API

    bpo-35259: Conditionally declare Py_FinalizeEx() (new in 3.6) based on Py_LIMITED_API. Patch by Arthur Neufeld.

Python 3.7.2 release candidate 1

Release date: 2018-12-11
Security

    bpo-34812: The -I command line option (run Python in isolated mode) is now also copied by the multiprocessing and distutils modules when spawning child processes. Previously, only -E and -s options (enabled by -I) were copied.
    bpo-34791: The xml.sax and xml.dom.domreg no longer use environment variables to override parser implementations when sys.flags.ignore_environment is set by -E or -I arguments.

Core and Builtins

    bpo-35444: Fixed error handling in pickling methods when fail to look up builtin “getattr”.
    bpo-35436: Fix various issues with memory allocation error handling. Patch by Zackery Spytz.
    bpo-35357: Internal attributes’ names of unittest.mock._Call and unittest.mock.MagicProxy (name, parent & from_kall) are now prefixed with _mock_ in order to prevent clashes with widely used object attributes. Fixed minor typo in test function name.
    bpo-35372: Fixed the code page decoder for input longer than 2 GiB containing undecodable bytes.
    bpo-35336: Fix PYTHONCOERCECLOCALE=1 environment variable: only coerce the C locale if the LC_CTYPE locale is “C”.
    bpo-33954: For str.format(), float.__format__() and complex.__format__() methods for non-ASCII decimal point when using the “n” formatter.
    bpo-35269: Fix a possible segfault involving a newly-created coroutine. Patch by Zackery Spytz.
    bpo-35214: Fixed an out of bounds memory access when parsing a truncated unicode escape sequence at the end of a string such as '\N'. It would read one byte beyond the end of the memory allocation.
    bpo-35214: The interpreter and extension modules have had annotations added so that they work properly under clang’s Memory Sanitizer. A new configure flag –with-memory-sanitizer has been added to make test builds of this nature easier to perform.
    bpo-35193: Fix an off by one error in the bytecode peephole optimizer where it could read bytes beyond the end of bounds of an array when removing unreachable code. This bug was present in every release of Python 3.6 and 3.7 until now.
    bpo-29341: Clarify in the docstrings of os methods that path-like objects are also accepted as input parameters.
    bpo-35050: socket: Fix off-by-one bug in length check for AF_ALG name and type.
    bpo-34974: bytes and bytearray constructors no longer convert unexpected exceptions (e.g. MemoryError and KeyboardInterrupt) to TypeError.
    bpo-34973: Fixed crash in bytes() when the list argument is mutated while it is iterated.
    bpo-34824: Fix a possible null pointer dereference in Modules/_ssl.c. Patch by Zackery Spytz.
    bpo-1621: Do not assume signed integer overflow behavior (C undefined behavior) when performing set hash table resizing.

Library

    bpo-35052: Fix xml.dom.minidom cloneNode() on a document with an entity: pass the correct arguments to the user data handler of an entity.
    bpo-35330: When a Mock instance was used to wrap an object, if side_effect is used in one of the mocks of it methods, don’t call the original implementation and return the result of using the side effect the same way that it is done with return_value.
    bpo-34172: Revert the fix for this issue previously released in 3.7.1 pending further investigation: Fix a reference issue inside multiprocessing.Pool that caused the pool to remain alive if it was deleted without being closed or terminated explicitly.
    bpo-10496: posixpath.expanduser() now returns the input path unchanged if the HOME environment variable is not set and the current user has no home directory (if the current user identifier doesn’t exist in the password database). This change fix the site module if the current user doesn’t exist in the password database (if the user has no home directory).
    bpo-35310: Fix a bug in select.select() where, in some cases, the file descriptor sequences were returned unmodified after a signal interruption, even though the file descriptors might not be ready yet. select.select() will now always return empty lists if a timeout has occurred. Patch by Oran Avraham.
    bpo-35380: Enable TCP_NODELAY on Windows for proactor asyncio event loop.
    bpo-35341: Add generic version of collections.OrderedDict to the typing module. Patch by Ismo Toijala.
    bpo-35371: Fixed possible crash in os.utime() on Windows when pass incorrect arguments.
    bpo-27903: Fix ResourceWarning in platform.dist() on SuSE and Caldera OpenLinux. Patch by Ville Skyttä.
    bpo-35308: Fix regression in webbrowser where default browsers may be preferred over browsers in the BROWSER environment variable.
    bpo-28604: locale.localeconv() now sets temporarily the LC_CTYPE locale to the LC_MONETARY locale if the two locales are different and monetary strings are non-ASCII. This temporary change affects other threads.
    bpo-35277: Update ensurepip to install pip 18.1 and setuptools 40.6.2.
    bpo-35226: Recursively check arguments when testing for equality of unittest.mock.call objects and add note that tracking of parameters used to create ancestors of mocks in mock_calls is not possible.
    bpo-29564: The warnings module now suggests to enable tracemalloc if the source is specified, the tracemalloc module is available, but tracemalloc is not tracing memory allocations.
    bpo-35189: Modify the following fnctl function to retry if interrupted by a signal (EINTR): flock, lockf, fnctl
    bpo-35062: Fix incorrect parsing of _io.IncrementalNewlineDecoder’s translate argument.
    bpo-35079: Improve difflib.SequenceManager.get_matching_blocks doc by adding ‘non-overlapping’ and changing ‘!=’ to ‘<’.
    bpo-35017: socketserver.BaseServer.serve_forever() now exits immediately if it’s shutdown() method is called while it is polling for new events.
    bpo-31047: Fix ntpath.abspath regression where it didn’t remove a trailing separator on Windows. Patch by Tim Graham.
    bpo-34794: Fixed a leak in Tkinter when pass the Python wrapper around Tcl_Obj back to Tcl/Tk.
    bpo-35008: Fixed references leaks when call the __setstate__() method of xml.etree.ElementTree.Element in the C implementation for already initialized element.
    bpo-23420: Verify the value for the parameter ‘-s’ of the cProfile CLI. Patch by Robert Kuska
    bpo-33947: dataclasses now handle recursive reprs without raising RecursionError.
    bpo-16965: The 2to3 execfile fixer now opens the file with mode 'rb'. Patch by Zackery Spytz.
    bpo-34966: pydoc now supports aliases not only to methods defined in the end class, but also to inherited methods. The docstring is not duplicated for aliases.
    bpo-34941: Methods find(), findtext() and findall() of the Element class in the xml.etree.ElementTree module are now able to find children which are instances of Element subclasses.
    bpo-34936: Fix TclError in tkinter.Spinbox.selection_element(). Patch by Juliette Monsel.
    bpo-34866: Adding max_num_fields to cgi.FieldStorage to make DOS attacks harder by limiting the number of MiniFieldStorage objects created by FieldStorage.
    bpo-34022: The SOURCE_DATE_EPOCH environment variable no longer overrides the value of the invalidation_mode argument to py_compile.compile(), and determines its default value instead.
    bpo-34738: ZIP files created by distutils will now include entries for directories.
    bpo-31177: Fix bug that prevented using reset_mock on mock instances with deleted attributes
    bpo-34536: Enum._missing_: raise ValueError if None returned and TypeError if non-member is returned.
    bpo-34604: Fix possible mojibake in the error message of pwd.getpwnam and grp.getgrnam using string representation because of invisible characters or trailing whitespaces. Patch by William Grzybowski.
    bpo-34574: OrderedDict iterators are not exhausted during pickling anymore. Patch by Sergey Fedoseev.
    bpo-34052: sqlite3.Connection.create_aggregate(), sqlite3.Connection.create_function(), sqlite3.Connection.set_authorizer(), sqlite3.Connection.set_progress_handler() methods raises TypeError when unhashable objects are passed as callable. These methods now don’t pass such objects to SQLite API. Previous behavior could lead to segfaults. Patch by Sergey Fedoseev.
    bpo-29877: compileall: import ProcessPoolExecutor only when needed, preventing hangs on low resource platforms
    bpo-22005: Implemented unpickling instances of datetime, date and time pickled by Python 2. encoding='latin1' should be used for successful decoding.

Documentation

    bpo-35089: Remove mention of typing.io and typing.re. Their types should be imported from typing directly.
    bpo-35038: Fix the documentation about an unexisting f_restricted attribute in the frame object. Patch by Stéphane Wirtel
    bpo-35044: Fix the documentation with the role exc for the appropriated exception. Patch by Stéphane Wirtel
    bpo-35035: Rename documentation for email.utils to email.utils.rst.
    bpo-34967: Use app.add_object_type() instead of the deprecated Sphinx function app.description_unit()
    bpo-11233: Create availability directive for documentation. Original patch by Georg Brandl.
    bpo-33594: Document getargspec, from_function and from_builtin as deprecated in their respective docstring, and include version since deprecation in DeprecationWarning message.
    bpo-32613: Update the faq/windows.html to use the py command from PEP 397 instead of python.

Tests

    bpo-33725: test_multiprocessing_fork may crash on recent versions of macOS. Until the issue is resolved, skip the test on macOS.
    bpo-35352: Modify test_asyncio to use the certificate set from the test directory.
    bpo-35317: Fix mktime() overflow error in test_email: run test_localtime_daylight_true_dst_true() and test_localtime_daylight_false_dst_true() with a specific timezone.
    bpo-21263: After several reports that test_gdb does not work properly on macOS and since gdb is not shipped by default anymore, test_gdb is now skipped on macOS when LLVM Clang has been used to compile Python. Patch by Lysandros Nikolaou
    bpo-34279: regrtest issue a warning when no tests have been executed in a particular test file. Also, a new final result state is issued if no test have been executed across all test files. Patch by Pablo Galindo.

Build

    bpo-35296: The Windows installer (MSI) now also install internal header files (Include/internal/ subdirectory).
    bpo-35351: When building Python with clang and LTO, LTO flags are no longer passed into CFLAGS to build third-party C extensions through distutils.
    bpo-35139: Fix a compiler error when statically linking pyexpat in Modules/Setup.
    bpo-35011: Restores the use of pyexpatns.h to isolate our embedded copy of the expat C library so that its symbols do not conflict at link or dynamic loading time with an embedding application or other extension modules with their own version of libexpat.
    bpo-28015: Have –with-lto works correctly with clang.
    bpo-33015: Fix an undefined behaviour in the pthread implementation of PyThread_start_new_thread(): add a function wrapper to always return NULL.

Windows

    bpo-35401: Updates Windows build to OpenSSL 1.1.0j
    bpo-34977: venv on Windows will now use a python.exe redirector rather than copying the actual binaries from the base environment.
    bpo-34977: Adds support for building a Windows App Store package
    bpo-35067: Remove _distutils_findvs module and use vswhere.exe instead.
    bpo-34532: Fixes exit code of list version arguments for py.exe.
    bpo-32890: Fix usage of GetLastError() instead of errno in os.execve() and os.truncate().

macOS

    bpo-35402: Update macOS installer to use Tcl/Tk 8.6.9.1. [NOTE: This change was reverted for the released python.org 3.7.2 macOS installers due to regressions found in Tk 8.6.9.1. For now, the installers provide Tcl/Tk 8.6.8.]
    bpo-35401: Update macOS installer to use OpenSSL 1.1.0j.
    bpo-35025: Properly guard the use of the CLOCK_GETTIME et al. macros in timemodule on macOS.
    bpo-24658: On macOS, fix reading from and writing into a file with a size larger than 2 GiB.

IDLE

    bpo-35213: Where appropriate, use ‘macOS’ in idlelib.
    bpo-34864: On macOS, warn if the system preference “Prefer tabs when opening documents” is set to “Always”.
    bpo-34864: Document two IDLE on MacOS issues. The System Preferences Dock “prefer tabs always” setting disables some IDLE features. Menus are a bit different than as described for Windows and Linux.
    bpo-35202: Remove unused imports from lib/idlelib
    bpo-33000: Document that IDLE’s shell has no line limit. A program that runs indefinitely can overfill memory.
    bpo-23220: Explain how IDLE’s Shell displays output.
    bpo-35099: Improve the doc about IDLE running user code. The section is renamed from “IDLE – console differences” is renamed “Running user code”. It mostly covers the implications of using custom sys.stdxxx objects.
    bpo-35097: Add IDLE doc subsection explaining editor windows. Topics include opening, title and status bar, .py* extension, and running.
    bpo-35093: Document the IDLE document viewer in the IDLE doc. Add a paragraph in “Help and preferences”, “Help sources” subsection.
    bpo-35088: Update idlelib.help.copy_string docstring. We now use git and backporting instead of hg and forward merging.
    bpo-35087: Update idlelib help files for the current doc build. The main change is the elimination of chapter-section numbers.

Tools/Demos

    bpo-34989: python-gdb.py now handles errors on computing the line number of a Python frame.

C API

    bpo-35322: Fix memory leak in PyUnicode_EncodeLocale() and PyUnicode_EncodeFSDefault() on error handling.
    bpo-35296: make install now also installs the internal API: Include/internal/*.h header files.
    bpo-34725: Adds _Py_SetProgramFullPath so embedders may override sys.executable

[close]

http://www.python.org/
Titel: Python 3.7.3
Beitrag von: SiLæncer am 26 März, 2019, 18:10
Changelog

Among the major new features in Python 3.7 are:

PEP 539, new C API for thread-local storage
PEP 545, Python documentation translations
New documentation translations: Japanese, French, and Korean.
PEP 552, Deterministic pyc files
PEP 553, Built-in breakpoint()
PEP 557, Data Classes
PEP 560, Core support for typing module and generic types
PEP 562, Customization of access to module attributes
PEP 563, Postponed evaluation of annotations
PEP 564, Time functions with nanosecond resolution
PEP 565, Improved DeprecationWarning handling
PEP 567, Context Variables
Avoiding the use of ASCII as a default text encoding (PEP 538, legacy C locale coercion and PEP 540, forced UTF-8 runtime mode)
The insertion-order preservation nature of dict objects is now an official part of the Python language spec.
Notable performance improvements in many areas.

[close]

http://www.python.org/
Titel: Python 3.7.4
Beitrag von: SiLæncer am 09 Juli, 2019, 18:10
Changelog


Python 3.7.4 final¶

Release date: 2019-07-08
Core and Builtins

    bpo-37500: Due to unintended side effects, revert the change introduced by bpo-1875 in 3.7.4rc1 to check for syntax errors in dead conditional code blocks.

Documentation

    bpo-37149: Replace the dead link to the Tkinter 8.5 reference by John Shipman, New Mexico Tech, with a link to the archive.org copy.

Python 3.7.4 release candidate 2

Release date: 2019-07-02
Security

    bpo-37463: ssl.match_hostname() no longer accepts IPv4 addresses with additional text after the address and only quad-dotted notation without trailing whitespaces. Some inet_aton() implementations ignore whitespace and all data after whitespace, e.g. ‘127.0.0.1 whatever’.

Core and Builtins

    bpo-24214: Improved support of the surrogatepass error handler in the UTF-8 and UTF-16 incremental decoders.

Library

    bpo-37440: http.client now enables TLS 1.3 post-handshake authentication for default context or if a cert_file is passed to HTTPSConnection.

    bpo-37437: Update vendorized expat version to 2.2.7.

    bpo-37428: SSLContext.post_handshake_auth = True no longer sets SSL_VERIFY_POST_HANDSHAKE verify flag for client connections. Although the option is documented as ignored for clients, OpenSSL implicitly enables cert chain validation when the flag is set.

    bpo-32627: Fix compile error when _uuid headers conflicting included.

Windows

    bpo-37369: Fixes path for sys.executable when running from the Microsoft Store.

    bpo-35360: Update Windows builds to use SQLite 3.28.0.

macOS

    bpo-34602: Avoid test suite failures on macOS by no longer calling resource.setrlimit to increase the process stack size limit at runtime. The runtime change is no longer needed since the interpreter is being built with a larger default stack size.

Python 3.7.4 release candidate 1

Release date: 2019-06-18
Security

    bpo-35907: CVE-2019-9948: Avoid file reading by disallowing local-file:// and local_file:// URL schemes in URLopener().open() and URLopener().retrieve() of urllib.request.

    bpo-36742: Fixes mishandling of pre-normalization characters in urlsplit().

    bpo-30458: Address CVE-2019-9740 by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause an http.client.InvalidURL exception to be raised.

    bpo-33529: Prevent fold function used in email header encoding from entering infinite loop when there are too many non-ASCII characters in a header.

    bpo-35755: shutil.which() now uses os.confstr("CS_PATH") if available and if the PATH environment variable is not set. Remove also the current directory from posixpath.defpath. On Unix, shutil.which() and the subprocess module no longer search the executable in the current directory if the PATH environment variable is not set.

Core and Builtins

    bpo-37269: Fix a bug in the peephole optimizer that was not treating correctly constant conditions with binary operators. Patch by Pablo Galindo.

    bpo-37219: Remove errorneous optimization for empty set differences.

    bpo-26423: Fix possible overflow in wrap_lenfunc() when sizeof(long) < sizeof(Py_ssize_t) (e.g., 64-bit Windows).

    bpo-36829: PyErr_WriteUnraisable() now displays the exception even if displaying the traceback failed. Moreover, hold a strong reference to sys.stderr while using it. Document that an exception must be set when calling PyErr_WriteUnraisable().

    bpo-36907: Fix a crash when calling a C function with a keyword dict (f(**kwargs)) and changing the dict kwargs while that function is running.

    bpo-36946: Fix possible signed integer overflow when handling slices.

    bpo-27987: PyGC_Head structure is aligned to long double. This is needed to ensure GC-ed objects are aligned properly. Patch by Inada Naoki.

    bpo-1875: A SyntaxError is now raised if a code blocks that will be optimized away (e.g. if conditions that are always false) contains syntax errors. Patch by Pablo Galindo. (Reverted in 3.7.4 final by bpo-37500.)

    bpo-28866: Avoid caching attributes of classes which type defines mro() to avoid a hard cache invalidation problem.

    bpo-27639: Correct return type for UserList slicing operations. Patch by Michael Blahay, Erick Cervantes, and vaultah

    bpo-32849: Fix Python Initialization code on FreeBSD to detect properly when stdin file descriptor (fd 0) is invalid.

    bpo-27987: pymalloc returns memory blocks aligned by 16 bytes, instead of 8 bytes, on 64-bit platforms to conform x86-64 ABI. Recent compilers assume this alignment more often. Patch by Inada Naoki.

    bpo-36504: Fix signed integer overflow in _ctypes.c’s PyCArrayType_new().

    bpo-20844: Fix running script with encoding cookie and LF line ending may fail on Windows.

    bpo-24214: Fixed support of the surrogatepass error handler in the UTF-8 incremental decoder.

    bpo-36459: Fix a possible double PyMem_FREE() due to tokenizer.c’s tok_nextc().

    bpo-36433: Fixed TypeError message in classmethoddescr_call.

    bpo-36430: Fix a possible reference leak in itertools.count().

    bpo-36440: Include node names in ParserError messages, instead of numeric IDs. Patch by A. Skrobov.

    bpo-36421: Fix a possible double decref in _ctypes.c’s PyCArrayType_new().

    bpo-36256: Fix bug in parsermodule when parsing a state in a DFA that has two or more arcs with labels of the same type. Patch by Pablo Galindo.

    bpo-36236: At Python initialization, the current directory is no longer prepended to sys.path if it has been removed.

    bpo-36262: Fix an unlikely memory leak on conversion from string to float in the function _Py_dg_strtod() used by float(str), complex(str), pickle.load(), marshal.load(), etc.

    bpo-36218: Fix a segfault occuring when sorting a list of heterogeneous values. Patch contributed by Rémi Lapeyre and Elliot Gorokhovsky.

    bpo-36035: Added fix for broken symlinks in combination with pathlib

    bpo-18372: Add missing PyObject_GC_Track() calls in the pickle module. Patch by Zackery Spytz.

    bpo-34408: Prevent a null pointer dereference and resource leakage in PyInterpreterState_New().

Library

    bpo-37280: Use threadpool for reading from file for sendfile fallback mode.

    bpo-37279: Fix asyncio sendfile support when sendfile sends extra data in fallback mode.

    bpo-19865: ctypes.create_unicode_buffer() now also supports non-BMP characters on platforms with 16-bit wchar_t (for example, Windows and AIX).

    bpo-35922: Fix RobotFileParser.crawl_delay() and RobotFileParser.request_rate() to return None rather than raise AttributeError when no relevant rule is defined in the robots.txt file. Patch by Rémi Lapeyre.

    bpo-36607: Eliminate RuntimeError raised by asyncio.all_tasks() if internal tasks weak set is changed by another thread during iteration.

    bpo-36402: Fix a race condition at Python shutdown when waiting for threads. Wait until the Python thread state of all non-daemon threads get deleted (join all non-daemon threads), rather than just wait until non-daemon Python threads complete.

    bpo-34886: Fix an unintended ValueError from subprocess.run() when checking for conflicting input and stdin or capture_output and stdout or stderr args when they were explicitly provided but with None values within a passed in **kwargs dict rather than as passed directly by name. Patch contributed by Rémi Lapeyre.

    bpo-37173: The exception message for inspect.getfile() now correctly reports the passed class rather than the builtins module.

    bpo-12639: msilib.Directory.start_component() no longer fails if keyfile is not None.

    bpo-36520: Lengthy email headers with UTF-8 characters are now properly encoded when they are folded. Patch by Jeffrey Kintscher.

    bpo-37054: Fix destructor _pyio.BytesIO and _pyio.TextIOWrapper: initialize their _buffer attribute as soon as possible (in the class body), because it’s used by __del__() which calls close().

    bpo-30835: Fixed a bug in email parsing where a message with invalid bytes in content-transfer-encoding of a multipart message can cause an AttributeError. Patch by Andrew Donnellan.

    bpo-37035: Don’t log OSError based exceptions if a fatal error has occurred in asyncio transport. Peer can generate almost any OSError, user cannot avoid these exceptions by fixing own code. Errors are still propagated to user code, it’s just logging them is pointless and pollute asyncio logs.

    bpo-37008: Add support for calling next() with the mock resulting from unittest.mock.mock_open()

    bpo-27737: Allow whitespace only header encoding in email.header - by Batuhan Taskaya

    bpo-36969: PDB command args now display keyword only arguments. Patch contributed by Rémi Lapeyre.

    bpo-36983: Add missing names to typing.__all__: ChainMap, ForwardRef, OrderedDict - by Anthony Sottile.

    bpo-21315: Email headers containing RFC2047 encoded words are parsed despite the missing whitespace, and a defect registered. Also missing trailing whitespace after encoded words is now registered as a defect.

    bpo-33524: Fix the folding of email header when the max_line_length is 0 or None and the header contains non-ascii characters. Contributed by Licht Takeuchi (@Licht-T).

    bpo-24564: shutil.copystat() now ignores errno.EINVAL on os.setxattr() which may occur when copying files on filesystems without extended attributes support.

    Original patch by Giampaolo Rodola, updated by Ying Wang.

    bpo-36845: Added validation of integer prefixes to the construction of IP networks and interfaces in the ipaddress module.

    bpo-35545: Fix asyncio discarding IPv6 scopes when ensuring hostname resolutions internally

    bpo-35070: posix.getgrouplist() now works correctly when the user belongs to NGROUPS_MAX supplemental groups. Patch by Jeffrey Kintscher.

    bpo-24538: In shutil.copystat(), first copy extended file attributes and then file permissions, since extended attributes can only be set on the destination while it is still writeable.

    bpo-33110: Handle exceptions raised by functions added by concurrent.futures add_done_callback correctly when the Future has already completed.

    bpo-26903: Limit max_workers in ProcessPoolExecutor to 61 to work around a WaitForMultipleObjects limitation.

    bpo-36813: Fix QueueListener to call queue.task_done() upon stopping. Patch by Bar Harel.

    bpo-36734: Fix compilation of faulthandler.c on HP-UX. Initialize stack_t current_stack to zero using memset().

    bpo-29183: Fix double exceptions in wsgiref.handlers.BaseHandler by calling its close() method only when no exception is raised.

    bpo-36650: The C version of functools.lru_cache() was treating calls with an empty **kwargs dictionary as being distinct from calls with no keywords at all. This did not result in an incorrect answer, but it did trigger an unexpected cache miss.

    bpo-28552: Fix distutils.sysconfig if sys.executable is None or an empty string: use os.getcwd() to initialize project_base. Fix also the distutils build command: don’t use sys.executable if it is None or an empty string.

    bpo-35755: shutil.which() and distutils.spawn.find_executable() now use os.confstr("CS_PATH") if available instead of os.defpath, if the PATH environment variable is not set. Moreover, don’t use os.confstr("CS_PATH") nor os.defpath if the PATH environment variable is set to an empty string.

    bpo-36613: Fix asyncio wait() not removing callback if exception

    bpo-36598: Fix isinstance check for Mock objects with spec when the code is executed under tracing. Patch by Karthikeyan Singaravelan.

    bpo-36533: Reinitialize logging.Handler locks in forked child processes instead of attempting to acquire them all in the parent before forking only to be released in the child process. The acquire/release pattern was leading to deadlocks in code that has implemented any form of chained logging handlers that depend upon one another as the lock acquision order cannot be guaranteed.

    bpo-36522: If debuglevel is set to >0 in http.client, print all values for headers with multiple values for the same header name. Patch by Matt Houglum.

    bpo-36492: Arbitrary keyword arguments (even with names “self” and “func”) can now be passed to some functions which should accept arbitrary keyword arguments and pass them to other function (for example partialmethod(), TestCase.addCleanup() and Profile.runcall()) if the required arguments are passed as positional arguments.

    bpo-36434: Errors during writing to a ZIP file no longer prevent to properly close it.

    bpo-34745: Fix asyncio ssl memory issues caused by circular references

    bpo-36321: collections.namedtuple() misspelled the name of an attribute. To be consistent with typing.NamedTuple, the attribute name should have been “_field_defaults” instead of “_fields_defaults”. For backwards compatibility, both spellings are now created. The misspelled version may be removed in the future.

    bpo-36272: logging does not silently ignore RecursionError anymore. Patch contributed by Rémi Lapeyre.

    bpo-36235: Fix CFLAGS in customize_compiler() of distutils.sysconfig: when the CFLAGS environment variable is defined, don’t override CFLAGS variable with the OPT variable anymore. Initial patch written by David Malcolm.

    bpo-35125: Asyncio: Remove inner callback on outer cancellation in shield

    bpo-35802: Clean up code which checked presence of os.stat / os.lstat / os.chmod which are always present. Patch by Anthony Sottile.

    bpo-23078: Add support for classmethod() and staticmethod() to unittest.mock.create_autospec(). Initial patch by Felipe Ochoa.

    bpo-35721: Fix asyncio.SelectorEventLoop.subprocess_exec() leaks file descriptors if Popen fails and called with stdin=subprocess.PIPE. Patch by Niklas Fiekas.

    bpo-35726: QueueHandler.prepare() now makes a copy of the record before modifying and enqueueing it, to avoid affecting other handlers in the chain.

    bpo-31855: unittest.mock.mock_open() results now respects the argument of read([size]). Patch contributed by Rémi Lapeyre.

    bpo-35082: Don’t return deleted attributes when calling dir on a unittest.mock.Mock.

    bpo-34547: wsgiref.handlers.BaseHandler now handles abrupt client connection terminations gracefully. Patch by Petter Strandmark.

    bpo-34424: Fix serialization of messages containing encoded strings when the policy.linesep is set to a multi-character string. Patch by Jens Troeger.

    bpo-33361: Fix a bug in codecs.StreamRecoder where seeking might leave old data in a buffer and break subsequent read calls. Patch by Ammar Askar.

    bpo-31922: asyncio.AbstractEventLoop.create_datagram_endpoint(): Do not connect UDP socket when broadcast is allowed. This allows to receive replies after a UDP broadcast.

    bpo-22102: Added support for ZIP files with disks set to 0. Such files are commonly created by builtin tools on Windows when use ZIP64 extension. Patch by Francisco Facioni.

    bpo-27141: Added a __copy__() to collections.UserList and collections.UserDict in order to correctly implement shallow copying of the objects. Patch by Bar Harel.

    bpo-31829: \r, \0 and \x1a (end-of-file on Windows) are now escaped in protocol 0 pickles of Unicode strings. This allows to load them without loss from files open in text mode in Python 2.

    bpo-31292: Fix setup.py check --restructuredtext for files containing include directives.

    bpo-23395: _thread.interrupt_main() now avoids setting the Python error status if the SIGINT signal is ignored or not handled by Python.

Documentation

    bpo-34903: Documented that in datetime.datetime.strptime(), the leading zero in some two-digit formats is optional. Patch by Mike Gleen.

    bpo-36984: Improve version added references in typing module - by Anthony Sottile.

    bpo-36868: What’s new now mentions SSLContext.hostname_checks_common_name instead of SSLContext.host_flags.

    bpo-36783: Added C API Documentation for Time_FromTimeAndFold and PyDateTime_FromDateAndTimeAndFold as per PEP 495. Patch by Edison Abahurire.

    bpo-30840: Document relative imports

    bpo-36523: Add docstring for io.IOBase.writelines().

    bpo-36425: New documentation translation: Simplified Chinese.

    bpo-36157: Added Documention for PyInterpreterState_Main().

    bpo-36138: Improve documentation about converting datetime.timedelta to scalars.

    bpo-22865: Add detail to the documentation on the pty.spawn function.

    bpo-35581: @typing.type_check_only now allows type stubs to mark functions and classes not available during runtime.

    bpo-35564: Explicitly set master_doc variable in conf.py for compliance with Sphinx 2.0

    bpo-10536: Enhance the gettext docs. Patch by Éric Araujo

    bpo-32995: Added the context variable in glossary.

    bpo-33832: Add glossary entry for ‘magic method’.

    bpo-33482: Make codecs.StreamRecoder.writelines take a list of bytes.

    bpo-25735: Added documentation for func factorial to indicate that returns integer values

Tests

    bpo-35998: Avoid TimeoutError in test_asyncio: test_start_tls_server_1()

    bpo-37153: test_venv.test_mutiprocessing() now explicitly calls pool.terminate() to wait until the pool completes.

    bpo-37081: Test with OpenSSL 1.1.1c

    bpo-36915: The main regrtest process now always removes all temporary directories of worker processes even if they crash or if they are killed on KeyboardInterrupt (CTRL+c).

    bpo-36719: “python3 -m test -jN …” now continues the execution of next tests when a worker process crash (CHILD_ERROR state). Previously, the test suite stopped immediately. Use –failfast to stop at the first error.

    bpo-36816: Update Lib/test/selfsigned_pythontestdotnet.pem to match self-signed.pythontest.net’s new TLS certificate.

    bpo-35925: Skip httplib and nntplib networking tests when they would otherwise fail due to a modern OS or distro with a default OpenSSL policy of rejecting connections to servers with weak certificates.

    bpo-36719: regrtest now always detects uncollectable objects. Previously, the check was only enabled by --findleaks. The check now also works with -jN/--multiprocess N. --findleaks becomes a deprecated alias to --fail-env-changed.

    bpo-36725: When using mulitprocessing mode (-jN), regrtest now better reports errors if a worker process fails, and it exits immediately on a worker thread failure or when interrupted.

    bpo-36454: Change test_time.test_monotonic() to test only the lower bound of elapsed time after a sleep command rather than the upper bound. This prevents unnecessary test failures on slow buildbots. Patch by Victor Stinner.

    bpo-36629: Fix test_imap4_host_default_value() of test_imaplib: catch also errno.ENETUNREACH error.

    bpo-36611: Fix test_sys.test_getallocatedblocks() when tracemalloc is enabled.

    bpo-36560: Fix reference leak hunting in regrtest: compute also deltas (of reference count, allocated memory blocks, file descriptor count) during warmup, to ensure that everything is initialized before starting to hunt reference leaks.

    bpo-36565: Fix reference hunting (python3 -m test -R 3:3) when Python has no built-in abc module.

    bpo-36436: Fix _testcapi.pymem_buffer_overflow(): handle memory allocation failure.

Build

    bpo-36605: make tags and make TAGS now also parse Modules/_io/*.c and Modules/_io/*.h.

    bpo-36508: python-config --ldflags no longer includes flags of the LINKFORSHARED variable. The LINKFORSHARED variable must only be used to build executables.

Windows

    bpo-34631: Updated OpenSSL to 1.1.1c in Windows installer

    bpo-37267: On Windows, os.dup() no longer creates an inheritable fd when handling a character file.

    bpo-36779: Ensure time.tzname is correct on Windows when the active code page is set to CP_UTF7 or CP_UTF8.

    bpo-36965: include of STATUS_CONTROL_C_EXIT without depending on MSC compiler

    bpo-36649: Remove trailing spaces for registry keys when installed via the Store.

    bpo-34144: Fixed activate.bat to correctly update codepage when chcp.com returns dots in output. Patch by Lorenz Mende.

    bpo-35941: enum_certificates function of the ssl module now returns certificates from all available certificate stores inside windows in a query instead of returning only certificates from the system wide certificate store. This includes certificates from these certificate stores: local machine, local machine enterprise, local machine group policy, current user, current user group policy, services, users. ssl.enum_crls() function is changed in the same way to return all certificate revocation lists inside the windows certificate revocation list stores.

    bpo-36441: Fixes creating a venv when debug binaries are installed.

    bpo-36312: Fixed decoders for the following code pages: 50220, 50221, 50222, 50225, 50227, 50229, 57002 through 57011, 65000 and 42.

    bpo-36010: Add the venv standard library module to the nuget distribution for Windows.

    bpo-34060: Report system load when running test suite on Windows. Patch by Ammar Askar. Based on prior work by Jeremy Kloth.

macOS

    bpo-35360: Update macOS installer to use SQLite 3.28.0.

    bpo-34631: Updated OpenSSL to 1.1.1c in macOS installer.

    bpo-36231: Support building Python on macOS without /usr/include installed. As of macOS 10.14, system header files are only available within an SDK provided by either the Command Line Tools or the Xcode app.

    bpo-34602: Avoid failures setting macOS stack resource limit with resource.setrlimit. This reverts an earlier fix for bpo-18075 which forced a non-default stack size when building the interpreter executable on macOS.

IDLE

    bpo-37321: Both subprocess connection error messages now refer to the ‘Startup failure’ section of the IDLE doc.

    bpo-37177: Properly ‘attach’ search dialogs to their main window so that they behave like other dialogs and do not get hidden behind their main window.

    bpo-37039: Adjust “Zoom Height” to individual screens by momemtarily maximizing the window on first use with a particular screen. Changing screen settings may invalidate the saved height. While a window is maximized, “Zoom Height” has no effect.

    bpo-35763: Make calltip reminder about ‘/’ meaning positional-only less obtrusive by only adding it when there is room on the first line.

    bpo-5680: Add ‘Run… Customized’ to the Run menu to run a module with customized settings. Any ‘command line arguments’ entered are added to sys.argv. One can suppress the normal Shell main module restart.

    bpo-35610: Replace now redundant .context_use_ps1 with .prompt_last_line. This finishes change started in bpo-31858.

    bpo-37038: Make idlelib.run runnable; add test clause.

    bpo-36958: Print any argument other than None or int passed to SystemExit or sys.exit().

    bpo-13102: When saving a file, call os.fsync() so bits are flushed to e.g. USB drive.

    bpo-36429: Fix starting IDLE with pyshell. Add idlelib.pyshell alias at top; remove pyshell alias at bottom. Remove obsolete __name__==’__main__’ command.

    bpo-36405: Use dict unpacking in idlelib.

    bpo-36396: Remove fgBg param of idlelib.config.GetHighlight(). This param was only used twice and changed the return type.

    bpo-23205: For the grep module, add tests for findfiles, refactor findfiles to be a module-level function, and refactor findfiles to use os.walk.

    bpo-23216: Add docstrings to IDLE search modules.

    bpo-30348: Increase test coverage of idlelib.autocomplete by 30%.

    bpo-32411: In browser.py, remove extraneous sorting by line number since dictionary was created in line number order.

Tools/Demos

    bpo-14546: Fix the argument handling in Tools/scripts/lll.py.

    bpo-32217: Fix freeze script on Windows.

C API

    bpo-28805: The METH_FASTCALL calling convention has been documented.

    bpo-37170: Fix the cast on error in PyLong_AsUnsignedLongLongMask().

    bpo-36389: Change the value of CLEANBYTE, DEADDYTE and FORBIDDENBYTE internal constants used by debug hooks on Python memory allocators (PyMem_SetupDebugHooks() function). Byte patterns 0xCB, 0xDB and 0xFB have been replaced with 0xCD, 0xDD and 0xFD to use the same values than Windows CRT debug malloc() and free().

[close]

http://www.python.org/
Titel: Python 3.8.0
Beitrag von: SiLæncer am 15 Oktober, 2019, 09:10
Changelog

    Major new features of the 3.8 series, compared to 3.7

    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

[close]

http://www.python.org/
Titel: Python 3.8.1
Beitrag von: SiLæncer am 19 Dezember, 2019, 16:10
Changelog

This is Python 3.8.1, the first maintenance release of Python 3.8

The Python 3.8 series is the newest major release of the Python programming language, and it contains many new features and optimizations.
Major new features of the 3.8 series, compared to 3.7

    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

There are many other interesting changes, please consult the "What's New" page in the documentation for a full list.
[close]

http://www.python.org/
Titel: Python 3.8.2
Beitrag von: SiLæncer am 26 Februar, 2020, 13:20
Changelog

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).

[close]

https://www.python.org/
Titel: Python 3.8.3
Beitrag von: SiLæncer am 14 Mai, 2020, 18:45
Changelog

Core and Builtins

    bpo-40527: Fix command line argument parsing: no longer write errors multiple times into stderr.

    bpo-40417: Fix imp module deprecation warning when PyImport_ReloadModule is called. Patch by Robert Rouhani.

    bpo-39562: The constant values of future flags in the __future__ module are updated in order to prevent collision with compiler flags. Previously PyCF_ALLOW_TOP_LEVEL_AWAIT was clashing with CO_FUTURE_DIVISION.

Library

    bpo-40559: Fix possible memory leak in the C implementation of asyncio.Task.

    bpo-40355: Improve error reporting in ast.literal_eval() in the presence of malformed ast.Dict nodes instead of silently ignoring any non-conforming elements. Patch by Curtis Bucher.

    bpo-40459: platform.win32_ver() now produces correct ptype strings instead of empty strings.

    bpo-40398: typing.get_args() now always returns an empty tuple for special generic aliases.

Documentation

    bpo-40561: Provide docstrings for webbrowser open functions.

    bpo-39435: Fix an incorrect signature for pickle.loads() in the docs

Windows

    bpo-40458: Increase reserved stack space to prevent overflow crash on Windows.

C API

    bpo-40412: Nullify inittab_copy during finalization, preventing future interpreter initializations in an embedded situation from crashing. Patch by Gregory Szorc.

[close]

https://www.python.org/
Titel: Python 3.8.5
Beitrag von: SiLæncer am 21 Juli, 2020, 13:21
Changelog

Security

    bpo-41304: Fixes python3x._pth being ignored on Windows, caused by the fix for bpo-29778 (CVE-2020-15801).

    bpo-39603: Prevent http header injection by rejecting control characters in http.client.putrequest(…).

Core and Builtins

    bpo-41295: Resolve a regression in CPython 3.8.4 where defining “__setattr__” in a multi-inheritance setup and calling up the hierarchy chain could fail if builtins/extension types were involved in the base types.

Library

    bpo-41288: Unpickling invalid NEWOBJ_EX opcode with the C implementation raises now UnpicklingError instead of crashing.

    bpo-39017: Avoid infinite loop when reading specially crafted TAR files using the tarfile module (CVE-2019-20907).

Documentation

    bpo-37703: Updated Documentation to comprehensively elaborate on the behaviour of gather.cancel()

Build

    bpo-41302: Enable building Python 3.8 with libmpdec-2.5.0 to ease maintenance for Linux distributions. Patch by Felix Yan.

macOS

    bpo-40741: Update macOS installer to use SQLite 3.32.3.

IDLE

    bpo-41300: Save files with non-ascii chars. Fix regression released in 3.9.0b4 and 3.8.4.

[close]

https://www.python.org/
Titel: Python 3.9.0
Beitrag von: SiLæncer am 05 Oktober, 2020, 20:10
Changelog

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

    PEP 573, Module State Access from C Extension Methods
    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 614, Relaxing Grammar Restrictions On Decorators
    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.

[close]

https://www.python.org/
Titel: Python 3.9.3
Beitrag von: SiLæncer am 03 April, 2021, 09:40
Changelog

    Security:

    bpo-42988: 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: 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: Add audit hooks for gc.get_objects(), gc.get_referrers() and gc.get_referents(). Patch by Pablo Galindo.

    Core and Builtins:

    bpo-43660: Fix crash that happens when replacing sys.stderr with a callable that can remove the object while an exception is being printed. Patch by Pablo Galindo.
    bpo-43555: Report the column offset for SyntaxError for invalid line continuation characters. Patch by Pablo Galindo.
    bpo-43517: Fix misdetection of circular imports when using from pkg.mod import attr, which caused false positives in non-trivial multi-threaded code.
    bpo-35883: Python no longer fails at startup with a fatal error if a command line argument contains an invalid Unicode character. The Py_DecodeLocale() function now escapes byte sequences which would be decoded as Unicode characters outside the [U+0000; U+10ffff] range.
    bpo-43406: Fix a possible race condition where PyErr_CheckSignals tries to execute a non-Python signal handler.
    bpo-42500: Improve handling of exceptions near recursion limit. Converts a number of Fatal Errors in RecursionErrors.

    Library:

    bpo-43433: xmlrpc.client.ServerProxy no longer ignores query and fragment in the URL of the server.
    bpo-35930: Raising an exception raised in a “future” instance will create reference cycles.
    bpo-43577: Fix deadlock when using ssl.SSLContext debug callback with ssl.SSLContext.sni_callback().
    bpo-43521: ast.unparse can now render NaNs and empty sets.
    bpo-43423: subprocess.communicate() no longer raises an IndexError when there is an empty stdout or stderr IO buffer during a timeout on Windows.
    bpo-27820: Fixed long-standing bug of smtplib.SMTP where doing AUTH LOGIN with initial_response_ok=False will fail.
    The cause is that SMTP.auth_login _always_ returns a password if provided with a challenge string, thus non-compliant with the standard for AUTH LOGIN.
    Also fixes bug with the test for smtpd.
    bpo-43332: Improves the networking efficiency of http.client when using a proxy via set_tunnel(). Fewer small send calls are made during connection setup.
    bpo-43399: Fix ElementTree.extend not working on iterators when using the Python implementation
    bpo-43316: The python -m gzip command line application now properly fails when detecting an unsupported extension. It exits with a non-zero exit code and prints an error message to stderr.
    bpo-43260: Fix TextIOWrapper can not flush internal buffer forever after very large text is written.
    bpo-42782: Fail fast in shutil.move() to avoid creating destination directories on failure.
    bpo-37193: Fixed memory leak in socketserver.ThreadingMixIn introduced in Python 3.7.

    Documentation:

    bpo-43199: Answer “Why is there no goto?” in the Design and History FAQ.
    bpo-43407: Clarified that a result from time.monotonic(), time.perf_counter(), time.process_time(), or time.thread_time() can be compared with the result from any following call to the same function - not just the next immediate call.
    bpo-27646: Clarify that ‘yield from <expr>’ works with any iterable, not just iterators.
    bpo-36346: Update some deprecated unicode APIs which are documented as “will be removed in 4.0” to “3.12”. See PEP 623 for detail.

    Tests:

    bpo-37945: Fix test_getsetlocale_issue1813() of test_locale: skip the test if setlocale() fails. Patch by Victor Stinner.
    bpo-41561: Add workaround for Ubuntu’s custom OpenSSL security level policy.
    bpo-43288: Fix test_importlib to correctly skip Unicode file tests if the fileystem does not support them.

    Build:

    bpo-43631: Update macOS, Windows, and CI to OpenSSL 1.1.1k.
    bpo-43617: Improve configure.ac: Check for presence of autoconf-archive package and remove our copies of M4 macros.

    macOS:

    bpo-41837: Update macOS installer build to use OpenSSL 1.1.1j.

    IDLE:

    bpo-42225: Document that IDLE can fail on Unix either from misconfigured IP masquerage rules or failure displaying complex colored (non-ascii) characters.
    bpo-43283: Document why printing to IDLE’s Shell is often slower than printing to a system terminal and that it can be made faster by pre-formatting a single string before printing.

[close]

https://www.python.org/
Titel: Python 3.9.4
Beitrag von: SiLæncer am 05 April, 2021, 12:20
Changelog

    Core and Builtins:

    bpo-43710: Reverted the fix for https://bugs.python.org/issue42500 as it changed the PyThreadState struct size and broke the 3.9.x ABI in the 3.9.3 release (visible on 32-bit platforms using binaries compiled using an earlier version of Python 3.9.x headers).

    Library:

    bpo-26053: Fixed bug where the pdb interactive run command echoed the args from the shell command line, even if those have been overridden at the pdb prompt.


[close]

https://www.python.org/
Titel: Python 3.9.5
Beitrag von: SiLæncer am 05 Mai, 2021, 11:50
Changelog

Security

    bpo-43434: Creating a sqlite3.Connection object now also produces a sqlite3.connect auditing event. Previously this event was only produced by sqlite3.connect() calls. Patch by Erlend E. Aasland.

    bpo-43882: The presence of newline or tab characters in parts of a URL could allow some forms of attacks.

    Following the controlling specification for URLs defined by WHATWG urllib.parse() now removes ASCII newlines and tabs from URLs, preventing such attacks.

    bpo-43472: Ensures interpreter-level audit hooks receive the cpython.PyInterpreterState_New event when called through the _xxsubinterpreters module.

    bpo-36384: ipaddress module no longer accepts any leading zeros in IPv4 address strings. Leading zeros are ambiguous and interpreted as octal notation by some libraries. For example the legacy function socket.inet_aton() treats leading zeros as octal notatation. glibc implementation of modern inet_pton() does not accept any leading zeros. For a while the ipaddress module used to accept ambiguous leading zeros.

    bpo-43075: Fix Regular Expression Denial of Service (ReDoS) vulnerability in urllib.request.AbstractBasicAuthHandler. The ReDoS-vulnerable regex has quadratic worst-case complexity and it allows cause a denial of service when identifying crafted invalid RFCs. This ReDoS issue is on the client side and needs remote attackers to control the HTTP server.

    bpo-42800: Audit hooks are now fired for frame.f_code, traceback.tb_frame, and generator code/frame attribute access.

Core and Builtins

    bpo-43105: Importlib now resolves relative paths when creating module spec objects from file locations.

    bpo-42924: Fix bytearray repetition incorrectly copying data from the start of the buffer, even if the data is offset within the buffer (e.g. after reassigning a slice at the start of the bytearray to a shorter byte string).

Library

    bpo-43993: Update bundled pip to 21.1.1.

    bpo-43937: Fixed the turtle module working with non-default root window.

    bpo-43930: Update bundled pip to 21.1 and setuptools to 56.0.0

    bpo-43920: OpenSSL 3.0.0: load_verify_locations() now returns a consistent error message when cadata contains no valid certificate.

    bpo-43607: urllib can now convert Windows paths with \\?\ prefixes into URL paths.

    bpo-43284: platform.win32_ver derives the windows version from sys.getwindowsversion().platform_version which in turn derives the version from kernel32.dll (which can be of a different version than Windows itself). Therefore change the platform.win32_ver to determine the version using the platform module’s _syscmd_ver private function to return an accurate version.

    bpo-42248: [Enum] ensure exceptions raised in _missing__ are released

    bpo-43799: OpenSSL 3.0.0: define OPENSSL_API_COMPAT 1.1.1 to suppress deprecation warnings. Python requires OpenSSL 1.1.1 APIs.

    bpo-43794: Add ssl.OP_IGNORE_UNEXPECTED_EOF constants (OpenSSL 3.0.0)

    bpo-43789: OpenSSL 3.0.0: Don’t call the password callback function a second time when first call has signaled an error condition.

    bpo-43788: The header files for ssl error codes are now OpenSSL version-specific. Exceptions will now show correct reason and library codes. The make_ssl_data.py script has been rewritten to use OpenSSL’s text file with error codes.

    bpo-43655: tkinter dialog windows are now recognized as dialogs by window managers on macOS and X Window.

    bpo-43534: turtle.textinput() and turtle.numinput() create now a transient window working on behalf of the canvas window.

    bpo-43522: Fix problem with hostname_checks_common_name. OpenSSL does not copy hostflags from struct SSL_CTX to struct SSL.

    bpo-42967: Allow bytes separator argument in urllib.parse.parse_qs and urllib.parse.parse_qsl when parsing str query strings. Previously, this raised a TypeError.

    bpo-43176: Fixed processing of a dataclass that inherits from a frozen dataclass with no fields. It is now correctly detected as an error.

    bpo-41735: Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin.

    bpo-36470: Fix dataclasses with InitVars and replace(). Patch by Claudiu Popa.

    bpo-32745: Fix a regression in the handling of ctypes’ ctypes.c_wchar_p type: embedded null characters would cause a ValueError to be raised. Patch by Zackery Spytz.

Documentation

    bpo-43959: The documentation on the PyContextVar C-API was clarified.

    bpo-43938: Update dataclasses documentation to express that FrozenInstanceError is derived from AttributeError.

    bpo-43755: Update documentation to reflect that unparenthesized lambda expressions can no longer be the expression part in an if clause in comprehensions and generator expressions since Python 3.9.

    bpo-43739: Fixing the example code in Doc/extending/extending.rst to declare and initialize the pmodule variable to be of the right type.

Tests

    bpo-43961: Fix test_logging.test_namer_rotator_inheritance() on Windows: use os.replace() rather than os.rename(). Patch by Victor Stinner.

    bpo-43842: Fix a race condition in the SMTP test of test_logging. Don’t close a file descriptor (socket) from a different thread while asyncore.loop() is polling the file descriptor. Patch by Victor Stinner.

    bpo-43811: Tests multiple OpenSSL versions on GitHub Actions. Use ccache to speed up testing.

    bpo-43791: OpenSSL 3.0.0: Disable testing of legacy protocols TLS 1.0 and 1.1. Tests are failing with TLSV1_ALERT_INTERNAL_ERROR.

Windows

    bpo-35306: Avoid raising errors from pathlib.Path.exists() when passed an invalid filename.

    bpo-38822: Fixed os.stat() failing on inaccessible directories with a trailing slash, rather than falling back to the parent directory’s metadata. This implicitly affected os.path.exists() and os.path.isdir().

    bpo-26227: Fixed decoding of host names in socket.gethostbyaddr() and socket.gethostbyname_ex().

    bpo-40432: Updated pegen regeneration script on Windows to find and use Python 3.8 or higher. Prior to this, pegen regeneration already required 3.8 or higher, but the script may have used lower versions of Python.

    bpo-43745: Actually updates Windows release to OpenSSL 1.1.1k. Earlier releases were mislabelled and actually included 1.1.1i again.

    bpo-43492: Upgrade Windows installer to use SQLite 3.35.5.

macOS

    bpo-42119: Fix check for macOS SDK paths when building Python. Narrow search to match contents of SDKs, namely only files in /System/Library, /System/IOSSupport, and /usr other than /usr/local. Previously, anything under /System was assumed to be in an SDK which causes problems with the new file system layout in 10.15+ where user file systems may appear to be mounted under /System. Paths in /Library were also incorrectly treated as SDK locations.

    bpo-44009: Provide “python3.x-intel64” executable to allow reliably forcing macOS universal2 framework builds to run under Rosetta 2 Intel-64 emulation on Apple Silicon Macs. This can be useful for testing or when universal2 wheels are not yet available.

    bpo-43492: Update macOS installer to use SQLite 3.35.4.

IDLE

    bpo-43655: IDLE dialog windows are now recognized as dialogs by window managers on macOS and X Window.

[close]

https://www.python.org/
Titel: Python 3.10.2
Beitrag von: SiLæncer am 16 Januar, 2022, 10:20
Changelog

Core and Builtins

    bpo-46347: Fix memory leak in PyEval_EvalCodeEx.

    bpo-46289: ASDL declaration of FormattedValue has changed to reflect conversion field is not optional.

    bpo-46237: Fix the line number of tokenizer errors inside f-strings. Patch by Pablo Galindo.

    bpo-46006: Fix a regression when a type method like __init__() is modified in a subinterpreter. Fix a regression in _PyUnicode_EqualToASCIIId() and type update_slot(). Revert the change which made the Unicode dictionary of interned strings compatible with subinterpreters: the internal interned dictionary is shared again by all interpreters. Patch by Victor Stinner.

    bpo-46085: Fix iterator cache mechanism of OrderedDict.

    bpo-46110: Add a maximum recursion check to the PEG parser to avoid stack overflow. Patch by Pablo Galindo

    bpo-46054: Fix parser error when parsing non-utf8 characters in source files. Patch by Pablo Galindo.

    bpo-46042: Improve the location of the caret in SyntaxError exceptions emitted by the symbol table. Patch by Pablo Galindo.

    bpo-46025: Fix a crash in the atexit module involving functions that unregister themselves before raising exceptions. Patch by Pablo Galindo.

    bpo-46009: Restore behavior from 3.9 and earlier when sending non-None to newly started generator. In 3.9 this did not affect the state of the generator. In 3.10.0 and 3.10.1 gen_func().send(0) is equivalent to gen_func().throw(TypeError(...) which exhausts the generator. In 3.10.2 onward, the behavior has been reverted to that of 3.9.

    bpo-46000: Improve compatibility of the curses module with NetBSD curses.

    bpo-46004: Fix the SyntaxError location for errors involving for loops with invalid targets. Patch by Pablo Galindo

    bpo-42918: Fix bug where the built-in compile() function did not always raise a SyntaxError when passed multiple statements in ‘single’ mode. Patch by Weipeng Hong.

Library

    bpo-40479: Fix hashlib usedforsecurity option to work correctly with OpenSSL 3.0.0 in FIPS mode.

    bpo-46070: Fix possible segfault when importing the asyncio module from different sub-interpreters in parallel. Patch by Erlend E. Aasland.

    bpo-46278: Reflect context argument in AbstractEventLoop.call_*() methods. Loop implementations already support it.

    bpo-46239: Improve error message when importing asyncio.windows_events on non-Windows.

    bpo-20369: concurrent.futures.wait() no longer blocks forever when given duplicate Futures. Patch by Kumar Aditya.

    bpo-46105: Honor spec when generating requirement specs with urls and extras (importlib_metadata 4.8.3).

    bpo-26952: argparse raises ValueError with clear message when trying to render usage for an empty mutually-exclusive group. Previously it raised a cryptic IndexError.

    bpo-27718: Fix help for the signal module. Some functions (e.g. signal() and getsignal()) were omitted.

    bpo-46032: The registry() method of functools.singledispatch() functions checks now the first argument or the first parameter annotation and raises a TypeError if it is not supported. Previously unsupported “types” were ignored (e.g. typing.List[int]) or caused an error at calling time (e.g. list[int]).

    bpo-46018: Ensure that math.expm1() does not raise on underflow.

    bpo-45755: typing generic aliases now reveal the class attributes of the original generic class when passed to dir(). This was the behavior up to Python 3.6, but was changed in 3.7-3.9.

    bpo-13236: unittest.TextTestResult and unittest.TextTestRunner flush now the output stream more often.

    bpo-42378: Fixes the issue with log file being overwritten when logging.FileHandler is used in atexit with filemode set to 'w'. Note this will cause the message in atexit not being logged if the log stream is already closed due to shutdown of logging.

Documentation

    bpo-46120: State that | is preferred for readability over Union in the typing docs.

    bpo-46040: Fix removal Python version for @asyncio.coroutine, the correct value is 3.11.

    bpo-19737: Update the documentation for the globals() function.

    bpo-45840: Improve cross-references in the documentation for the data model.

Tests

    bpo-46205: Fix hang in runtest_mp due to race condition

    bpo-46263: Fix test_capi on FreeBSD 14-dev: instruct jemalloc to not fill freed memory with junk byte.

    bpo-46150: Now fakename in test_pathlib.PosixPathTest.test_expanduser is checked to be non-existent.

    bpo-46129: Rewrite asyncio.locks tests with unittest.IsolatedAsyncioTestCase usage.

    bpo-46114: Fix test case for OpenSSL 3.0.1 version. OpenSSL 3.0 uses 0xMNN00PP0L.

Build

    bpo-46263: configure no longer sets MULTIARCH on FreeBSD platforms.

    bpo-46106: Updated OpenSSL to 1.1.1m in Windows builds, macOS installer builds, and CI. Patch by Kumar Aditya.

macOS

    bpo-40477: The Python Launcher app for macOS now properly launches scripts and, if necessary, the Terminal app when running on recent macOS releases.

C API

    bpo-46236: Fix a bug in PyFunction_GetAnnotations() that caused it to return a tuple instead of a dict.

[close]

http://www.python.org/
Titel: Python 3.10.6
Beitrag von: SiLæncer am 02 August, 2022, 18:15
Changelog

Among the new major new features and changes so far:

    PEP 623 – Deprecate and prepare for the removal of the wstr member in PyUnicodeObject.
    PEP 604 – Allow writing union types as X | Y
    PEP 612 – Parameter Specification Variables
    PEP 626 – Precise line numbers for debugging and other tools.
    PEP 618 – Add Optional Length-Checking To zip.
    bpo-12782: Parenthesized context managers are now officially allowed.
    PEP 632 – Deprecate distutils module.
    PEP 613 – Explicit Type Aliases
    PEP 634 – Structural Pattern Matching: Specification
    PEP 635 – Structural Pattern Matching: Motivation and Rationale
    PEP 636 – Structural Pattern Matching: Tutorial
    PEP 644 – Require OpenSSL 1.1.1 or newer
    PEP 624 – Remove Py_UNICODE encoder APIs
    PEP 597 – Add optional EncodingWarning

[close]

http://www.python.org/
Titel: Python 3.11.0
Beitrag von: SiLæncer am 25 Oktober, 2022, 06:10
Changelog


    General changes:

    PEP 657 -- Include Fine-Grained Error Locations in Tracebacks
    PEP 654 -- Exception Groups and except*
    PEP 680 -- tomllib: Support for Parsing TOML in the Standard Library
    gh-90908 -- Introduce task groups to asyncio
    gh-34627 -- Atomic grouping ((?>...)) and possessive quantifiers (*+, ++, ?+, {m,n}+) are now supported in regular expressions.
    The Faster CPython Project is already yielding some exciting results. Python 3.11 is up to 10-60% faster than Python 3.10. On average, we measured a 1.22x speedup on the standard benchmark suite. See Faster CPython for details.

    Typing and typing language changes:

    PEP 673 -- Self Type
    PEP 646 -- Variadic Generics
    PEP 675 -- Arbitrary Literal String Type
    PEP 655 -- Marking individual TypedDict items as required or potentially-missing
    PEP 681 -- Data Class Transforms

[close]

http://www.python.org/
Titel: Python 3.11.3
Beitrag von: SiLæncer am 05 April, 2023, 19:45
Changelog


General changes

    PEP 657 -- Include Fine-Grained Error Locations in Tracebacks
    PEP 654 -- Exception Groups and except*
    PEP 680 -- tomllib: Support for Parsing TOML in the Standard Library
    gh-90908 -- Introduce task groups to asyncio
    gh-34627 -- Atomic grouping ((?>...)) and possessive quantifiers (*+, ++, ?+, {m,n}+) are now supported in regular expressions.
    The Faster CPython Project is already yielding some exciting results. Python 3.11 is up to 10-60% faster than Python 3.10. On average, we measured a 1.22x speedup on the standard benchmark suite. See Faster CPython for details.

Typing and typing language changes

    PEP 673 -- Self Type
    PEP 646 -- Variadic Generics
    PEP 675 -- Arbitrary Literal String Type
    PEP 655 -- Marking individual TypedDict items as required or potentially-missing
    PEP 681 -- Data Class Transforms

[close]

http://www.python.org/
Titel: Python 3.11.5
Beitrag von: SiLæncer am 24 August, 2023, 21:10
Changelog


Security

    gh-108310: Fixed an issue where instances of 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 by Aapo Oksman. Patch by Gregory P. Smith.

Core and Builtins

    gh-104432: Fix potential unaligned memory access on C APIs involving returned sequences of char * pointers within the grp and socket modules. These were revealed using a -fsaniziter=alignment build on ARM macOS. Patch by Christopher Chavez.

    gh-77377: Ensure that multiprocessing synchronization objects created in a fork context are not sent to a different process created in a spawn context. This changes a segfault into an actionable RuntimeError in the parent process.

    gh-106092: Fix a segmentation fault caused by a use-after-free bug in frame_dealloc when the trashcan delays the deallocation of a PyFrameObject.

    gh-106719: No longer suppress arbitrary errors in the __annotations__ getter and setter in the type and module types.

    gh-106723: Propagate frozen_modules to multiprocessing spawned process interpreters.

    gh-105979: Fix crash in _imp.get_frozen_object() due to improper exception handling.

    gh-105840: Fix possible crashes when specializing function calls with too many __defaults__.

    gh-105588: Fix an issue that could result in crashes when compiling malformed ast nodes.

    gh-105375: Fix bugs in the builtins module where exceptions could end up being overwritten.

    gh-105375: Fix bug in the compiler where an exception could end up being overwritten.

    gh-105375: Improve error handling in PyUnicode_BuildEncodingMap() where an exception could end up being overwritten.

    gh-105235: Prevent out-of-bounds memory access during mmap.find() calls.

    gh-101006: Improve error handling when read marshal data.

Library

    gh-105736: Harmonized the pure Python version of OrderedDict with the C version. Now, both versions set up their internal state in __new__. Formerly, the pure Python version did the set up in __init__.

    gh-107963: Fix multiprocessing.set_forkserver_preload() to check the given list of modules names. Patch by Dong-hee Na.

    gh-106242: Fixes os.path.normpath() to handle embedded null characters without truncating the path.

    gh-107845: tarfile.data_filter() now takes the location of symlinks into account when determining their target, so it will no longer reject some valid tarballs with LinkOutsideDestinationError.

    gh-107715: Fix doctest.DocTestFinder.find() in presence of class names with special characters. Patch by Gertjan van Zwieten.

    gh-100814: Passing a callable object as an option value to a Tkinter image now raises the expected TclError instead of an AttributeError.

    gh-106684: Close asyncio.StreamWriter when it is not closed by application leading to memory leaks. Patch by Kumar Aditya.

    gh-107077: Seems that in some conditions, OpenSSL will return SSL_ERROR_SYSCALL instead of SSL_ERROR_SSL when a certification verification has failed, but the error parameters will still contain ERR_LIB_SSL and SSL_R_CERTIFICATE_VERIFY_FAILED. We are now detecting this situation and raising the appropiate ssl.SSLCertVerificationError. Patch by Pablo Galindo

    gh-107396: tarfiles; Fixed use before assignment of self.exception for gzip decompression

    gh-46376: Prevent memory leak and use-after-free when using pointers to pointers with ctypes

    gh-62519: Make gettext.pgettext() search plural definitions when translation is not found.

    gh-83006: Document behavior of shutil.disk_usage() for non-mounted filesystems on Unix.

    gh-106186: Do not report MultipartInvariantViolationDefect defect when the email.parser.Parser class is used to parse emails with headersonly=True.

    gh-106831: Fix potential missing NULL check of d2i_SSL_SESSION result in _ssl.c.

    gh-106774: Update the bundled copy of pip to version 23.2.1.

    gh-106752: Fixed several bug in zipfile.Path in name/suffix/suffixes/stem operations when no filename is present and the Path is not at the root of the zipfile.

    gh-106602: Add __copy__ and __deepcopy__ in enum

    gh-106530: Revert a change to colorsys.rgb_to_hls() that caused division by zero for certain almost-white inputs. Patch by Terry Jan Reedy.

    gh-106052: re module: fix the matching of possessive quantifiers in the case of a subpattern containing backtracking.

    gh-106510: Improve debug output for atomic groups in regular expressions.

    gh-105497: Fix flag mask inversion when unnamed flags exist.

    gh-90876: Prevent multiprocessing.spawn from failing to import in environments where sys.executable is None. This regressed in 3.11 with the addition of support for path-like objects in multiprocessing.

    gh-106350: Detect possible memory allocation failure in the libtommath function mp_init() used by the _tkinter module.

    gh-102541: Make pydoc.doc catch bad module ImportError when output stream is not None.

    gh-106263: Fix crash when calling repr with a manually constructed SignalDict object. Patch by Charlie Zhao.

    gh-105375: Fix a bug in _Unpickler_SetInputStream() where an exception could end up being overwritten in case of failure.

    gh-105375: Fix bugs in sys where exceptions could end up being overwritten because of deferred error handling.

    gh-105605: Harden pyexpat error handling during module initialisation to prevent exceptions from possibly being overwritten, and objects from being dereferenced twice.

    gh-105375: Fix bug in decimal where an exception could end up being overwritten.

    gh-105375: Fix bugs in _datetime where exceptions could be overwritten in case of module initialisation failure.

    gh-105375: Fix bugs in _ssl initialisation which could lead to leaked references and overwritten exceptions.

    gh-105375: Fix a bug in array.array where an exception could end up being overwritten.

    gh-105375: Fix bugs in _ctypes where exceptions could end up being overwritten.

    gh-105375: Fix a bug in the posix module where an exception could be overwritten.

    gh-105375: Fix bugs in _elementtree where exceptions could be overwritten.

    gh-105375: Fix bugs in zoneinfo where exceptions could be overwritten.

    gh-105375: Fix bugs in pickle where exceptions could be overwritten.

    gh-105497: Fix flag inversion when alias/mask members exist.

    gh-105375: Fix bugs in pickle where exceptions could be overwritten.

    gh-103171: Revert undocumented behaviour change with runtime-checkable protocols decorated with typing.final() in Python 3.11. The behaviour change had meant that objects would not be considered instances of these protocols at runtime unless they had a __final__ attribute. Patch by Alex Waygood.

    gh-105375: Fix a bug in sqlite3 where an exception could be overwritten in the collation callback.

    gh-105332: Revert pickling method from by-name back to by-value.

    gh-104554: Add RTSPS scheme support in urllib.parse

    gh-100061: Fix a bug that causes wrong matches for regular expressions with possessive qualifier.

    gh-102541: Hide traceback in help() prompt, when import failed.

    gh-99203: Restore following CPython <= 3.10.5 behavior of shutil.make_archive(): do not create an empty archive if root_dir is not a directory, and, in that case, raise FileNotFoundError or NotADirectoryError regardless of format choice. Beyond the brought-back behavior, the function may now also raise these exceptions in dry_run mode.

    gh-94777: Fix hanging multiprocessing ProcessPoolExecutor when a child process crashes while data is being written in the call queue.

    bpo-18319: Ensure gettext(msg) retrieve translations even if a plural form exists. In other words: gettext(msg) == ngettext(msg, '', 1).

Documentation

    gh-107008: Document the curses module variables LINES and COLS.

    gh-106948: Add a number of standard external names to nitpick_ignore.

    gh-54738: Add documentation on how to localize the argparse module.

Tests

    gh-105776: Fix test_cppext when the C compiler command -std=c11 option: remove -std= options from the compiler command. Patch by Victor Stinner.

    gh-107237: test_logging: Fix test_udp_reconnection() by increasing the timeout from 100 ms to 5 minutes (LONG_TIMEOUT). Patch by Victor Stinner.

    gh-101634: When running the Python test suite with -jN option, if a worker stdout cannot be decoded from the locale encoding report a failed testn so the exitcode is non-zero. Patch by Victor Stinner.

Build

    gh-107814: When calling find_python.bat with -q it did not properly silence the output of nuget. That is now fixed.

    gh-106881: Check for linux/limits.h before including it in Modules/posixmodule.c.

    gh-104692: Include commoninstall as a prerequisite for bininstall

    This ensures that commoninstall is completed before bininstall is started when parallel builds are used (make -j install), and so the python3 symlink is only installed after all standard library modules are installed.

    gh-100340: Allows -Wno-int-conversion for wasm-sdk 17 and onwards, thus enables building WASI builds once against the latest sdk.

Windows

    gh-106242: Fixes realpath() to behave consistently when passed a path containing an embedded null character on Windows. In strict mode, it now raises OSError instead of the unexpected ValueError, and in non-strict mode will make the path absolute.

    gh-106844: Fix integer overflow in _winapi.LCMapStringEx() which affects ntpath.normcase().

    gh-99079: Update Windows build to use OpenSSL 3.0.9

    gh-105436: Ensure that an empty environment block is terminated by two null characters, as is required by Windows.

macOS

    gh-107565: Update macOS installer to use OpenSSL 3.0.10.

    gh-99079: Update macOS installer to use OpenSSL 3.0.9.

Tools/Demos

    gh-107565: Update multissltests and GitHub CI workflows to use OpenSSL 1.1.1v, 3.0.10, and 3.1.2.

    gh-95065: Argument Clinic now supports overriding automatically generated signature by using directive @text_signature. See How to override the generated signature.

    gh-106970: Fix bugs in the Argument Clinic destination <name> clear command; the destination buffers would never be cleared, and the destination directive parser would simply continue to the fault handler after processing the command. Patch by Erlend E. Aasland.

C API

    gh-107916: C API functions PyErr_SetFromErrnoWithFilename(), PyErr_SetExcFromWindowsErrWithFilename() and PyErr_SetFromWindowsErrWithFilename() save now the error code before calling PyUnicode_DecodeFSDefault().

    gh-107915: Such C API functions as PyErr_SetString(), PyErr_Format(), PyErr_SetFromErrnoWithFilename() and many others no longer crash or ignore errors if it failed to format the error message or decode the filename. Instead, they keep a corresponding error.

    gh-107226: PyModule_AddObjectRef() is now only available in the limited API version 3.10 or later.

    gh-105375: Fix a bug in PyErr_WarnExplicit() where an exception could end up being overwritten if the API failed internally.

    gh-99612: Fix PyUnicode_DecodeUTF8Stateful() for ASCII-only data: *consumed was not set.

[close]

http://www.python.org/
Titel: Python 3.12.3
Beitrag von: SiLæncer am 10 April, 2024, 06:40
Changelog


Security

    gh-115398: Allow controlling Expat >=2.6.0 reparse deferral (CVE-2023-52425) by adding five new methods:

        xml.etree.ElementTree.XMLParser.flush()

        xml.etree.ElementTree.XMLPullParser.flush()

        xml.parsers.expat.xmlparser.GetReparseDeferralEnabled()

        xml.parsers.expat.xmlparser.SetReparseDeferralEnabled()

        xml.sax.expatreader.ExpatParser.flush()

    gh-115399: Update bundled libexpat to 2.6.0

    gh-115243: Fix possible crashes in collections.deque.index() when the deque is concurrently modified.

    gh-114572: ssl.SSLContext.cert_store_stats() and ssl.SSLContext.get_ca_certs() now correctly lock access to the certificate store, when the ssl.SSLContext is shared across multiple threads.

Core and Builtins

    gh-109120: Added handle of incorrect star expressions, e.g f(3, *). Patch by Grigoryev Semyon

    gh-99108: Updated the hashlib built-in HACL* project C code from upstream that we use for many implementations when they are not present via OpenSSL in a given build. This also avoids the rare potential for a C symbol name one definition rule linking issue.

    gh-116735: For INSTRUMENTED_CALL_FUNCTION_EX, set arg0 to sys.monitoring.MISSING instead of None for CALL event.

    gh-113964: Starting new threads and process creation through os.fork() are now only prevented once all non-daemon threads exit.

    gh-116604: Respect the status of the garbage collector when indirect calls are made via PyErr_CheckSignals() and the evaluation breaker. Patch by Pablo Galindo

    gh-116626: Ensure INSTRUMENTED_CALL_FUNCTION_EX always emits CALL

    gh-116296: Fix possible refleak in object.__reduce__() internal error handling.

    gh-116034: Fix location of the error on a failed assertion.

    gh-115823: Properly calculate error ranges in the parser when raising SyntaxError exceptions caused by invalid byte sequences. Patch by Pablo Galindo

    gh-112087: For an empty reverse iterator for list will be reduced to reversed(). Patch by Donghee Na.

    gh-115154: Fix a bug that was causing the tokenize.untokenize() function to handle unicode named literals incorrectly. Patch by Pablo Galindo

    gh-114828: Fix compilation crashes in uncommon code examples using super() inside a comprehension in a class body.

    gh-115011: Setters for members with an unsigned integer type now support the same range of valid values for objects that has a __index__() method as for int.

    gh-112215: Change the C recursion limits to more closely reflect the underlying platform limits.

    gh-96497: Fix incorrect resolution of mangled class variables used in assignment expressions in comprehensions.

Library

    gh-117467: Preserve mailbox ownership when rewriting in mailbox.mbox.flush(). Patch by Tony Mountifield.

    gh-117310: Fixed an unlikely early & extra Py_DECREF triggered crash in ssl when creating a new _ssl._SSLContext if CPython was built implausibly such that the default cipher list is empty or the SSL library it was linked against reports a failure from its C SSL_CTX_set_cipher_list() API.

    gh-117178: Fix regression in lazy loading of self-referential modules, introduced in gh-114781.

    gh-117084: Fix zipfile extraction for directory entries with the name containing backslashes on Windows.

    gh-117110: Fix a bug that prevents subclasses of typing.Any to be instantiated with arguments. Patch by Chris Fu.

    gh-90872: On Windows, subprocess.Popen.wait() no longer calls WaitForSingleObject() with a negative timeout: pass 0 ms if the timeout is negative. Patch by Victor Stinner.

    gh-116957: configparser: Don’t leave ConfigParser values in an invalid state (stored as a list instead of a str) after an earlier read raised DuplicateSectionError or DuplicateOptionError.

    gh-90095: Ignore empty lines and comments in .pdbrc

    gh-116764: Restore support of None and other false values in urllib.parse functions parse_qs() and parse_qsl(). Also, they now raise a TypeError for non-zero integers and non-empty sequences.

    gh-116811: In PathFinder.invalidate_caches, delegate to MetadataPathFinder.invalidate_caches.

    gh-116600: Fix repr() for global Flag members.

    gh-116484: Change automatically generated tkinter.Checkbutton widget names to avoid collisions with automatically generated tkinter.ttk.Checkbutton widget names within the same parent widget.

    gh-116401: Fix blocking os.fwalk() and shutil.rmtree() on opening named pipe.

    gh-116143: Fix a race in pydoc _start_server, eliminating a window in which _start_server can return a thread that is “serving” but without a docserver set.

    gh-116325: typing: raise SyntaxError instead of AttributeError on forward references as empty strings.

    gh-90535: Fix support of interval values > 1 in logging.TimedRotatingFileHandler for when='MIDNIGHT' and when='Wx'.

    gh-115978: Disable preadv(), readv(), pwritev(), and writev() on WASI.

    Under wasmtime for WASI 0.2, these functions don’t pass test_posix (https://github.com/bytecodealliance/wasmtime/issues/7830).

    gh-88352: Fix the computation of the next rollover time in the logging.TimedRotatingFileHandler handler. computeRollover() now always returns a timestamp larger than the specified time and works correctly during the DST change. doRollover() no longer overwrite the already rolled over file, saving from data loss when run at midnight or during repeated time at the DST change.

    gh-87115: Set __main__.__spec__ to None when running a script with pdb

    gh-76511: Fix UnicodeEncodeError in email.Message.as_string() that results when a message that claims to be in the ascii character set actually has non-ascii characters. Non-ascii characters are now replaced with the U+FFFD replacement character, like in the replace error handler.

    gh-116040: [Enum] fix by-value calls when second value is falsey; e.g. Cardinal(1, 0)

    gh-75988: Fixed unittest.mock.create_autospec() to pass the call through to the wrapped object to return the real result.

    gh-115881: Fix issue where ast.parse() would incorrectly flag conditional context managers (such as with (x() if y else z()): ...) as invalid syntax if feature_version=(3, 8) was passed. This reverts changes to the grammar made as part of gh-94949.

    gh-115886: Fix silent truncation of the name with an embedded null character in multiprocessing.shared_memory.SharedMemory.

    gh-115809: Improve algorithm for computing which rolled-over log files to delete in logging.TimedRotatingFileHandler. It is now reliable for handlers without namer and with arbitrary deterministic namer that leaves the datetime part in the file name unmodified.

    gh-74668: urllib.parse functions parse_qs() and parse_qsl() now support bytes arguments containing raw and percent-encoded non-ASCII data.

    gh-67044: csv.writer() now always quotes or escapes '\r' and '\n', regardless of lineterminator value.

    gh-115712: csv.writer() now quotes empty fields if delimiter is a space and skipinitialspace is true and raises exception if quoting is not possible.

    gh-112364: Fixed ast.unparse() to handle format_spec with ", ' or \\. Patched by Frank Hoffmann.

    gh-111358: Fix a bug in asyncio.BaseEventLoop.shutdown_default_executor() to ensure the timeout passed to the coroutine behaves as expected.

    gh-115618: Fix improper decreasing the reference count for None argument in property methods getter(), setter() and deleter().

    gh-115570: A DeprecationWarning is no longer omitted on access to the __doc__ attributes of the deprecated typing.io and typing.re pseudo-modules.

    gh-112006: Fix inspect.unwrap() for types with the __wrapper__ data descriptor.

    gh-101293: Support callables with the __call__() method and types with __new__() and __init__() methods set to class methods, static methods, bound methods, partial functions, and other types of methods and descriptors in inspect.Signature.from_callable().

    gh-115392: Fix a bug in doctest where incorrect line numbers would be reported for decorated functions.

    gh-114563: Fix several format() bugs when using the C implementation of Decimal: * memory leak in some rare cases when using the z format option (coerce negative 0) * incorrect output when applying the z format option to type F (fixed-point with capital NAN / INF) * incorrect output when applying the # format option (alternate form)

    gh-115197: urllib.request no longer resolves the hostname before checking it against the system’s proxy bypass list on macOS and Windows.

    gh-115165: Most exceptions are now ignored when attempting to set the __orig_class__ attribute on objects returned when calling typing generic aliases (including generic aliases created using typing.Annotated). Previously only AttributeError was ignored. Patch by Dave Shawley.

    gh-115133: Fix tests for XMLPullParser with Expat 2.6.0.

    gh-115059: io.BufferedRandom.read1() now flushes the underlying write buffer.

    gh-79382: Trailing ** no longer allows to match files and non-existing paths in recursive glob().

    gh-114071: Support tuple subclasses using auto() for enum member value.

    gh-114763: Protect modules loaded with importlib.util.LazyLoader from race conditions when multiple threads try to access attributes before the loading is complete.

    gh-97959: Fix rendering class methods, bound methods, method and function aliases in pydoc. Class methods no longer have “method of builtins.type instance” note. Corresponding notes are now added for class and unbound methods. Method and function aliases now have references to the module or the class where the origin was defined if it differs from the current. Bound methods are now listed in the static methods section. Methods of builtin classes are now supported as well as methods of Python classes.

    gh-112281: Allow creating union of types for typing.Annotated with unhashable metadata.

    gh-111775: Fix importlib.resources.simple.ResourceHandle.open() for text mode, added missed stream argument.

    gh-90095: Make .pdbrc and -c work with any valid pdb commands.

    gh-107155: Fix incorrect output of help(x) where x is a lambda function, which has an __annotations__ dictionary attribute with a "return" key.

    gh-105866: Fixed _get_slots bug which caused error when defining dataclasses with slots and a weakref_slot.

    gh-60346: Fix ArgumentParser inconsistent with parse_known_args.

    gh-100985: Update HTTPSConnection to consistently wrap IPv6 Addresses when using a proxy.

    gh-100884: email: fix misfolding of comma in address-lists over multiple lines in combination with unicode encoding.

    gh-95782: Fix io.BufferedReader.tell(), io.BufferedReader.seek(), _pyio.BufferedReader.tell(), io.BufferedRandom.tell(), io.BufferedRandom.seek() and _pyio.BufferedRandom.tell() being able to return negative offsets.

    gh-96310: Fix a traceback in argparse when all options in a mutually exclusive group are suppressed.

    gh-93205: Fixed a bug in logging.handlers.TimedRotatingFileHandler where multiple rotating handler instances pointing to files with the same name but different extensions would conflict and not delete the correct files.

    bpo-44865: Add missing call to localization function in argparse.

    bpo-43952: Fix multiprocessing.connection.Listener.accept() to accept empty bytes as authkey. Not accepting empty bytes as key causes it to hang indefinitely.

    bpo-42125: linecache: get module name from __spec__ if available. This allows getting source code for the __main__ module when a custom loader is used.

    gh-66543: Make mimetypes.guess_type() properly parsing of URLs with only a host name, URLs containing fragment or query, and filenames with only a UNC sharepoint on Windows. Based on patch by Dong-hee Na.

    bpo-33775: Add ‘default’ and ‘version’ help text for localization in argparse.

Documentation

    gh-115399: Document CVE-2023-52425 of Expat <2.6.0 under “XML vulnerabilities”.

    gh-115233: Fix an example for LoggerAdapter in the Logging Cookbook.

Tests

    gh-83434: Disable JUnit XML output (--junit-xml=FILE command line option) in regrtest when hunting for reference leaks (-R option). Patch by Victor Stinner.

    gh-117187: Fix XML tests for vanilla Expat <2.6.0.

    gh-116333: Tests of TLS related things (error codes, etc) were updated to be more lenient about specific error message strings and behaviors as seen in the BoringSSL and AWS-LC forks of OpenSSL.

    gh-115979: Update test_importlib so that it passes under WASI SDK 21.

    gh-112536: Add –tsan to test.regrtest for running TSAN tests in reasonable execution times. Patch by Donghee Na.

    gh-116307: Added import helper isolated_modules as CleanImport does not remove modules imported during the context. Use it in importlib.resources tests to avoid leaving mod around to impede importlib.metadata tests.

    gh-115720: Leak tests (-R, --huntrleaks) now show a summary of the number of leaks found in each iteration.

    gh-115122: Add --bisect option to regrtest test runner: run failed tests with test.bisect_cmd to identify failing tests. Patch by Victor Stinner.

    gh-115596: Fix ProgramPriorityTests in test_os permanently changing the process priority.

Build

    gh-116313: Get WASI builds to work under wasmtime 18 w/ WASI 0.2/preview2 primitives.

    gh-116117: Backport libb2’s PR #42 to fix compiling CPython on 32-bit Windows with clang-cl.

    gh-115167: Avoid vendoring vcruntime140_threads.dll when building with Visual Studio 2022 version 17.8.

    gh-112536: Add support for thread sanitizer (TSAN)

Windows

    gh-117267: Ensure DirEntry.stat().st_ctime behaves consistently with os.stat() during the deprecation period of st_ctime by containing the same value as st_birthtime. After the deprecation period, st_ctime will be the metadata change time (or unavailable through DirEntry), and only st_birthtime will contain the creation time.

    gh-116773: Fix instances of <_overlapped.Overlapped object at 0xXXX> still has pending operation at deallocation, the process may crash.

    gh-91227: Fix the asyncio ProactorEventLoop implementation so that sending a datagram to an address that is not listening does not prevent receiving any more datagrams.

    gh-115554: The installer now has more strict rules about updating the Python Launcher for Windows. In general, most users only have a single launcher installed and will see no difference. When multiple launchers have been installed, the option to install the launcher is disabled until all but one have been removed. Downgrading the launcher (which was never allowed) is now more obviously blocked.

    gh-115543: Python Launcher for Windows can now detect Python 3.13 when installed from the Microsoft Store, and will install Python 3.12 by default when PYLAUNCHER_ALLOW_INSTALL is set.

    gh-115049: Fixes py.exe launcher failing when run as users without user profiles.

    gh-115009: Update Windows installer to use SQLite 3.45.1.

IDLE

    gh-88516: On macOS show a proxy icon in the title bar of editor windows to match platform behaviour.

Tools/Demos

    gh-113516: Don’t set LDSHARED when building for WASI.

C API

    gh-117021: Fix integer overflow in PyLong_AsPid() on non-Windows 64-bit platforms.

    gh-116869: Make the C API compatible with -Werror=declaration-after-statement compiler flag again. Patch by Victor Stinner.

[close]

https://www.python.org/