From 94552448d7bcc1eebc53b608e89d96e235054f2f Mon Sep 17 00:00:00 2001 From: Ned Deily Date: Tue, 13 Mar 2018 02:51:54 -0400 Subject: bpo-32726: macOS installer changes for 3.6.5 Backport the new 10.9+ installer variant from 3.7. This variant features more modern options; like 64-bit only (Apple is deprecating 32-bit support in future macOS releases); a built-in version of Tcl/Tk 8.6.8; built with clang rather than gcc-4.2. For 3.6.5, the 10.9+ variant will be offered as an additional alternative to the traditional 10.6+ variant in earlier 3.6.x releases. Binary extension modules (including wheels) built for earlier versions of 3.6.x with the 10.6 variant should continue to work with either 3.6.5 variant without recompilation. In addition, both installer variants have updated 3rd-party libraries: OpenSSL 1.0.2m -> 1.0.2n XZ 5.2.2 -> 5.2.3 SQLite 3.21.0 -> 3.22.0 Also the 10.6 variant now sets CC=gcc instead of CC=gcc-4.2 and does not search for the outdated 10.6 SDK. The variant is built with the same compiler as before. As before, for extension module builds, the CC can be overridden with the CC env variable and an SDK can be specified with the SDKROOT env variable (see man xcrun). These minor changes should be transparent to nearly all users. --- Mac/BuildScript/build-installer.py | 297 ++++++++++----------- Mac/BuildScript/issue19373_tk_8_5_15_source.patch | 13 - Mac/BuildScript/openssl_sdk_makedepend.patch | 40 --- Mac/BuildScript/resources/Conclusion.rtf | 20 ++ Mac/BuildScript/resources/ReadMe.rtf | 42 +-- Mac/BuildScript/resources/Welcome.rtf | 32 +-- Mac/BuildScript/scripts/postflight.documentation | 1 + Mac/BuildScript/tk868_on_10_8_10_9.patch | 18 ++ .../macOS/2018-03-13-21-00-20.bpo-32726.Mticyn.rst | 4 + configure | 15 +- configure.ac | 14 +- 11 files changed, 236 insertions(+), 260 deletions(-) delete mode 100644 Mac/BuildScript/issue19373_tk_8_5_15_source.patch delete mode 100644 Mac/BuildScript/openssl_sdk_makedepend.patch create mode 100644 Mac/BuildScript/resources/Conclusion.rtf create mode 100644 Mac/BuildScript/tk868_on_10_8_10_9.patch create mode 100644 Misc/NEWS.d/next/macOS/2018-03-13-21-00-20.bpo-32726.Mticyn.rst diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py index ff02fb3..c33737e 100755 --- a/Mac/BuildScript/build-installer.py +++ b/Mac/BuildScript/build-installer.py @@ -1,30 +1,36 @@ #!/usr/bin/env python """ -This script is used to build "official" universal installers on Mac OS X. -It requires at least Mac OS X 10.5, Xcode 3, and the 10.4u SDK for -32-bit builds. 64-bit or four-way universal builds require at least -OS X 10.5 and the 10.5 SDK. +This script is used to build "official" universal installers on macOS. + +NEW for 3.6.5: +- support Intel 64-bit-only () and 32-bit-only installer builds +- build and link with private Tcl/Tk 8.6 for 10.9+ builds +- deprecate use of explicit SDK (--sdk-path=) since all but the oldest + versions of Xcode support implicit setting of an SDK via environment + variables (SDKROOT and friends, see the xcrun man page for more info). + The SDK stuff was primarily needed for building universal installers + for 10.4; so as of 3.6.5, building installers for 10.4 is no longer + supported with build-installer. +- use generic "gcc" as compiler (CC env var) rather than "gcc-4.2" Please ensure that this script keeps working with Python 2.5, to avoid -bootstrap issues (/usr/bin/python is Python 2.5 on OSX 10.5). Sphinx, -which is used to build the documentation, currently requires at least -Python 2.4. However, as of Python 3.4.1, Doc builds require an external -sphinx-build and the current versions of Sphinx now require at least -Python 2.6. - -In addition to what is supplied with OS X 10.5+ and Xcode 3+, the script -requires an installed third-party version of -Tcl/Tk 8.4 (for OS X 10.4 and 10.5 deployment targets) or Tcl/TK 8.5 +bootstrap issues (/usr/bin/python is Python 2.5 on OSX 10.5). Doc builds +use current versions of Sphinx and require a reasonably current python3. +Sphinx and dependencies are installed into a venv using the python3's pip +so will fetch them from PyPI if necessary. Since python3 is now used for +Sphinx, build-installer.py should also be converted to use python3! + +For 10.9 or greater deployment targets, build-installer builds and links +with its own copy of Tcl/Tk 8.5 and the rest of this paragraph does not +apply. Otherwise, build-installer requires an installed third-party version +of Tcl/Tk 8.4 (for OS X 10.4 and 10.5 deployment targets) or Tcl/TK 8.5 (for 10.6 or later) installed in /Library/Frameworks. When installed, the Python built by this script will attempt to dynamically link first to Tcl and Tk frameworks in /Library/Frameworks if available otherwise fall back to the ones in /System/Library/Framework. For the build, we recommend -installing the most recent ActiveTcl 8.4 or 8.5 version. - -32-bit-only installer builds are still possible on OS X 10.4 with Xcode 2.5 -and the installation of additional components, such as a newer Python -(2.5 is needed for Python parser updates) and for the documentation -build either svn (pre-3.4.1) or sphinx-build (3.4.1 and later). +installing the most recent ActiveTcl 8.5 or 8.4 version, depending +on the deployment target. The actual version linked to depends on the +path of /Library/Frameworks/{Tcl,Tk}.framework/Versions/Current. Usage: see USAGE variable in the script. """ @@ -111,32 +117,19 @@ WORKDIR = "/tmp/_py" DEPSRC = os.path.join(WORKDIR, 'third-party') DEPSRC = os.path.expanduser('~/Universal/other-sources') -# Location of the preferred SDK - -### There are some issues with the SDK selection below here, -### The resulting binary doesn't work on all platforms that -### it should. Always default to the 10.4u SDK until that -### issue is resolved. -### -##if int(os.uname()[2].split('.')[0]) == 8: -## # Explicitly use the 10.4u (universal) SDK when -## # building on 10.4, the system headers are not -## # useable for a universal build -## SDKPATH = "/Developer/SDKs/MacOSX10.4u.sdk" -##else: -## SDKPATH = "/" - -SDKPATH = "/Developer/SDKs/MacOSX10.4u.sdk" - universal_opts_map = { '32-bit': ('i386', 'ppc',), '64-bit': ('x86_64', 'ppc64',), 'intel': ('i386', 'x86_64'), + 'intel-32': ('i386',), + 'intel-64': ('x86_64',), '3-way': ('ppc', 'i386', 'x86_64'), 'all': ('i386', 'ppc', 'x86_64', 'ppc64',) } default_target_map = { '64-bit': '10.5', '3-way': '10.5', 'intel': '10.5', + 'intel-32': '10.4', + 'intel-64': '10.5', 'all': '10.5', } @@ -154,19 +147,18 @@ SRCDIR = os.path.dirname( )))) # $MACOSX_DEPLOYMENT_TARGET -> minimum OS X level -DEPTARGET = '10.3' +DEPTARGET = '10.5' def getDeptargetTuple(): return tuple([int(n) for n in DEPTARGET.split('.')[0:2]]) def getTargetCompilers(): target_cc_map = { - '10.3': ('gcc-4.0', 'g++-4.0'), '10.4': ('gcc-4.0', 'g++-4.0'), - '10.5': ('gcc-4.2', 'g++-4.2'), - '10.6': ('gcc-4.2', 'g++-4.2'), + '10.5': ('gcc', 'g++'), + '10.6': ('gcc', 'g++'), } - return target_cc_map.get(DEPTARGET, ('clang', 'clang++') ) + return target_cc_map.get(DEPTARGET, ('gcc', 'g++') ) CC, CXX = getTargetCompilers() @@ -180,9 +172,9 @@ USAGE = textwrap.dedent("""\ -b DIR --build-dir=DIR: Create build here (default: %(WORKDIR)r) --third-party=DIR: Store third-party sources here (default: %(DEPSRC)r) - --sdk-path=DIR: Location of the SDK (default: %(SDKPATH)r) + --sdk-path=DIR: Location of the SDK (deprecated, use SDKROOT env variable) --src-dir=DIR: Location of the Python sources (default: %(SRCDIR)r) - --dep-target=10.n OS X deployment target (default: %(DEPTARGET)r) + --dep-target=10.n macOS deployment target (default: %(DEPTARGET)r) --universal-archs=x universal architectures (options: %(UNIVERSALOPTS)r, default: %(UNIVERSALARCHS)r) """)% globals() @@ -194,6 +186,11 @@ USAGE = textwrap.dedent("""\ # '/Library/Frameworks/Tk.framework/Versions/8.5/Tk'] EXPECTED_SHARED_LIBS = {} +# Are we building and linking with our own copy of Tcl/TK? +# For now, do so if deployment target is 10.9+. +def internalTk(): + return getDeptargetTuple() >= (10, 9) + # List of names of third party software built with this installer. # The names will be inserted into the rtf version of the License. THIRD_PARTY_LIBS = [] @@ -213,25 +210,21 @@ def library_recipes(): result.extend([ dict( - name="OpenSSL 1.0.2m", - url="https://www.openssl.org/source/openssl-1.0.2m.tar.gz", - checksum='10e9e37f492094b9ef296f68f24a7666', - patches=[ - "openssl_sdk_makedepend.patch", - ], + name="OpenSSL 1.0.2n", + url="https://www.openssl.org/source/openssl-1.0.2n.tar.gz", + checksum='13bdc1b1d1ff39b6fd42a255e74676a4', buildrecipe=build_universal_openssl, configure=None, install=None, ), ]) -# Disable for now - if False: # if getDeptargetTuple() > (10, 5): + if internalTk(): result.extend([ dict( - name="Tcl 8.5.15", - url="ftp://ftp.tcl.tk/pub/tcl//tcl8_5/tcl8.5.15-src.tar.gz", - checksum='f3df162f92c69b254079c4d0af7a690f', + name="Tcl 8.6.8", + url="ftp://ftp.tcl.tk/pub/tcl//tcl8_6/tcl8.6.8-src.tar.gz", + checksum='81656d3367af032e0ae6157eff134f89', buildDir="unix", configure_pre=[ '--enable-shared', @@ -241,15 +234,15 @@ def library_recipes(): useLDFlags=False, install='make TCL_LIBRARY=%(TCL_LIBRARY)s && make install TCL_LIBRARY=%(TCL_LIBRARY)s DESTDIR=%(DESTDIR)s'%{ "DESTDIR": shellQuote(os.path.join(WORKDIR, 'libraries')), - "TCL_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tcl8.5'%(getVersion())), + "TCL_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tcl8.6'%(getVersion())), }, ), dict( - name="Tk 8.5.15", - url="ftp://ftp.tcl.tk/pub/tcl//tcl8_5/tk8.5.15-src.tar.gz", - checksum='55b8e33f903210a4e1c8bce0f820657f', + name="Tk 8.6.8", + url="ftp://ftp.tcl.tk/pub/tcl//tcl8_6/tk8.6.8-src.tar.gz", + checksum='5e0faecba458ee1386078fb228d008ba', patches=[ - "issue19373_tk_8_5_15_source.patch", + "tk868_on_10_8_10_9.patch", ], buildDir="unix", configure_pre=[ @@ -261,8 +254,8 @@ def library_recipes(): useLDFlags=False, install='make TCL_LIBRARY=%(TCL_LIBRARY)s TK_LIBRARY=%(TK_LIBRARY)s && make install TCL_LIBRARY=%(TCL_LIBRARY)s TK_LIBRARY=%(TK_LIBRARY)s DESTDIR=%(DESTDIR)s'%{ "DESTDIR": shellQuote(os.path.join(WORKDIR, 'libraries')), - "TCL_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tcl8.5'%(getVersion())), - "TK_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tk8.5'%(getVersion())), + "TCL_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tcl8.6'%(getVersion())), + "TK_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tk8.6'%(getVersion())), }, ), ]) @@ -270,9 +263,9 @@ def library_recipes(): if PYTHON_3: result.extend([ dict( - name="XZ 5.2.2", - url="http://tukaani.org/xz/xz-5.2.2.tar.gz", - checksum='7cf6a8544a7dae8e8106fdf7addfa28c', + name="XZ 5.2.3", + url="http://tukaani.org/xz/xz-5.2.3.tar.gz", + checksum='ef68674fb47a8b8e741b34e429d86e9d', configure_pre=[ '--disable-dependency-tracking', ] @@ -315,13 +308,14 @@ def library_recipes(): ), ), dict( - name="SQLite 3.21.0", - url="https://www.sqlite.org/2017/sqlite-autoconf-3210000.tar.gz", - checksum='7913de4c3126ba3c24689cb7a199ea31', + name="SQLite 3.22.0", + url="https://www.sqlite.org/2018/sqlite-autoconf-3220000.tar.gz", + checksum='96b5648d542e8afa6ab7ffb8db8ddc3d', extra_cflags=('-Os ' '-DSQLITE_ENABLE_FTS5 ' '-DSQLITE_ENABLE_FTS4 ' '-DSQLITE_ENABLE_FTS3_PARENTHESIS ' + '-DSQLITE_ENABLE_JSON1 ' '-DSQLITE_ENABLE_RTREE ' '-DSQLITE_TCL=0 ' '%s' % ('','-DSQLITE_WITHOUT_ZONEMALLOC ')[LT_10_5]), @@ -342,11 +336,10 @@ def library_recipes(): url="http://bzip.org/1.0.6/bzip2-1.0.6.tar.gz", checksum='00b516f4704d4a7cb50a1d97e6e8e15b', configure=None, - install='make install CC=%s CXX=%s, PREFIX=%s/usr/local/ CFLAGS="-arch %s -isysroot %s"'%( + install='make install CC=%s CXX=%s, PREFIX=%s/usr/local/ CFLAGS="-arch %s"'%( CC, CXX, shellQuote(os.path.join(WORKDIR, 'libraries')), ' -arch '.join(ARCHLIST), - SDKPATH, ), ), dict( @@ -354,11 +347,10 @@ def library_recipes(): url="http://www.gzip.org/zlib/zlib-1.2.3.tar.gz", checksum='debc62758716a169df9f62e6ab2bc634', configure=None, - install='make install CC=%s CXX=%s, prefix=%s/usr/local/ CFLAGS="-arch %s -isysroot %s"'%( + install='make install CC=%s CXX=%s, prefix=%s/usr/local/ CFLAGS="-arch %s"'%( CC, CXX, shellQuote(os.path.join(WORKDIR, 'libraries')), ' -arch '.join(ARCHLIST), - SDKPATH, ), ), dict( @@ -405,8 +397,7 @@ def pkg_recipes(): source="/Library/Frameworks/Python.framework", readme="""\ This package installs Python.framework, that is the python - interpreter and the standard library. This also includes Python - wrappers for lots of Mac OS X API's. + interpreter and the standard library. """, postflight="scripts/postflight.framework", selected='selected', @@ -483,24 +474,6 @@ def pkg_recipes(): ), ] - if getDeptargetTuple() < (10, 4) and not PYTHON_3: - result.append( - dict( - name="PythonSystemFixes", - long_name="Fix system Python", - readme="""\ - This package updates the system python installation on - Mac OS X 10.3 to ensure that you can build new python extensions - using that copy of python after installing this version. - """, - postflight="../Tools/fixapplepython23.py", - topdir="/Library/Frameworks/Python.framework", - source="/empty-dir", - required=False, - selected=unselected_for_python3, - ) - ) - return result def fatal(msg): @@ -565,55 +538,54 @@ def checkEnvironment(): Check that we're running on a supported system. """ - if sys.version_info[0:2] < (2, 4): - fatal("This script must be run with Python 2.4 or later") + if sys.version_info[0:2] < (2, 5): + fatal("This script must be run with Python 2.5 (or later)") if platform.system() != 'Darwin': - fatal("This script should be run on a Mac OS X 10.4 (or later) system") + fatal("This script should be run on a macOS 10.5 (or later) system") if int(platform.release().split('.')[0]) < 8: - fatal("This script should be run on a Mac OS X 10.4 (or later) system") - - if not os.path.exists(SDKPATH): - fatal("Please install the latest version of Xcode and the %s SDK"%( - os.path.basename(SDKPATH[:-4]))) + fatal("This script should be run on a macOS 10.5 (or later) system") # Because we only support dynamic load of only one major/minor version of + # Tcl/Tk, if we are not using building and using our own private copy of # Tcl/Tk, ensure: - # 1. there are no user-installed frameworks of Tcl/Tk with version - # higher than the Apple-supplied system version in - # SDKROOT/System/Library/Frameworks - # 2. there is a user-installed framework (usually ActiveTcl) in (or linked - # in) SDKROOT/Library/Frameworks with the same version as the system - # version. This allows users to choose to install a newer patch level. - - frameworks = {} - for framework in ['Tcl', 'Tk']: - fwpth = 'Library/Frameworks/%s.framework/Versions/Current' % framework - sysfw = os.path.join(SDKPATH, 'System', fwpth) - libfw = os.path.join(SDKPATH, fwpth) - usrfw = os.path.join(os.getenv('HOME'), fwpth) - frameworks[framework] = os.readlink(sysfw) - if not os.path.exists(libfw): - fatal("Please install a link to a current %s %s as %s so " - "the user can override the system framework." - % (framework, frameworks[framework], libfw)) - if os.readlink(libfw) != os.readlink(sysfw): - fatal("Version of %s must match %s" % (libfw, sysfw) ) - if os.path.exists(usrfw): - fatal("Please rename %s to avoid possible dynamic load issues." - % usrfw) - - if frameworks['Tcl'] != frameworks['Tk']: - fatal("The Tcl and Tk frameworks are not the same version.") - - # add files to check after build - EXPECTED_SHARED_LIBS['_tkinter.so'] = [ - "/Library/Frameworks/Tcl.framework/Versions/%s/Tcl" - % frameworks['Tcl'], - "/Library/Frameworks/Tk.framework/Versions/%s/Tk" - % frameworks['Tk'], - ] + # 1. there is a user-installed framework (usually ActiveTcl) in (or linked + # in) SDKROOT/Library/Frameworks. As of Python 3.6.5, we no longer + # enforce that the version of the user-installed framework also + # exists in the system-supplied Tcl/Tk frameworks. Time to support + # Tcl/Tk 8.6 even if Apple does not. + if not internalTk(): + frameworks = {} + for framework in ['Tcl', 'Tk']: + fwpth = 'Library/Frameworks/%s.framework/Versions/Current' % framework + libfw = os.path.join('/', fwpth) + usrfw = os.path.join(os.getenv('HOME'), fwpth) + frameworks[framework] = os.readlink(libfw) + if not os.path.exists(libfw): + fatal("Please install a link to a current %s %s as %s so " + "the user can override the system framework." + % (framework, frameworks[framework], libfw)) + if os.path.exists(usrfw): + fatal("Please rename %s to avoid possible dynamic load issues." + % usrfw) + + if frameworks['Tcl'] != frameworks['Tk']: + fatal("The Tcl and Tk frameworks are not the same version.") + + print(" -- Building with external Tcl/Tk %s frameworks" + % frameworks['Tk']) + + # add files to check after build + EXPECTED_SHARED_LIBS['_tkinter.so'] = [ + "/Library/Frameworks/Tcl.framework/Versions/%s/Tcl" + % frameworks['Tcl'], + "/Library/Frameworks/Tk.framework/Versions/%s/Tk" + % frameworks['Tk'], + ] + else: + print(" -- Building private copy of Tcl/Tk") + print("") # Remove inherited environment variables which might influence build environ_var_prefixes = ['CPATH', 'C_INCLUDE_', 'DYLD_', 'LANG', 'LC_', @@ -643,7 +615,7 @@ def parseOptions(args=None): """ Parse arguments and update global settings. """ - global WORKDIR, DEPSRC, SDKPATH, SRCDIR, DEPTARGET + global WORKDIR, DEPSRC, SRCDIR, DEPTARGET global UNIVERSALOPTS, UNIVERSALARCHS, ARCHLIST, CC, CXX global FW_VERSION_PREFIX global FW_SSL_DIRECTORY @@ -676,7 +648,7 @@ def parseOptions(args=None): DEPSRC=v elif k in ('--sdk-path',): - SDKPATH=v + print(" WARNING: --sdk-path is no longer supported") elif k in ('--src-dir',): SRCDIR=v @@ -692,7 +664,7 @@ def parseOptions(args=None): if deptarget is None: # Select alternate default deployment # target - DEPTARGET = default_target_map.get(v, '10.3') + DEPTARGET = default_target_map.get(v, '10.5') else: raise NotImplementedError(v) @@ -701,7 +673,6 @@ def parseOptions(args=None): SRCDIR=os.path.abspath(SRCDIR) WORKDIR=os.path.abspath(WORKDIR) - SDKPATH=os.path.abspath(SDKPATH) DEPSRC=os.path.abspath(DEPSRC) CC, CXX = getTargetCompilers() @@ -712,7 +683,6 @@ def parseOptions(args=None): print("-- Settings:") print(" * Source directory: %s" % SRCDIR) print(" * Build directory: %s" % WORKDIR) - print(" * SDK location: %s" % SDKPATH) print(" * Third-party source: %s" % DEPSRC) print(" * Deployment target: %s" % DEPTARGET) print(" * Universal archs: %s" % str(ARCHLIST)) @@ -854,9 +824,9 @@ def build_universal_openssl(basedir, archList): configure_opts.append("no-asm") runCommand(" ".join(["perl", "Configure"] + arch_opts[arch] + configure_opts)) - runCommand("make depend OSX_SDK=%s" % SDKPATH) - runCommand("make all OSX_SDK=%s" % SDKPATH) - runCommand("make install_sw OSX_SDK=%s" % SDKPATH) + runCommand("make depend") + runCommand("make all") + runCommand("make install_sw") # runCommand("make test") return @@ -1015,27 +985,24 @@ def buildRecipe(recipe, basedir, archList): if recipe.get('useLDFlags', 1): configure_args.extend([ - "CFLAGS=%s-mmacosx-version-min=%s -arch %s -isysroot %s " + "CFLAGS=%s-mmacosx-version-min=%s -arch %s " "-I%s/usr/local/include"%( recipe.get('extra_cflags', ''), DEPTARGET, ' -arch '.join(archList), - shellQuote(SDKPATH)[1:-1], shellQuote(basedir)[1:-1],), - "LDFLAGS=-mmacosx-version-min=%s -isysroot %s -L%s/usr/local/lib -arch %s"%( + "LDFLAGS=-mmacosx-version-min=%s -L%s/usr/local/lib -arch %s"%( DEPTARGET, - shellQuote(SDKPATH)[1:-1], shellQuote(basedir)[1:-1], ' -arch '.join(archList)), ]) else: configure_args.extend([ - "CFLAGS=%s-mmacosx-version-min=%s -arch %s -isysroot %s " + "CFLAGS=%s-mmacosx-version-min=%s -arch %s " "-I%s/usr/local/include"%( recipe.get('extra_cflags', ''), DEPTARGET, ' -arch '.join(archList), - shellQuote(SDKPATH)[1:-1], shellQuote(basedir)[1:-1],), ]) @@ -1113,10 +1080,6 @@ def buildPython(): curdir = os.getcwd() os.chdir(buildDir) - # Not sure if this is still needed, the original build script - # claims that parts of the install assume python.exe exists. - os.symlink('python', os.path.join(buildDir, 'python.exe')) - # Extract the version from the configure file, needed to calculate # several paths. version = getVersion() @@ -1127,16 +1090,22 @@ def buildPython(): os.environ['DYLD_LIBRARY_PATH'] = os.path.join(WORKDIR, 'libraries', 'usr', 'local', 'lib') print("Running configure...") - runCommand("%s -C --enable-framework --enable-universalsdk=%s " + runCommand("%s -C --enable-framework --enable-universalsdk=/ " "--with-universal-archs=%s " "%s " "%s " + "%s " + "%s " "LDFLAGS='-g -L%s/libraries/usr/local/lib' " "CFLAGS='-g -I%s/libraries/usr/local/include' 2>&1"%( - shellQuote(os.path.join(SRCDIR, 'configure')), shellQuote(SDKPATH), + shellQuote(os.path.join(SRCDIR, 'configure')), UNIVERSALARCHS, (' ', '--with-computed-gotos ')[PYTHON_3], (' ', '--without-ensurepip ')[PYTHON_3], + (' ', "--with-tcltk-includes='-I%s/libraries/usr/local/include'"%( + shellQuote(WORKDIR)[1:-1],))[internalTk()], + (' ', "--with-tcltk-libs='-L%s/libraries/usr/local/lib -ltcl8.6 -ltk8.6'"%( + shellQuote(WORKDIR)[1:-1],))[internalTk()], shellQuote(WORKDIR)[1:-1], shellQuote(WORKDIR)[1:-1])) @@ -1171,14 +1140,22 @@ def buildPython(): del os.environ['DYLD_LIBRARY_PATH'] print("Copying required shared libraries") if os.path.exists(os.path.join(WORKDIR, 'libraries', 'Library')): - runCommand("mv %s/* %s"%( - shellQuote(os.path.join( + build_lib_dir = os.path.join( WORKDIR, 'libraries', 'Library', 'Frameworks', - 'Python.framework', 'Versions', getVersion(), - 'lib')), - shellQuote(os.path.join(WORKDIR, '_root', 'Library', 'Frameworks', - 'Python.framework', 'Versions', getVersion(), - 'lib')))) + 'Python.framework', 'Versions', getVersion(), 'lib') + fw_lib_dir = os.path.join( + WORKDIR, '_root', 'Library', 'Frameworks', + 'Python.framework', 'Versions', getVersion(), 'lib') + if internalTk(): + # move Tcl and Tk pkgconfig files + runCommand("mv %s/pkgconfig/* %s/pkgconfig"%( + shellQuote(build_lib_dir), + shellQuote(fw_lib_dir) )) + runCommand("rm -r %s/pkgconfig"%( + shellQuote(build_lib_dir), )) + runCommand("mv %s/* %s"%( + shellQuote(build_lib_dir), + shellQuote(fw_lib_dir) )) frmDir = os.path.join(rootDir, 'Library', 'Frameworks', 'Python.framework') frmDirVersioned = os.path.join(frmDir, 'Versions', version) diff --git a/Mac/BuildScript/issue19373_tk_8_5_15_source.patch b/Mac/BuildScript/issue19373_tk_8_5_15_source.patch deleted file mode 100644 index de5d08e..0000000 --- a/Mac/BuildScript/issue19373_tk_8_5_15_source.patch +++ /dev/null @@ -1,13 +0,0 @@ -Issue #19373: Patch to Tk 8.5.15 to correct refresh problem on OS x 10.9. -From upstream checkin https://core.tcl.tk/tk/info/5a5abf71f9 - ---- tk8.5.15/macosx/tkMacOSXDraw.c 2013-09-16 09:41:21.000000000 -0700 -+++ Tk_Source_Code-5a5abf71f9fdb0da/macosx/tkMacOSXDraw.c 2013-10-27 13:27:00.000000000 -0700 -@@ -1688,6 +1688,7 @@ - { - if (dcPtr->context) { - CGContextSynchronize(dcPtr->context); -+ [[dcPtr->view window] setViewsNeedDisplay:YES]; - [[dcPtr->view window] enableFlushWindow]; - if (dcPtr->focusLocked) { - [dcPtr->view unlockFocus]; diff --git a/Mac/BuildScript/openssl_sdk_makedepend.patch b/Mac/BuildScript/openssl_sdk_makedepend.patch deleted file mode 100644 index 0caac0a..0000000 --- a/Mac/BuildScript/openssl_sdk_makedepend.patch +++ /dev/null @@ -1,40 +0,0 @@ -# HG changeset patch -# -# using openssl 1.0.2k -# -# - support building with an OS X SDK - -diff Configure - -diff --git a/Configure b/Configure ---- a/Configure -+++ b/Configure -@@ -642,12 +642,12 @@ - - ##### MacOS X (a.k.a. Rhapsody or Darwin) setup - "rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::", --"darwin-ppc-cc","cc:-arch ppc -O3 -DB_ENDIAN -Wa,-force_cpusubtype_ALL::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", --"darwin64-ppc-cc","cc:-arch ppc64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc64_asm}:osx64:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", --"darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:".eval{my $asm=$x86_asm;$asm=~s/cast\-586\.o//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", --"debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", --"darwin64-x86_64-cc","cc:-arch x86_64 -O3 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", --"debug-darwin64-x86_64-cc","cc:-arch x86_64 -ggdb -g2 -O0 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", -+"darwin-ppc-cc","cc:-arch ppc -isysroot \$(OSX_SDK) -O3 -DB_ENDIAN -Wa,-force_cpusubtype_ALL::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", -+"darwin64-ppc-cc","cc:-arch ppc64 -isysroot \$(OSX_SDK) -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc64_asm}:osx64:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", -+"darwin-i386-cc","cc:-arch i386 -isysroot \$(OSX_SDK) -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:".eval{my $asm=$x86_asm;$asm=~s/cast\-586\.o//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", -+"debug-darwin-i386-cc","cc:-arch i386 -isysroot \$(OSX_SDK) -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", -+"darwin64-x86_64-cc","cc:-arch x86_64 -isysroot \$(OSX_SDK) -O3 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", -+"debug-darwin64-x86_64-cc","cc:-arch x86_64 -isysroot \$(OSX_SDK) -ggdb -g2 -O0 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", - "debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", - # iPhoneOS/iOS - "iphoneos-cross","llvm-gcc:-O3 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fomit-frame-pointer -fno-common::-D_REENTRANT:iOS:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", -@@ -1728,8 +1728,7 @@ - s/^AR=\s*ar/AR= $ar/; - s/^RANLIB=.*/RANLIB= $ranlib/; - s/^RC=.*/RC= $windres/; -- s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq "gcc"; -- s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $ecc eq "gcc" || $ecc eq "clang"; -+ s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/; - } - s/^CFLAG=.*$/CFLAG= $cflags/; - s/^DEPFLAG=.*$/DEPFLAG=$depflags/; diff --git a/Mac/BuildScript/resources/Conclusion.rtf b/Mac/BuildScript/resources/Conclusion.rtf new file mode 100644 index 0000000..9e0fa9f --- /dev/null +++ b/Mac/BuildScript/resources/Conclusion.rtf @@ -0,0 +1,20 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf200 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 LucidaGrande-Bold;\f2\fnil\fcharset0 LucidaGrande; +\f3\fnil\fcharset0 Monaco;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\margl1440\margr1440\vieww10540\viewh8400\viewkind0 +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\fs28 \cf0 Congratulations! +\fs24 +\f1\b\fs28 Python $FULL_VERSION for macOS $MACOSX_DEPLOYMENT_TARGET +\f2\b0 was successfully installed. +\fs24 \ +\ +One more thing: to verify the identity of secure network connections, this Python needs a set of SSL root certificates. You can download and install a current curated set from {\field{\*\fldinst{HYPERLINK "https://pypi.org/project/certifi/"}}{\fldrslt the Certifi project}} by double-clicking on the +\f3 Install Certificates +\f2 icon in {\field{\*\fldinst{HYPERLINK "file://localhost/Applications/Python%20$VERSION/"}}{\fldrslt the Finder window}}. See {\field{\*\fldinst{HYPERLINK "file://localhost/Applications/Python%20$VERSION/ReadMe.rtf"}}{\fldrslt the +\f3 ReadMe +\f2 file}} for more information.\ +} \ No newline at end of file diff --git a/Mac/BuildScript/resources/ReadMe.rtf b/Mac/BuildScript/resources/ReadMe.rtf index ac68786..e814659 100644 --- a/Mac/BuildScript/resources/ReadMe.rtf +++ b/Mac/BuildScript/resources/ReadMe.rtf @@ -1,43 +1,44 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf750 +{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf200 {\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 CourierNewPSMT;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} \margl1440\margr1440\vieww13380\viewh14600\viewkind0 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f0\fs24 \cf0 This package will install Python $FULL_VERSION for Mac OS X $MACOSX_DEPLOYMENT_TARGET for the following architecture(s): $ARCHITECTURES.\ +\f0\fs24 \cf0 This package will install Python $FULL_VERSION for macOS $MACOSX_DEPLOYMENT_TARGET for the following architecture(s): $ARCHITECTURES.\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\b \cf0 \ul \ulc0 Which installer variant should I use? +\b \cf0 \ul \ulc0 Which installer variant should I use? [CHANGED in 3.6.5] \b0 \ulnone \ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 \b \cf0 **NEW** -\b0 For Python 3.6, the python.org website now provides only one installer variant for download: one that installs a +\b0 With Python 3.6.5, the python.org website now provides two installer variants for download: one that installs a +\i 64-bit-only +\i0 Python capable of running on +\i macOS 10.9 (Mavericks) +\i0 or later; and one that installs a \i 64-bit/32-bit Intel \i0 Python capable of running on -\i Mac OS X 10.6 (Snow Leopard) -\i0 or later. This ReadMe was installed with the +\i macOS 10.6 (Snow Leopard) +\i0 or later. (This ReadMe was installed with the \i $MACOSX_DEPLOYMENT_TARGET -\i0 variant. By default, Python will automatically run in 64-bit mode if your system supports it. The Python installed by this installer is built with private copies of some third-party libraries not included with or newer than those in OS X itself. The list of these libraries is included at the end of the License.rtf file. -\b \ul \ -\ -Certificate verification and OpenSSL\ +\i0 variant.) Previous Python 3.6.x releases only provided the 10.6 or later installer. If you are running on macOS 10.9 or later and if you have no need for compatibility with older systems, use the 10.9 variant. Use the 10.6 variant if you are running on macOS 10.6 through 10.8, if you need to maintain compatibility with previous 3.6.x releases, or if you want to produce standalone applications that can run on systems from 10.6. The Pythons installed by these installers are built with private copies of some third-party libraries not included with or newer than those in macOS itself. The list of these libraries varies by installer variant and is included at the end of the License.rtf file.\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\b0 \cf0 \ulnone \ -\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 +\b \cf0 \ul \ulc0 \ +Certificate verification and OpenSSL\ -\b \cf0 **NEW** -\b0 This variant of Python 3.6 now includes its own private copy of OpenSSL 1.0.2. Unlike previous releases, the deprecated Apple-supplied OpenSSL libraries are no longer used. This also means that the trust certificates in system and user keychains managed by the +\b0 \ulnone \ +This variant of Python 3.6 now includes its own private copy of OpenSSL 1.0.2. Unlike previous releases, the deprecated Apple-supplied OpenSSL libraries are no longer used. This also means that the trust certificates in system and user keychains managed by the \i Keychain Access \i0 application and the \i security \i0 command line utility are no longer used as defaults by the Python \f1 ssl -\f0 module. For 3.6.0, a sample command script is included in +\f0 module. A sample command script is included in \f1 /Applications/Python 3.6 \f0 to install a curated bundle of default root certificates from the third-party \f1 certifi @@ -49,16 +50,17 @@ The bundled \f1 pip \f0 included with the Python 3.6 installer has its own default certificate store for verifying download connections.\ \ -\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\b \cf0 \ul Update your version of Tcl/Tk to use IDLE or other Tk applications +\b \ul Using IDLE or other Tk applications [NEW/CHANGED in 3.6.5] \b0 \ulnone \ \ -To use IDLE or other programs that use the Tkinter graphical user interface toolkit, you need to install a newer third-party version of the +The 10.9+ installer variant comes with its own private version of Tcl/Tk 8.6. It does not use system-supplied or third-party supplied versions of Tcl/Tk.\ +\ +For the 10.6+ variant, you continue to need to install a newer third-party version of the \i Tcl/Tk -\i0 frameworks. Visit {\field{\*\fldinst{HYPERLINK "https://www.python.org/download/mac/tcltk/"}}{\fldrslt https://www.python.org/download/mac/tcltk/}} for current information about supported and recommended versions of +\i0 8.5 (not 8.6) frameworks to use IDLE or other programs that use the Tkinter graphical user interface toolkit. Visit {\field{\*\fldinst{HYPERLINK "https://www.python.org/download/mac/tcltk/"}}{\fldrslt https://www.python.org/download/mac/tcltk/}} for current information about supported and recommended versions of \i Tcl/Tk -\i0 for this version of Python and of Mac OS X. For the initial release of Python 3.6, the installer is still linked with Tcl/Tk 8.5.\ +\i0 for this version of Python and of macOS.\ \b \ul \ Other changes\ diff --git a/Mac/BuildScript/resources/Welcome.rtf b/Mac/BuildScript/resources/Welcome.rtf index 3a9ab04..cac9626 100644 --- a/Mac/BuildScript/resources/Welcome.rtf +++ b/Mac/BuildScript/resources/Welcome.rtf @@ -1,34 +1,24 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1504 +{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf200 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;\csgray\c100000;} +{\*\expandedcolortbl;;} \paperw11905\paperh16837\margl1440\margr1440\vieww12200\viewh10880\viewkind0 -\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 \f0\fs24 \cf0 This package will install \b Python $FULL_VERSION \b0 for -\b Mac OS X $MACOSX_DEPLOYMENT_TARGET +\b macOS $MACOSX_DEPLOYMENT_TARGET \b0 .\ -\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 +\cf0 \ -\b Python for Mac OS X -\b0 consists of the Python programming language interpreter, plus a set of programs to allow easy access to it for Mac OS X users including an integrated development environment +\b Python for macOS +\b0 consists of the Python programming language interpreter, plus a set of programs to allow easy access to it for macOS users including an integrated development environment \b IDLE \b0 .\ \ -\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 - -\b \cf0 NEW: -\b0 There are important changes in this release regarding network security and trust certificates. Please see the ReadMe for more details.\ -\ -\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 -\b \cf0 IMPORTANT: -\b0 -\b IDLE -\b0 and other programs using the -\b tkinter -\b0 graphical user interface toolkit require specific versions of the -\b Tcl/Tk -\b0 platform independent windowing toolkit. Visit {\field{\*\fldinst{HYPERLINK "https://www.python.org/download/mac/tcltk/"}}{\fldrslt https://www.python.org/download/mac/tcltk/}} for current information on supported and recommended versions of Tcl/Tk for this version of Python and Mac OS X.} \ No newline at end of file +\b NEW in 3.6.5: +\b0 two installer variants (10.9+ 64-bit-only, 10.6+ 64-/32-bit), built-in Tcl/Tk 8.6 support in the 10.9+ variant (no additional third-party downloads!)\ +} \ No newline at end of file diff --git a/Mac/BuildScript/scripts/postflight.documentation b/Mac/BuildScript/scripts/postflight.documentation index b9f28a5..3cbbc1b 100755 --- a/Mac/BuildScript/scripts/postflight.documentation +++ b/Mac/BuildScript/scripts/postflight.documentation @@ -12,6 +12,7 @@ SHARE_DOCDIR_TO_FWK="../../.." # make link in /Applications/Python m.n/ for Finder users if [ -d "${APPDIR}" ]; then ln -fhs "${FWK_DOCDIR}/index.html" "${APPDIR}/Python Documentation.html" + open "${APPDIR}" || true # open the applications folder fi # make share/doc link in framework for command line users diff --git a/Mac/BuildScript/tk868_on_10_8_10_9.patch b/Mac/BuildScript/tk868_on_10_8_10_9.patch new file mode 100644 index 0000000..8fe1060 --- /dev/null +++ b/Mac/BuildScript/tk868_on_10_8_10_9.patch @@ -0,0 +1,18 @@ +Fix build failure with +quartz variant on OS X 10.8 and 10.9. +Even though Gestalt was deprecated in OS X 10.8, it should work fine +through OS X 10.9, and its replacement NSOperatingSystemVersion was +not introduced until OS X 10.10. + +Patch from MacPorts project and reported upstream: +https://trac.macports.org/ticket/55649 +--- tk8.6.8/macosx/tkMacOSXXStubs.c.orig 2017-12-06 09:25:08.000000000 -0600 ++++ tk8.6.8-patched/macosx/tkMacOSXXStubs.c 2018-01-06 19:34:17.000000000 -0600 +@@ -175,7 +175,7 @@ + { + int major, minor, patch; + +-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1080 ++#if MAC_OS_X_VERSION_MIN_REQUIRED < 101000 + Gestalt(gestaltSystemVersionMajor, (SInt32*)&major); + Gestalt(gestaltSystemVersionMinor, (SInt32*)&minor); + Gestalt(gestaltSystemVersionBugFix, (SInt32*)&patch); diff --git a/Misc/NEWS.d/next/macOS/2018-03-13-21-00-20.bpo-32726.Mticyn.rst b/Misc/NEWS.d/next/macOS/2018-03-13-21-00-20.bpo-32726.Mticyn.rst new file mode 100644 index 0000000..f2d096a --- /dev/null +++ b/Misc/NEWS.d/next/macOS/2018-03-13-21-00-20.bpo-32726.Mticyn.rst @@ -0,0 +1,4 @@ +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. diff --git a/configure b/configure index 1e66117..a707743 100755 --- a/configure +++ b/configure @@ -1491,7 +1491,8 @@ Optional Packages: --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-universal-archs=ARCH select architectures for universal build ("32-bit", - "64-bit", "3-way", "intel", "intel-32", or "all") + "64-bit", "3-way", "intel", "intel-32", "intel-64", + or "all") --with-framework-name=FRAMEWORK specify an alternate name of the framework built with --enable-framework @@ -7345,6 +7346,11 @@ $as_echo "$CC" >&6; } LIPO_32BIT_FLAGS="" ARCH_RUN_32BIT="" ;; + intel-64) + UNIVERSAL_ARCH_FLAGS="-arch x86_64" + LIPO_32BIT_FLAGS="" + ARCH_RUN_32BIT="true" + ;; 3-way) UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" @@ -7355,11 +7361,14 @@ $as_echo "$CC" >&6; } ;; esac - CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" - LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}" if test "${UNIVERSALSDK}" != "/" then + CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" + LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}" CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" + else + CFLAGS="${UNIVERSAL_ARCH_FLAGS} ${CFLAGS}" + LDFLAGS="${UNIVERSAL_ARCH_FLAGS} ${LDFLAGS}" fi fi diff --git a/configure.ac b/configure.ac index 2eb511b..0ec0936 100644 --- a/configure.ac +++ b/configure.ac @@ -214,7 +214,7 @@ fi AC_SUBST(LIPO_32BIT_FLAGS) AC_MSG_CHECKING(for --with-universal-archs) AC_ARG_WITH(universal-archs, - AS_HELP_STRING([--with-universal-archs=ARCH], [select architectures for universal build ("32-bit", "64-bit", "3-way", "intel", "intel-32", or "all")]), + AS_HELP_STRING([--with-universal-archs=ARCH], [select architectures for universal build ("32-bit", "64-bit", "3-way", "intel", "intel-32", "intel-64", or "all")]), [ UNIVERSAL_ARCHS="$withval" ], @@ -1782,6 +1782,11 @@ yes) LIPO_32BIT_FLAGS="" ARCH_RUN_32BIT="" ;; + intel-64) + UNIVERSAL_ARCH_FLAGS="-arch x86_64" + LIPO_32BIT_FLAGS="" + ARCH_RUN_32BIT="true" + ;; 3-way) UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" @@ -1792,11 +1797,14 @@ yes) ;; esac - CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" - LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}" if test "${UNIVERSALSDK}" != "/" then + CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" + LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}" CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" + else + CFLAGS="${UNIVERSAL_ARCH_FLAGS} ${CFLAGS}" + LDFLAGS="${UNIVERSAL_ARCH_FLAGS} ${LDFLAGS}" fi fi -- cgit v0.12 From f03c5148cfc6873df855bd0edca2940f9a5d8fd5 Mon Sep 17 00:00:00 2001 From: Ned Deily Date: Tue, 13 Mar 2018 21:21:36 -0400 Subject: 3.6.5rc1 --- Include/patchlevel.h | 8 +- Lib/pydoc_data/topics.py | 609 +++++++++------ Misc/NEWS.d/3.6.5rc1.rst | 867 +++++++++++++++++++++ .../Build/2018-01-23-15-33-40.bpo-32635.qHwIZy.rst | 2 - .../C API/2017-12-16-09-59-35.bpo-29084.ZGJ-LJ.rst | 2 - .../2017-11-26-14-36-30.bpo-32137.Stj5nL.rst | 2 - .../2017-12-03-22-29-13.bpo-32028.KC2w4Q.rst | 3 - .../2017-12-13-16-46-23.bpo-18533.Dlk8d7.rst | 3 - .../2017-12-14-11-48-19.bpo-30416.hlHo_9.rst | 3 - .../2017-12-15-00-55-35.bpo-32329.XL1O99.rst | 2 - .../2017-12-15-11-50-06.bpo-27169.VO84fQ.rst | 2 - .../2018-01-14-20-32-47.bpo-26163.xv9Iuv.rst | 2 - .../2018-01-26-21-20-21.bpo-32583.Fh3fau.rst | 2 - .../2018-01-28-12-25-06.bpo-32685.nGctze.rst | 3 - .../2018-01-28-23-01-39.bpo-32650.Bbi7ek.rst | 2 - .../2018-02-20-21-53-48.bpo-32889.J6eWy5.rst | 2 - .../2018-02-27-13-36-21.bpo-17288.Gdj24S.rst | 1 - .../2018-03-08-09-48-38.bpo-33026.QZA3Ba.rst | 1 - .../2018-01-22-21-13-46.bpo-17799.rdZ-Vk.rst | 2 - .../2018-01-25-14-23-12.bpo-31972.w1m_8r.rst | 1 - .../2018-02-02-07-41-57.bpo-32614.LSqzGw.rst | 3 - .../2018-02-03-06-11-37.bpo-8722.MPyVyj.rst | 2 - .../2018-02-10-15-16-04.bpo-32800.FyrqCk.rst | 1 - .../2018-02-23-12-48-03.bpo-17232.tmuTKL.rst | 1 - .../IDLE/2018-02-04-17-52-54.bpo-32765.qm0eCu.rst | 1 - .../IDLE/2018-02-12-11-05-22.bpo-32826.IxNZrk.rst | 5 - .../IDLE/2018-02-12-17-22-48.bpo-32837.-33QPl.rst | 2 - .../IDLE/2018-02-19-10-56-41.bpo-32874.6pZ9Gv.rst | 1 - .../IDLE/2018-02-22-00-09-27.bpo-32905.VlXj0x.rst | 1 - .../IDLE/2018-02-23-07-32-36.bpo-32916.4MsQ5F.rst | 1 - .../IDLE/2018-02-24-18-20-50.bpo-32940.ZaJ1Rf.rst | 1 - .../IDLE/2018-03-05-01-29-05.bpo-32984.NGjgT4.rst | 7 - .../2017-10-17-14-52-14.bpo-31802.sYj2Zv.rst | 2 - .../2017-10-30-15-55-32.bpo-31900.-S9xc4.rst | 9 - .../2017-11-02-11-57-41.bpo-27456.snzyTC.rst | 1 - .../2017-12-04-12-23-26.bpo-32199.nGof4v.rst | 1 - .../2017-12-11-09-53-14.bpo-32277.jkKiVC.rst | 3 - .../2017-12-12-07-29-06.bpo-32255.2bfNmM.rst | 3 - .../2017-12-13-22-38-08.bpo-32302.othtTr.rst | 2 - .../2017-12-14-10-10-10.bpo-32323.ideco.rst | 2 - .../2017-12-20-09-25-10.bpo-32185.IL0cMt.rst | 2 - .../2017-12-21-11-08-42.bpo-26133.mt81QV.rst | 1 - .../2017-12-22-16-47-41.bpo-32228.waPx3q.rst | 1 - .../2018-01-08-18-02-33.bpo-32521.Kh-KoN.rst | 2 - .../2018-01-10-20-37-59.bpo-32473.mP_yJG.rst | 1 - .../2018-01-15-12-53-13.bpo-32521.IxX4Ba.rst | 1 - .../2018-01-15-17-52-47.bpo-32555.CMq2zF.rst | 3 - .../2018-01-18-23-34-17.bpo-31848.M2cldy.rst | 2 - .../2018-01-20-17-15-34.bpo-32502.OXJfn7.rst | 2 - .../2018-01-21-16-33-53.bpo-32304.TItrNv.rst | 2 - .../2018-01-25-21-04-11.bpo-27931.e4r52t.rst | 1 - .../2018-01-30-17-46-18.bpo-32727.aHVsRC.rst | 1 - .../2018-02-01-01-34-47.bpo-32734.gCV9AD.rst | 2 - .../2018-02-05-13-31-42.bpo-32647.ktmfR_.rst | 2 - .../2018-02-05-21-28-28.bpo-32777.C-wIXF.rst | 3 - .../2018-02-08-08-18-26.bpo-32394.6E_7X7.rst | 2 - .../2018-02-09-14-44-43.bpo-30157.lEiiAK.rst | 2 - .../2018-02-09-21-41-56.bpo-31787.owSZ2t.rst | 2 - .../2018-02-14-00-21-24.bpo-32841.bvHDOc.rst | 2 - .../2018-02-15-12-04-29.bpo-32852.HDqIxM.rst | 1 - .../2018-02-16-14-37-14.bpo-32857.-XljAx.rst | 1 - .../2018-02-17-19-20-19.bpo-21060.S1Z-x6.rst | 3 - .../2018-02-19-17-46-31.bpo-32859.kAT-Xp.rst | 2 - .../2018-02-23-19-12-04.bpo-32922.u-xe0B.rst | 2 - .../2018-02-24-21-40-42.bpo-30622.dQjxSe.rst | 1 - .../2018-02-26-13-16-36.bpo-32713.55yegW.rst | 1 - .../2018-03-06-00-19-41.bpo-32969.rGTKa0.rst | 2 - .../2018-03-06-11-54-59.bpo-33009.-Ekysb.rst | 1 - .../2018-03-08-09-54-01.bpo-30353.XdE5aM.rst | 1 - .../2018-03-09-23-07-07.bpo-33037.nAJ3at.rst | 1 - .../2018-03-11-19-03-52.bpo-31804.i8KUMp.rst | 2 - .../2018-03-12-19-58-25.bpo-33064.LO2KIY.rst | 2 - .../2018-03-02-10-24-52.bpo-32981.O_qDyj.rst | 4 - .../2018-03-05-10-09-51.bpo-33001.elj4Aa.rst | 1 - .../Tests/2017-09-19-20-48-50.bpo-31518.KwTMMz.rst | 3 - .../Tests/2017-12-11-13-31-33.bpo-32252.YnFw7J.rst | 2 - .../Tests/2018-01-29-21-30-44.bpo-32721.2Bebm1.rst | 1 - .../Tests/2018-03-09-07-05-12.bpo-32517.ugc1iW.rst | 2 - .../2017-12-07-20-51-20.bpo-32222.hPBcGT.rst | 3 - .../2017-12-22-09-25-51.bpo-24960.TGdAgO.rst | 3 - .../2018-01-18-14-56-45.bpo-32588.vHww6F.rst | 1 - .../2018-02-07-17-50-48.bpo-29248.Xzwj-6.rst | 3 - .../2018-02-10-15-38-19.bpo-32370.kcKuct.rst | 2 - .../2018-02-19-08-54-06.bpo-32457.vVP0Iz.rst | 1 - .../2018-02-19-10-00-57.bpo-32409.nocuDg.rst | 1 - .../2018-02-19-13-54-42.bpo-31966._Q3HPb.rst | 1 - .../2018-02-28-11-03-24.bpo-32903.1SXY4t.rst | 2 - .../2018-03-07-01-33-33.bpo-33016.Z_Med0.rst | 1 - .../macOS/2018-03-13-21-00-20.bpo-32726.Mticyn.rst | 4 - README.rst | 4 +- 90 files changed, 1240 insertions(+), 421 deletions(-) create mode 100644 Misc/NEWS.d/3.6.5rc1.rst delete mode 100644 Misc/NEWS.d/next/Build/2018-01-23-15-33-40.bpo-32635.qHwIZy.rst delete mode 100644 Misc/NEWS.d/next/C API/2017-12-16-09-59-35.bpo-29084.ZGJ-LJ.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2017-11-26-14-36-30.bpo-32137.Stj5nL.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2017-12-03-22-29-13.bpo-32028.KC2w4Q.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2017-12-13-16-46-23.bpo-18533.Dlk8d7.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2017-12-14-11-48-19.bpo-30416.hlHo_9.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2017-12-15-00-55-35.bpo-32329.XL1O99.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2017-12-15-11-50-06.bpo-27169.VO84fQ.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2018-01-14-20-32-47.bpo-26163.xv9Iuv.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2018-01-26-21-20-21.bpo-32583.Fh3fau.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2018-01-28-12-25-06.bpo-32685.nGctze.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2018-01-28-23-01-39.bpo-32650.Bbi7ek.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2018-02-20-21-53-48.bpo-32889.J6eWy5.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2018-02-27-13-36-21.bpo-17288.Gdj24S.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2018-03-08-09-48-38.bpo-33026.QZA3Ba.rst delete mode 100644 Misc/NEWS.d/next/Documentation/2018-01-22-21-13-46.bpo-17799.rdZ-Vk.rst delete mode 100644 Misc/NEWS.d/next/Documentation/2018-01-25-14-23-12.bpo-31972.w1m_8r.rst delete mode 100644 Misc/NEWS.d/next/Documentation/2018-02-02-07-41-57.bpo-32614.LSqzGw.rst delete mode 100644 Misc/NEWS.d/next/Documentation/2018-02-03-06-11-37.bpo-8722.MPyVyj.rst delete mode 100644 Misc/NEWS.d/next/Documentation/2018-02-10-15-16-04.bpo-32800.FyrqCk.rst delete mode 100644 Misc/NEWS.d/next/Documentation/2018-02-23-12-48-03.bpo-17232.tmuTKL.rst delete mode 100644 Misc/NEWS.d/next/IDLE/2018-02-04-17-52-54.bpo-32765.qm0eCu.rst delete mode 100644 Misc/NEWS.d/next/IDLE/2018-02-12-11-05-22.bpo-32826.IxNZrk.rst delete mode 100644 Misc/NEWS.d/next/IDLE/2018-02-12-17-22-48.bpo-32837.-33QPl.rst delete mode 100644 Misc/NEWS.d/next/IDLE/2018-02-19-10-56-41.bpo-32874.6pZ9Gv.rst delete mode 100644 Misc/NEWS.d/next/IDLE/2018-02-22-00-09-27.bpo-32905.VlXj0x.rst delete mode 100644 Misc/NEWS.d/next/IDLE/2018-02-23-07-32-36.bpo-32916.4MsQ5F.rst delete mode 100644 Misc/NEWS.d/next/IDLE/2018-02-24-18-20-50.bpo-32940.ZaJ1Rf.rst delete mode 100644 Misc/NEWS.d/next/IDLE/2018-03-05-01-29-05.bpo-32984.NGjgT4.rst delete mode 100644 Misc/NEWS.d/next/Library/2017-10-17-14-52-14.bpo-31802.sYj2Zv.rst delete mode 100644 Misc/NEWS.d/next/Library/2017-10-30-15-55-32.bpo-31900.-S9xc4.rst delete mode 100644 Misc/NEWS.d/next/Library/2017-11-02-11-57-41.bpo-27456.snzyTC.rst delete mode 100644 Misc/NEWS.d/next/Library/2017-12-04-12-23-26.bpo-32199.nGof4v.rst delete mode 100644 Misc/NEWS.d/next/Library/2017-12-11-09-53-14.bpo-32277.jkKiVC.rst delete mode 100644 Misc/NEWS.d/next/Library/2017-12-12-07-29-06.bpo-32255.2bfNmM.rst delete mode 100644 Misc/NEWS.d/next/Library/2017-12-13-22-38-08.bpo-32302.othtTr.rst delete mode 100644 Misc/NEWS.d/next/Library/2017-12-14-10-10-10.bpo-32323.ideco.rst delete mode 100644 Misc/NEWS.d/next/Library/2017-12-20-09-25-10.bpo-32185.IL0cMt.rst delete mode 100644 Misc/NEWS.d/next/Library/2017-12-21-11-08-42.bpo-26133.mt81QV.rst delete mode 100644 Misc/NEWS.d/next/Library/2017-12-22-16-47-41.bpo-32228.waPx3q.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-01-08-18-02-33.bpo-32521.Kh-KoN.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-01-10-20-37-59.bpo-32473.mP_yJG.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-01-15-12-53-13.bpo-32521.IxX4Ba.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-01-15-17-52-47.bpo-32555.CMq2zF.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-01-18-23-34-17.bpo-31848.M2cldy.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-01-20-17-15-34.bpo-32502.OXJfn7.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-01-21-16-33-53.bpo-32304.TItrNv.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-01-25-21-04-11.bpo-27931.e4r52t.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-01-30-17-46-18.bpo-32727.aHVsRC.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-01-01-34-47.bpo-32734.gCV9AD.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-05-13-31-42.bpo-32647.ktmfR_.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-05-21-28-28.bpo-32777.C-wIXF.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-08-08-18-26.bpo-32394.6E_7X7.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-09-14-44-43.bpo-30157.lEiiAK.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-09-21-41-56.bpo-31787.owSZ2t.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-14-00-21-24.bpo-32841.bvHDOc.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-15-12-04-29.bpo-32852.HDqIxM.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-16-14-37-14.bpo-32857.-XljAx.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-17-19-20-19.bpo-21060.S1Z-x6.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-19-17-46-31.bpo-32859.kAT-Xp.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-23-19-12-04.bpo-32922.u-xe0B.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-24-21-40-42.bpo-30622.dQjxSe.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-02-26-13-16-36.bpo-32713.55yegW.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-03-06-00-19-41.bpo-32969.rGTKa0.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-03-06-11-54-59.bpo-33009.-Ekysb.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-03-08-09-54-01.bpo-30353.XdE5aM.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-03-09-23-07-07.bpo-33037.nAJ3at.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-03-11-19-03-52.bpo-31804.i8KUMp.rst delete mode 100644 Misc/NEWS.d/next/Library/2018-03-12-19-58-25.bpo-33064.LO2KIY.rst delete mode 100644 Misc/NEWS.d/next/Security/2018-03-02-10-24-52.bpo-32981.O_qDyj.rst delete mode 100644 Misc/NEWS.d/next/Security/2018-03-05-10-09-51.bpo-33001.elj4Aa.rst delete mode 100644 Misc/NEWS.d/next/Tests/2017-09-19-20-48-50.bpo-31518.KwTMMz.rst delete mode 100644 Misc/NEWS.d/next/Tests/2017-12-11-13-31-33.bpo-32252.YnFw7J.rst delete mode 100644 Misc/NEWS.d/next/Tests/2018-01-29-21-30-44.bpo-32721.2Bebm1.rst delete mode 100644 Misc/NEWS.d/next/Tests/2018-03-09-07-05-12.bpo-32517.ugc1iW.rst delete mode 100644 Misc/NEWS.d/next/Tools-Demos/2017-12-07-20-51-20.bpo-32222.hPBcGT.rst delete mode 100644 Misc/NEWS.d/next/Tools-Demos/2017-12-22-09-25-51.bpo-24960.TGdAgO.rst delete mode 100644 Misc/NEWS.d/next/Windows/2018-01-18-14-56-45.bpo-32588.vHww6F.rst delete mode 100644 Misc/NEWS.d/next/Windows/2018-02-07-17-50-48.bpo-29248.Xzwj-6.rst delete mode 100644 Misc/NEWS.d/next/Windows/2018-02-10-15-38-19.bpo-32370.kcKuct.rst delete mode 100644 Misc/NEWS.d/next/Windows/2018-02-19-08-54-06.bpo-32457.vVP0Iz.rst delete mode 100644 Misc/NEWS.d/next/Windows/2018-02-19-10-00-57.bpo-32409.nocuDg.rst delete mode 100644 Misc/NEWS.d/next/Windows/2018-02-19-13-54-42.bpo-31966._Q3HPb.rst delete mode 100644 Misc/NEWS.d/next/Windows/2018-02-28-11-03-24.bpo-32903.1SXY4t.rst delete mode 100644 Misc/NEWS.d/next/Windows/2018-03-07-01-33-33.bpo-33016.Z_Med0.rst delete mode 100644 Misc/NEWS.d/next/macOS/2018-03-13-21-00-20.bpo-32726.Mticyn.rst diff --git a/Include/patchlevel.h b/Include/patchlevel.h index 28f3691..7ed3ea0 100644 --- a/Include/patchlevel.h +++ b/Include/patchlevel.h @@ -18,12 +18,12 @@ /*--start constants--*/ #define PY_MAJOR_VERSION 3 #define PY_MINOR_VERSION 6 -#define PY_MICRO_VERSION 4 -#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL -#define PY_RELEASE_SERIAL 0 +#define PY_MICRO_VERSION 5 +#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_GAMMA +#define PY_RELEASE_SERIAL 1 /* Version as a string */ -#define PY_VERSION "3.6.4+" +#define PY_VERSION "3.6.5rc1" /*--end constants--*/ /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py index 8dc41a2..f37e672 100644 --- a/Lib/pydoc_data/topics.py +++ b/Lib/pydoc_data/topics.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Autogenerated by Sphinx on Tue Dec 5 03:11:02 2017 +# Autogenerated by Sphinx on Tue Mar 13 21:13:16 2018 topics = {'assert': 'The "assert" statement\n' '**********************\n' '\n' @@ -483,15 +483,19 @@ topics = {'assert': 'The "assert" statement\n' '\n' 'object.__getattr__(self, name)\n' '\n' - ' Called when an attribute lookup has not found the ' - 'attribute in the\n' - ' usual places (i.e. it is not an instance attribute ' - 'nor is it found\n' - ' in the class tree for "self"). "name" is the ' - 'attribute name. This\n' - ' method should return the (computed) attribute value ' - 'or raise an\n' - ' "AttributeError" exception.\n' + ' Called when the default attribute access fails with ' + 'an\n' + ' "AttributeError" (either "__getattribute__()" raises ' + 'an\n' + ' "AttributeError" because *name* is not an instance ' + 'attribute or an\n' + ' attribute in the class tree for "self"; or ' + '"__get__()" of a *name*\n' + ' property raises "AttributeError"). This method ' + 'should either\n' + ' return the (computed) attribute value or raise an ' + '"AttributeError"\n' + ' exception.\n' '\n' ' Note that if the attribute is found through the ' 'normal mechanism,\n' @@ -571,6 +575,41 @@ topics = {'assert': 'The "assert" statement\n' ' sorts it.\n' '\n' '\n' + 'Customizing module attribute access\n' + '===================================\n' + '\n' + 'For a more fine grained customization of the module ' + 'behavior (setting\n' + 'attributes, properties, etc.), one can set the ' + '"__class__" attribute\n' + 'of a module object to a subclass of "types.ModuleType". ' + 'For example:\n' + '\n' + ' import sys\n' + ' from types import ModuleType\n' + '\n' + ' class VerboseModule(ModuleType):\n' + ' def __repr__(self):\n' + " return f'Verbose {self.__name__}'\n" + '\n' + ' def __setattr__(self, attr, value):\n' + " print(f'Setting {attr}...')\n" + ' setattr(self, attr, value)\n' + '\n' + ' sys.modules[__name__].__class__ = VerboseModule\n' + '\n' + 'Note: Setting module "__class__" only affects lookups ' + 'made using the\n' + ' attribute access syntax -- directly accessing the ' + 'module globals\n' + ' (whether by code within the module, or via a reference ' + 'to the\n' + " module's globals dictionary) is unaffected.\n" + '\n' + 'Changed in version 3.5: "__class__" module attribute is ' + 'now writable.\n' + '\n' + '\n' 'Implementing Descriptors\n' '========================\n' '\n' @@ -742,23 +781,15 @@ topics = {'assert': 'The "assert" statement\n' '__slots__\n' '=========\n' '\n' - 'By default, instances of classes have a dictionary for ' - 'attribute\n' - 'storage. This wastes space for objects having very few ' - 'instance\n' - 'variables. The space consumption can become acute when ' - 'creating large\n' - 'numbers of instances.\n' + '*__slots__* allow us to explicitly declare data members ' + '(like\n' + 'properties) and deny the creation of *__dict__* and ' + '*__weakref__*\n' + '(unless explicitly declared in *__slots__* or available ' + 'in a parent.)\n' '\n' - 'The default can be overridden by defining *__slots__* in ' - 'a class\n' - 'definition. The *__slots__* declaration takes a sequence ' - 'of instance\n' - 'variables and reserves just enough space in each ' - 'instance to hold a\n' - 'value for each variable. Space is saved because ' - '*__dict__* is not\n' - 'created for each instance.\n' + 'The space saved over using *__dict__* can be ' + 'significant.\n' '\n' 'object.__slots__\n' '\n' @@ -778,9 +809,9 @@ topics = {'assert': 'The "assert" statement\n' '\n' '* When inheriting from a class without *__slots__*, the ' '*__dict__*\n' - ' attribute of that class will always be accessible, so ' - 'a *__slots__*\n' - ' definition in the subclass is meaningless.\n' + ' and *__weakref__* attribute of the instances will ' + 'always be\n' + ' accessible.\n' '\n' '* Without a *__dict__* variable, instances cannot be ' 'assigned new\n' @@ -814,13 +845,16 @@ topics = {'assert': 'The "assert" statement\n' 'the class\n' ' attribute would overwrite the descriptor assignment.\n' '\n' - '* The action of a *__slots__* declaration is limited to ' - 'the class\n' - ' where it is defined. As a result, subclasses will ' - 'have a *__dict__*\n' - ' unless they also define *__slots__* (which must only ' - 'contain names\n' - ' of any *additional* slots).\n' + '* The action of a *__slots__* declaration is not limited ' + 'to the\n' + ' class where it is defined. *__slots__* declared in ' + 'parents are\n' + ' available in child classes. However, child subclasses ' + 'will get a\n' + ' *__dict__* and *__weakref__* unless they also define ' + '*__slots__*\n' + ' (which should only contain names of any *additional* ' + 'slots).\n' '\n' '* If a class defines a slot also defined in a base ' 'class, the\n' @@ -845,7 +879,15 @@ topics = {'assert': 'The "assert" statement\n' '\n' '* *__class__* assignment works only if both classes have ' 'the same\n' - ' *__slots__*.\n', + ' *__slots__*.\n' + '\n' + '* Multiple inheritance with multiple slotted parent ' + 'classes can be\n' + ' used, but only one parent is allowed to have ' + 'attributes created by\n' + ' slots (the other bases must have empty slot layouts) - ' + 'violations\n' + ' raise "TypeError".\n', 'attribute-references': 'Attribute references\n' '********************\n' '\n' @@ -2893,63 +2935,52 @@ topics = {'assert': 'The "assert" statement\n' '\n' ' Called when the instance is about to be destroyed. This ' 'is also\n' - ' called a destructor. If a base class has a "__del__()" ' - 'method, the\n' - ' derived class\'s "__del__()" method, if any, must ' - 'explicitly call it\n' - ' to ensure proper deletion of the base class part of the ' - 'instance.\n' - ' Note that it is possible (though not recommended!) for ' + ' called a finalizer or (improperly) a destructor. If a ' + 'base class\n' + ' has a "__del__()" method, the derived class\'s ' + '"__del__()" method,\n' + ' if any, must explicitly call it to ensure proper ' + 'deletion of the\n' + ' base class part of the instance.\n' + '\n' + ' It is possible (though not recommended!) for the ' + '"__del__()" method\n' + ' to postpone destruction of the instance by creating a ' + 'new reference\n' + ' to it. This is called object *resurrection*. It is\n' + ' implementation-dependent whether "__del__()" is called a ' + 'second\n' + ' time when a resurrected object is about to be destroyed; ' 'the\n' - ' "__del__()" method to postpone destruction of the ' - 'instance by\n' - ' creating a new reference to it. It may then be called ' - 'at a later\n' - ' time when this new reference is deleted. It is not ' - 'guaranteed that\n' - ' "__del__()" methods are called for objects that still ' - 'exist when\n' - ' the interpreter exits.\n' + ' current *CPython* implementation only calls it once.\n' + '\n' + ' It is not guaranteed that "__del__()" methods are called ' + 'for\n' + ' objects that still exist when the interpreter exits.\n' '\n' ' Note: "del x" doesn\'t directly call "x.__del__()" --- ' 'the former\n' ' decrements the reference count for "x" by one, and the ' 'latter is\n' - ' only called when "x"\'s reference count reaches zero. ' - 'Some common\n' - ' situations that may prevent the reference count of an ' - 'object from\n' - ' going to zero include: circular references between ' - 'objects (e.g.,\n' - ' a doubly-linked list or a tree data structure with ' - 'parent and\n' - ' child pointers); a reference to the object on the ' - 'stack frame of\n' - ' a function that caught an exception (the traceback ' - 'stored in\n' - ' "sys.exc_info()[2]" keeps the stack frame alive); or a ' + ' only called when "x"\'s reference count reaches zero.\n' + '\n' + ' **CPython implementation detail:** It is possible for a ' 'reference\n' - ' to the object on the stack frame that raised an ' - 'unhandled\n' - ' exception in interactive mode (the traceback stored ' - 'in\n' - ' "sys.last_traceback" keeps the stack frame alive). ' - 'The first\n' - ' situation can only be remedied by explicitly breaking ' - 'the cycles;\n' - ' the second can be resolved by freeing the reference to ' - 'the\n' - ' traceback object when it is no longer useful, and the ' - 'third can\n' - ' be resolved by storing "None" in "sys.last_traceback". ' - 'Circular\n' - ' references which are garbage are detected and cleaned ' - 'up when the\n' - " cyclic garbage collector is enabled (it's on by " - 'default). Refer\n' - ' to the documentation for the "gc" module for more ' - 'information\n' - ' about this topic.\n' + ' cycle to prevent the reference count of an object from ' + 'going to\n' + ' zero. In this case, the cycle will be later detected ' + 'and deleted\n' + ' by the *cyclic garbage collector*. A common cause of ' + 'reference\n' + ' cycles is when an exception has been caught in a local ' + 'variable.\n' + " The frame's locals then reference the exception, which " + 'references\n' + ' its own traceback, which references the locals of all ' + 'frames caught\n' + ' in the traceback.\n' + '\n' + ' See also: Documentation for the "gc" module.\n' '\n' ' Warning: Due to the precarious circumstances under ' 'which\n' @@ -2957,29 +2988,35 @@ topics = {'assert': 'The "assert" statement\n' 'during\n' ' their execution are ignored, and a warning is printed ' 'to\n' - ' "sys.stderr" instead. Also, when "__del__()" is ' - 'invoked in\n' - ' response to a module being deleted (e.g., when ' - 'execution of the\n' - ' program is done), other globals referenced by the ' + ' "sys.stderr" instead. In particular:\n' + '\n' + ' * "__del__()" can be invoked when arbitrary code is ' + 'being\n' + ' executed, including from any arbitrary thread. If ' '"__del__()"\n' - ' method may already have been deleted or in the process ' - 'of being\n' - ' torn down (e.g. the import machinery shutting down). ' - 'For this\n' - ' reason, "__del__()" methods should do the absolute ' - 'minimum needed\n' - ' to maintain external invariants. Starting with ' - 'version 1.5,\n' - ' Python guarantees that globals whose name begins with ' - 'a single\n' - ' underscore are deleted from their module before other ' - 'globals are\n' - ' deleted; if no other references to such globals exist, ' - 'this may\n' - ' help in assuring that imported modules are still ' - 'available at the\n' - ' time when the "__del__()" method is called.\n' + ' needs to take a lock or invoke any other blocking ' + 'resource, it\n' + ' may deadlock as the resource may already be taken by ' + 'the code\n' + ' that gets interrupted to execute "__del__()".\n' + '\n' + ' * "__del__()" can be executed during interpreter ' + 'shutdown. As\n' + ' a consequence, the global variables it needs to ' + 'access\n' + ' (including other modules) may already have been ' + 'deleted or set\n' + ' to "None". Python guarantees that globals whose name ' + 'begins\n' + ' with a single underscore are deleted from their ' + 'module before\n' + ' other globals are deleted; if no other references to ' + 'such\n' + ' globals exist, this may help in assuring that ' + 'imported modules\n' + ' are still available at the time when the "__del__()" ' + 'method is\n' + ' called.\n' '\n' 'object.__repr__(self)\n' '\n' @@ -4606,9 +4643,9 @@ topics = {'assert': 'The "assert" statement\n' 'conversion] [":" format_spec] "}"\n' ' field_name ::= arg_name ("." attribute_name | ' '"[" element_index "]")*\n' - ' arg_name ::= [identifier | integer]\n' + ' arg_name ::= [identifier | digit+]\n' ' attribute_name ::= identifier\n' - ' element_index ::= integer | index_string\n' + ' element_index ::= digit+ | index_string\n' ' index_string ::= +\n' ' conversion ::= "r" | "s" | "a"\n' @@ -4767,9 +4804,9 @@ topics = {'assert': 'The "assert" statement\n' ' fill ::= \n' ' align ::= "<" | ">" | "=" | "^"\n' ' sign ::= "+" | "-" | " "\n' - ' width ::= integer\n' + ' width ::= digit+\n' ' grouping_option ::= "_" | ","\n' - ' precision ::= integer\n' + ' precision ::= digit+\n' ' type ::= "b" | "c" | "d" | "e" | "E" | "f" | ' '"F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"\n' '\n' @@ -6523,13 +6560,11 @@ topics = {'assert': 'The "assert" statement\n' 'object.__complex__(self)\n' 'object.__int__(self)\n' 'object.__float__(self)\n' - 'object.__round__(self[, n])\n' '\n' ' Called to implement the built-in functions "complex()", ' - '"int()",\n' - ' "float()" and "round()". Should return a value of the ' - 'appropriate\n' - ' type.\n' + '"int()" and\n' + ' "float()". Should return a value of the appropriate ' + 'type.\n' '\n' 'object.__index__(self)\n' '\n' @@ -6547,7 +6582,25 @@ topics = {'assert': 'The "assert" statement\n' 'when\n' ' "__index__()" is defined "__int__()" should also be ' 'defined, and\n' - ' both should return the same value.\n', + ' both should return the same value.\n' + '\n' + 'object.__round__(self[, ndigits])\n' + 'object.__trunc__(self)\n' + 'object.__floor__(self)\n' + 'object.__ceil__(self)\n' + '\n' + ' Called to implement the built-in function "round()" and ' + '"math"\n' + ' functions "trunc()", "floor()" and "ceil()". Unless ' + '*ndigits* is\n' + ' passed to "__round__()" all these methods should return ' + 'the value\n' + ' of the object truncated to an "Integral" (typically an ' + '"int").\n' + '\n' + ' If "__int__()" is not defined then the built-in function ' + '"int()"\n' + ' falls back to "__trunc__()".\n', 'objects': 'Objects, values and types\n' '*************************\n' '\n' @@ -7548,91 +7601,87 @@ topics = {'assert': 'The "assert" statement\n' '\n' ' Called when the instance is about to be destroyed. This ' 'is also\n' - ' called a destructor. If a base class has a "__del__()" ' - 'method, the\n' - ' derived class\'s "__del__()" method, if any, must ' - 'explicitly call it\n' - ' to ensure proper deletion of the base class part of the ' - 'instance.\n' - ' Note that it is possible (though not recommended!) for ' + ' called a finalizer or (improperly) a destructor. If a ' + 'base class\n' + ' has a "__del__()" method, the derived class\'s ' + '"__del__()" method,\n' + ' if any, must explicitly call it to ensure proper deletion ' + 'of the\n' + ' base class part of the instance.\n' + '\n' + ' It is possible (though not recommended!) for the ' + '"__del__()" method\n' + ' to postpone destruction of the instance by creating a new ' + 'reference\n' + ' to it. This is called object *resurrection*. It is\n' + ' implementation-dependent whether "__del__()" is called a ' + 'second\n' + ' time when a resurrected object is about to be destroyed; ' 'the\n' - ' "__del__()" method to postpone destruction of the ' - 'instance by\n' - ' creating a new reference to it. It may then be called at ' - 'a later\n' - ' time when this new reference is deleted. It is not ' - 'guaranteed that\n' - ' "__del__()" methods are called for objects that still ' - 'exist when\n' - ' the interpreter exits.\n' + ' current *CPython* implementation only calls it once.\n' + '\n' + ' It is not guaranteed that "__del__()" methods are called ' + 'for\n' + ' objects that still exist when the interpreter exits.\n' '\n' ' Note: "del x" doesn\'t directly call "x.__del__()" --- ' 'the former\n' ' decrements the reference count for "x" by one, and the ' 'latter is\n' - ' only called when "x"\'s reference count reaches zero. ' - 'Some common\n' - ' situations that may prevent the reference count of an ' - 'object from\n' - ' going to zero include: circular references between ' - 'objects (e.g.,\n' - ' a doubly-linked list or a tree data structure with ' - 'parent and\n' - ' child pointers); a reference to the object on the stack ' - 'frame of\n' - ' a function that caught an exception (the traceback ' - 'stored in\n' - ' "sys.exc_info()[2]" keeps the stack frame alive); or a ' + ' only called when "x"\'s reference count reaches zero.\n' + '\n' + ' **CPython implementation detail:** It is possible for a ' 'reference\n' - ' to the object on the stack frame that raised an ' - 'unhandled\n' - ' exception in interactive mode (the traceback stored in\n' - ' "sys.last_traceback" keeps the stack frame alive). The ' - 'first\n' - ' situation can only be remedied by explicitly breaking ' - 'the cycles;\n' - ' the second can be resolved by freeing the reference to ' - 'the\n' - ' traceback object when it is no longer useful, and the ' - 'third can\n' - ' be resolved by storing "None" in "sys.last_traceback". ' - 'Circular\n' - ' references which are garbage are detected and cleaned ' - 'up when the\n' - " cyclic garbage collector is enabled (it's on by " - 'default). Refer\n' - ' to the documentation for the "gc" module for more ' - 'information\n' - ' about this topic.\n' + ' cycle to prevent the reference count of an object from ' + 'going to\n' + ' zero. In this case, the cycle will be later detected and ' + 'deleted\n' + ' by the *cyclic garbage collector*. A common cause of ' + 'reference\n' + ' cycles is when an exception has been caught in a local ' + 'variable.\n' + " The frame's locals then reference the exception, which " + 'references\n' + ' its own traceback, which references the locals of all ' + 'frames caught\n' + ' in the traceback.\n' + '\n' + ' See also: Documentation for the "gc" module.\n' '\n' ' Warning: Due to the precarious circumstances under which\n' ' "__del__()" methods are invoked, exceptions that occur ' 'during\n' ' their execution are ignored, and a warning is printed ' 'to\n' - ' "sys.stderr" instead. Also, when "__del__()" is invoked ' - 'in\n' - ' response to a module being deleted (e.g., when ' - 'execution of the\n' - ' program is done), other globals referenced by the ' + ' "sys.stderr" instead. In particular:\n' + '\n' + ' * "__del__()" can be invoked when arbitrary code is ' + 'being\n' + ' executed, including from any arbitrary thread. If ' '"__del__()"\n' - ' method may already have been deleted or in the process ' - 'of being\n' - ' torn down (e.g. the import machinery shutting down). ' - 'For this\n' - ' reason, "__del__()" methods should do the absolute ' - 'minimum needed\n' - ' to maintain external invariants. Starting with version ' - '1.5,\n' - ' Python guarantees that globals whose name begins with a ' - 'single\n' - ' underscore are deleted from their module before other ' - 'globals are\n' - ' deleted; if no other references to such globals exist, ' - 'this may\n' - ' help in assuring that imported modules are still ' - 'available at the\n' - ' time when the "__del__()" method is called.\n' + ' needs to take a lock or invoke any other blocking ' + 'resource, it\n' + ' may deadlock as the resource may already be taken by ' + 'the code\n' + ' that gets interrupted to execute "__del__()".\n' + '\n' + ' * "__del__()" can be executed during interpreter ' + 'shutdown. As\n' + ' a consequence, the global variables it needs to ' + 'access\n' + ' (including other modules) may already have been ' + 'deleted or set\n' + ' to "None". Python guarantees that globals whose name ' + 'begins\n' + ' with a single underscore are deleted from their ' + 'module before\n' + ' other globals are deleted; if no other references to ' + 'such\n' + ' globals exist, this may help in assuring that ' + 'imported modules\n' + ' are still available at the time when the "__del__()" ' + 'method is\n' + ' called.\n' '\n' 'object.__repr__(self)\n' '\n' @@ -7924,15 +7973,17 @@ topics = {'assert': 'The "assert" statement\n' '\n' 'object.__getattr__(self, name)\n' '\n' - ' Called when an attribute lookup has not found the ' - 'attribute in the\n' - ' usual places (i.e. it is not an instance attribute nor is ' - 'it found\n' - ' in the class tree for "self"). "name" is the attribute ' - 'name. This\n' - ' method should return the (computed) attribute value or ' - 'raise an\n' - ' "AttributeError" exception.\n' + ' Called when the default attribute access fails with an\n' + ' "AttributeError" (either "__getattribute__()" raises an\n' + ' "AttributeError" because *name* is not an instance ' + 'attribute or an\n' + ' attribute in the class tree for "self"; or "__get__()" of ' + 'a *name*\n' + ' property raises "AttributeError"). This method should ' + 'either\n' + ' return the (computed) attribute value or raise an ' + '"AttributeError"\n' + ' exception.\n' '\n' ' Note that if the attribute is found through the normal ' 'mechanism,\n' @@ -8011,6 +8062,41 @@ topics = {'assert': 'The "assert" statement\n' ' sorts it.\n' '\n' '\n' + 'Customizing module attribute access\n' + '-----------------------------------\n' + '\n' + 'For a more fine grained customization of the module behavior ' + '(setting\n' + 'attributes, properties, etc.), one can set the "__class__" ' + 'attribute\n' + 'of a module object to a subclass of "types.ModuleType". For ' + 'example:\n' + '\n' + ' import sys\n' + ' from types import ModuleType\n' + '\n' + ' class VerboseModule(ModuleType):\n' + ' def __repr__(self):\n' + " return f'Verbose {self.__name__}'\n" + '\n' + ' def __setattr__(self, attr, value):\n' + " print(f'Setting {attr}...')\n" + ' setattr(self, attr, value)\n' + '\n' + ' sys.modules[__name__].__class__ = VerboseModule\n' + '\n' + 'Note: Setting module "__class__" only affects lookups made ' + 'using the\n' + ' attribute access syntax -- directly accessing the module ' + 'globals\n' + ' (whether by code within the module, or via a reference to ' + 'the\n' + " module's globals dictionary) is unaffected.\n" + '\n' + 'Changed in version 3.5: "__class__" module attribute is now ' + 'writable.\n' + '\n' + '\n' 'Implementing Descriptors\n' '------------------------\n' '\n' @@ -8179,23 +8265,14 @@ topics = {'assert': 'The "assert" statement\n' '__slots__\n' '---------\n' '\n' - 'By default, instances of classes have a dictionary for ' - 'attribute\n' - 'storage. This wastes space for objects having very few ' - 'instance\n' - 'variables. The space consumption can become acute when ' - 'creating large\n' - 'numbers of instances.\n' + '*__slots__* allow us to explicitly declare data members ' + '(like\n' + 'properties) and deny the creation of *__dict__* and ' + '*__weakref__*\n' + '(unless explicitly declared in *__slots__* or available in a ' + 'parent.)\n' '\n' - 'The default can be overridden by defining *__slots__* in a ' - 'class\n' - 'definition. The *__slots__* declaration takes a sequence of ' - 'instance\n' - 'variables and reserves just enough space in each instance to ' - 'hold a\n' - 'value for each variable. Space is saved because *__dict__* ' - 'is not\n' - 'created for each instance.\n' + 'The space saved over using *__dict__* can be significant.\n' '\n' 'object.__slots__\n' '\n' @@ -8215,9 +8292,9 @@ topics = {'assert': 'The "assert" statement\n' '\n' '* When inheriting from a class without *__slots__*, the ' '*__dict__*\n' - ' attribute of that class will always be accessible, so a ' - '*__slots__*\n' - ' definition in the subclass is meaningless.\n' + ' and *__weakref__* attribute of the instances will always ' + 'be\n' + ' accessible.\n' '\n' '* Without a *__dict__* variable, instances cannot be ' 'assigned new\n' @@ -8249,13 +8326,16 @@ topics = {'assert': 'The "assert" statement\n' 'class\n' ' attribute would overwrite the descriptor assignment.\n' '\n' - '* The action of a *__slots__* declaration is limited to the ' - 'class\n' - ' where it is defined. As a result, subclasses will have a ' - '*__dict__*\n' - ' unless they also define *__slots__* (which must only ' - 'contain names\n' - ' of any *additional* slots).\n' + '* The action of a *__slots__* declaration is not limited to ' + 'the\n' + ' class where it is defined. *__slots__* declared in ' + 'parents are\n' + ' available in child classes. However, child subclasses will ' + 'get a\n' + ' *__dict__* and *__weakref__* unless they also define ' + '*__slots__*\n' + ' (which should only contain names of any *additional* ' + 'slots).\n' '\n' '* If a class defines a slot also defined in a base class, ' 'the\n' @@ -8282,6 +8362,14 @@ topics = {'assert': 'The "assert" statement\n' 'same\n' ' *__slots__*.\n' '\n' + '* Multiple inheritance with multiple slotted parent classes ' + 'can be\n' + ' used, but only one parent is allowed to have attributes ' + 'created by\n' + ' slots (the other bases must have empty slot layouts) - ' + 'violations\n' + ' raise "TypeError".\n' + '\n' '\n' 'Customizing class creation\n' '==========================\n' @@ -9049,13 +9137,11 @@ topics = {'assert': 'The "assert" statement\n' 'object.__complex__(self)\n' 'object.__int__(self)\n' 'object.__float__(self)\n' - 'object.__round__(self[, n])\n' '\n' ' Called to implement the built-in functions "complex()", ' - '"int()",\n' - ' "float()" and "round()". Should return a value of the ' - 'appropriate\n' - ' type.\n' + '"int()" and\n' + ' "float()". Should return a value of the appropriate ' + 'type.\n' '\n' 'object.__index__(self)\n' '\n' @@ -9075,6 +9161,24 @@ topics = {'assert': 'The "assert" statement\n' 'defined, and\n' ' both should return the same value.\n' '\n' + 'object.__round__(self[, ndigits])\n' + 'object.__trunc__(self)\n' + 'object.__floor__(self)\n' + 'object.__ceil__(self)\n' + '\n' + ' Called to implement the built-in function "round()" and ' + '"math"\n' + ' functions "trunc()", "floor()" and "ceil()". Unless ' + '*ndigits* is\n' + ' passed to "__round__()" all these methods should return ' + 'the value\n' + ' of the object truncated to an "Integral" (typically an ' + '"int").\n' + '\n' + ' If "__int__()" is not defined then the built-in function ' + '"int()"\n' + ' falls back to "__trunc__()".\n' + '\n' '\n' 'With Statement Context Managers\n' '===============================\n' @@ -9409,6 +9513,27 @@ topics = {'assert': 'The "assert" statement\n' ' formatting options that can be specified in format ' 'strings.\n' '\n' + ' Note: When formatting a number ("int", "float", "float" ' + 'and\n' + ' subclasses) with the "n" type (ex: ' + '"\'{:n}\'.format(1234)"), the\n' + ' function sets temporarily the "LC_CTYPE" locale to ' + 'the\n' + ' "LC_NUMERIC" locale to decode "decimal_point" and ' + '"thousands_sep"\n' + ' fields of "localeconv()" if they are non-ASCII or ' + 'longer than 1\n' + ' byte, and the "LC_NUMERIC" locale is different than ' + 'the\n' + ' "LC_CTYPE" locale. This temporary change affects ' + 'other threads.\n' + '\n' + ' Changed in version 3.6.5: When formatting a number with ' + 'the "n"\n' + ' type, the function sets temporarily the "LC_CTYPE" ' + 'locale to the\n' + ' "LC_NUMERIC" locale in some cases.\n' + '\n' 'str.format_map(mapping)\n' '\n' ' Similar to "str.format(**mapping)", except that ' @@ -12173,18 +12298,18 @@ topics = {'assert': 'The "assert" statement\n' ' sequence concatenation or repetition.\n' '\n' '8. "index" raises "ValueError" when *x* is not found in *s*. ' - 'When\n' - ' supported, the additional arguments to the index method ' - 'allow\n' - ' efficient searching of subsections of the sequence. Passing ' - 'the\n' - ' extra arguments is roughly equivalent to using ' - '"s[i:j].index(x)",\n' - ' only without copying any data and with the returned index ' - 'being\n' - ' relative to the start of the sequence rather than the start ' - 'of the\n' - ' slice.\n' + 'Not\n' + ' all implementations support passing the additional arguments ' + '*i*\n' + ' and *j*. These arguments allow efficient searching of ' + 'subsections\n' + ' of the sequence. Passing the extra arguments is roughly ' + 'equivalent\n' + ' to using "s[i:j].index(x)", only without copying any data and ' + 'with\n' + ' the returned index being relative to the start of the ' + 'sequence\n' + ' rather than the start of the slice.\n' '\n' '\n' 'Immutable Sequence Types\n' diff --git a/Misc/NEWS.d/3.6.5rc1.rst b/Misc/NEWS.d/3.6.5rc1.rst new file mode 100644 index 0000000..5231de1 --- /dev/null +++ b/Misc/NEWS.d/3.6.5rc1.rst @@ -0,0 +1,867 @@ +.. bpo: 33001 +.. date: 2018-03-05-10-09-51 +.. nonce: elj4Aa +.. release date: 2018-03-13 +.. section: Security + +Minimal fix to prevent buffer overrun in os.symlink on Windows + +.. + +.. bpo: 32981 +.. date: 2018-03-02-10-24-52 +.. nonce: O_qDyj +.. section: Security + +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. + +.. + +.. bpo: 33026 +.. date: 2018-03-08-09-48-38 +.. nonce: QZA3Ba +.. section: Core and Builtins + +Fixed jumping out of "with" block by setting f_lineno. + +.. + +.. bpo: 17288 +.. date: 2018-02-27-13-36-21 +.. nonce: Gdj24S +.. section: Core and Builtins + +Prevent jumps from 'return' and 'exception' trace events. + +.. + +.. bpo: 32889 +.. date: 2018-02-20-21-53-48 +.. nonce: J6eWy5 +.. section: Core and Builtins + +Update Valgrind suppression list to account for the rename of +``Py_ADDRESS_IN_RANG`` to ``address_in_range``. + +.. + +.. bpo: 32650 +.. date: 2018-01-28-23-01-39 +.. nonce: Bbi7ek +.. section: Core and Builtins + +Pdb and other debuggers dependent on bdb.py will correctly step over (next +command) native coroutines. Patch by Pablo Galindo. + +.. + +.. bpo: 32685 +.. date: 2018-01-28-12-25-06 +.. nonce: nGctze +.. section: Core and Builtins + +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 +.. date: 2018-01-26-21-20-21 +.. nonce: Fh3fau +.. section: Core and Builtins + +Fix possible crashing in builtin Unicode decoders caused by write out-of- +bound errors when using customized decode error handlers. + +.. + +.. bpo: 26163 +.. date: 2018-01-14-20-32-47 +.. nonce: xv9Iuv +.. section: Core and Builtins + +Improved frozenset() hash to create more distinct hash values when faced +with datasets containing many similar values. + +.. + +.. bpo: 27169 +.. date: 2017-12-15-11-50-06 +.. nonce: VO84fQ +.. section: Core and Builtins + +The ``__debug__`` constant is now optimized out at compile time. This fixes +also bpo-22091. + +.. + +.. bpo: 32329 +.. date: 2017-12-15-00-55-35 +.. nonce: XL1O99 +.. section: Core and Builtins + +``sys.flags.hash_randomization`` is now properly set to 0 when hash +randomization is turned off by ``PYTHONHASHSEED=0``. + +.. + +.. bpo: 30416 +.. date: 2017-12-14-11-48-19 +.. nonce: hlHo_9 +.. section: Core and Builtins + +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 +.. date: 2017-12-13-16-46-23 +.. nonce: Dlk8d7 +.. section: Core and Builtins + +``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 +.. date: 2017-12-03-22-29-13 +.. nonce: KC2w4Q +.. section: Core and Builtins + +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 +.. date: 2017-11-26-14-36-30 +.. nonce: Stj5nL +.. section: Core and Builtins + +The repr of deeply nested dict now raises a RecursionError instead of +crashing due to a stack overflow. + +.. + +.. bpo: 33064 +.. date: 2018-03-12-19-58-25 +.. nonce: LO2KIY +.. section: Library + +lib2to3 now properly supports trailing commas after ``*args`` and +``**kwargs`` in function signatures. + +.. + +.. bpo: 31804 +.. date: 2018-03-11-19-03-52 +.. nonce: i8KUMp +.. section: Library + +Avoid failing in multiprocessing.Process if the standard streams are closed +or None at exit. + +.. + +.. bpo: 33037 +.. date: 2018-03-09-23-07-07 +.. nonce: nAJ3at +.. section: Library + +Skip sending/receiving data after SSL transport closing. + +.. + +.. bpo: 30353 +.. date: 2018-03-08-09-54-01 +.. nonce: XdE5aM +.. section: Library + +Fix ctypes pass-by-value for structs on 64-bit Cygwin/MinGW. + +.. + +.. bpo: 33009 +.. date: 2018-03-06-11-54-59 +.. nonce: -Ekysb +.. section: Library + +Fix inspect.signature() for single-parameter partialmethods. + +.. + +.. bpo: 32969 +.. date: 2018-03-06-00-19-41 +.. nonce: rGTKa0 +.. section: Library + +Expose several missing constants in zlib and fix corresponding +documentation. + +.. + +.. bpo: 32713 +.. date: 2018-02-26-13-16-36 +.. nonce: 55yegW +.. section: Library + +Fixed tarfile.itn handling of out-of-bounds float values. Patch by Joffrey +Fuhrer. + +.. + +.. bpo: 30622 +.. date: 2018-02-24-21-40-42 +.. nonce: dQjxSe +.. section: Library + +The ssl module now detects missing NPN support in LibreSSL. + +.. + +.. bpo: 32922 +.. date: 2018-02-23-19-12-04 +.. nonce: u-xe0B +.. section: Library + +dbm.open() now encodes filename with the filesystem encoding rather than +default encoding. + +.. + +.. bpo: 32859 +.. date: 2018-02-19-17-46-31 +.. nonce: kAT-Xp +.. section: Library + +In ``os.dup2``, don't check every call whether the ``dup3`` syscall exists +or not. + +.. + +.. bpo: 21060 +.. date: 2018-02-17-19-20-19 +.. nonce: S1Z-x6 +.. section: Library + +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 +.. date: 2018-02-16-14-37-14 +.. nonce: -XljAx +.. section: Library + +In :mod:`tkinter`, ``after_cancel(None)`` now raises a :exc:`ValueError` +instead of canceling the first scheduled function. Patch by Cheryl Sabella. + +.. + +.. bpo: 32852 +.. date: 2018-02-15-12-04-29 +.. nonce: HDqIxM +.. section: Library + +Make sure sys.argv remains as a list when running trace. + +.. + +.. bpo: 32841 +.. date: 2018-02-14-00-21-24 +.. nonce: bvHDOc +.. section: Library + +Fixed `asyncio.Condition` issue which silently ignored cancellation after +notifying and cancelling a conditional lock. Patch by Bar Harel. + +.. + +.. bpo: 31787 +.. date: 2018-02-09-21-41-56 +.. nonce: owSZ2t +.. section: Library + +Fixed refleaks of ``__init__()`` methods in various modules. (Contributed by +Oren Milman) + +.. + +.. bpo: 30157 +.. date: 2018-02-09-14-44-43 +.. nonce: lEiiAK +.. section: Library + +Fixed guessing quote and delimiter in csv.Sniffer.sniff() when only the last +field is quoted. Patch by Jake Davis. + +.. + +.. bpo: 32394 +.. date: 2018-02-08-08-18-26 +.. nonce: 6E_7X7 +.. section: Library + +socket: Remove TCP_FASTOPEN, TCP_KEEPCNT flags on older version Windows +during run-time. + +.. + +.. bpo: 32777 +.. date: 2018-02-05-21-28-28 +.. nonce: C-wIXF +.. section: Library + +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 +.. date: 2018-02-05-13-31-42 +.. nonce: ktmfR_ +.. section: Library + +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 +.. date: 2018-02-01-01-34-47 +.. nonce: gCV9AD +.. section: Library + +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 +.. date: 2018-01-30-17-46-18 +.. nonce: aHVsRC +.. section: Library + +Do not include name field in SMTP envelope from address. Patch by Stéphane +Wirtel + +.. + +.. bpo: 27931 +.. date: 2018-01-25-21-04-11 +.. nonce: e4r52t +.. section: Library + +Fix email address header parsing error when the username is an empty quoted +string. Patch by Xiang Zhang. + +.. + +.. bpo: 32304 +.. date: 2018-01-21-16-33-53 +.. nonce: TItrNv +.. section: Library + +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 +.. date: 2018-01-20-17-15-34 +.. nonce: OXJfn7 +.. section: Library + +uuid.uuid1 no longer raises an exception if a 64-bit hardware address is +encountered. + +.. + +.. bpo: 31848 +.. date: 2018-01-18-23-34-17 +.. nonce: M2cldy +.. section: Library + +Fix the error handling in Aifc_read.initfp() when the SSND chunk is not +found. Patch by Zackery Spytz. + +.. + +.. bpo: 32555 +.. date: 2018-01-15-17-52-47 +.. nonce: CMq2zF +.. section: Library + +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 +.. date: 2018-01-15-12-53-13 +.. nonce: IxX4Ba +.. section: Library + +The nis module is now compatible with new libnsl and headers location. + +.. + +.. bpo: 32473 +.. date: 2018-01-10-20-37-59 +.. nonce: mP_yJG +.. section: Library + +Improve ABCMeta._dump_registry() output readability + +.. + +.. bpo: 32521 +.. date: 2018-01-08-18-02-33 +.. nonce: Kh-KoN +.. section: Library + +glibc has removed Sun RPC. Use replacement libtirpc headers and library in +nis module. + +.. + +.. bpo: 32228 +.. date: 2017-12-22-16-47-41 +.. nonce: waPx3q +.. section: Library + +Ensure that ``truncate()`` preserves the file position (as reported by +``tell()``) after writes longer than the buffer size. + +.. + +.. bpo: 26133 +.. date: 2017-12-21-11-08-42 +.. nonce: mt81QV +.. section: Library + +Don't unsubscribe signals in asyncio UNIX event loop on interpreter +shutdown. + +.. + +.. bpo: 32185 +.. date: 2017-12-20-09-25-10 +.. nonce: IL0cMt +.. section: Library + +The SSL module no longer sends IP addresses in SNI TLS extension on +platforms with OpenSSL 1.0.2+ or inet_pton. + +.. + +.. bpo: 32323 +.. date: 2017-12-14-10-10-10 +.. nonce: ideco +.. section: Library + +:func:`urllib.parse.urlsplit()` does not convert zone-id (scope) to lower +case for scoped IPv6 addresses in hostnames now. + +.. + +.. bpo: 32302 +.. date: 2017-12-13-22-38-08 +.. nonce: othtTr +.. section: Library + +Fix bdist_wininst of distutils for CRT v142: it binary compatible with CRT +v140. + +.. + +.. bpo: 32255 +.. date: 2017-12-12-07-29-06 +.. nonce: 2bfNmM +.. section: Library + +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 +.. date: 2017-12-11-09-53-14 +.. nonce: jkKiVC +.. section: Library + +Raise ``NotImplementedError`` instead of ``SystemError`` on platforms where +``chmod(..., follow_symlinks=False)`` is not supported. Patch by Anthony +Sottile. + +.. + +.. bpo: 32199 +.. date: 2017-12-04-12-23-26 +.. nonce: nGof4v +.. section: Library + +The getnode() ip getter now uses 'ip link' instead of 'ip link list'. + +.. + +.. bpo: 27456 +.. date: 2017-11-02-11-57-41 +.. nonce: snzyTC +.. section: Library + +Ensure TCP_NODELAY is set on Linux. Tests by Victor Stinner. + +.. + +.. bpo: 31900 +.. date: 2017-10-30-15-55-32 +.. nonce: -S9xc4 +.. section: Library + +The :func:`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 :meth:`str.format` method when formatting a number +(:class:`int`, :class:`float`, :class:`float` and subclasses) with the ``n`` +type (ex: ``'{:n}'.format(1234)``). + +.. + +.. bpo: 31802 +.. date: 2017-10-17-14-52-14 +.. nonce: sYj2Zv +.. section: Library + +Importing native path module (``posixpath``, ``ntpath``) now works even if +the ``os`` module still is not imported. + +.. + +.. bpo: 17232 +.. date: 2018-02-23-12-48-03 +.. nonce: tmuTKL +.. section: Documentation + +Clarify docs for -O and -OO. Patch by Terry Reedy. + +.. + +.. bpo: 32800 +.. date: 2018-02-10-15-16-04 +.. nonce: FyrqCk +.. section: Documentation + +Update link to w3c doc for xml default namespaces. + +.. + +.. bpo: 8722 +.. date: 2018-02-03-06-11-37 +.. nonce: MPyVyj +.. section: Documentation + +Document :meth:`__getattr__` behavior when property :meth:`get` method +raises :exc:`AttributeError`. + +.. + +.. bpo: 32614 +.. date: 2018-02-02-07-41-57 +.. nonce: LSqzGw +.. section: Documentation + +Modify RE examples in documentation to use raw strings to prevent +:exc:`DeprecationWarning` and add text to REGEX HOWTO to highlight the +deprecation. + +.. + +.. bpo: 31972 +.. date: 2018-01-25-14-23-12 +.. nonce: w1m_8r +.. section: Documentation + +Improve docstrings for `pathlib.PurePath` subclasses. + +.. + +.. bpo: 17799 +.. date: 2018-01-22-21-13-46 +.. nonce: rdZ-Vk +.. section: Documentation + +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. + +.. + +.. bpo: 32517 +.. date: 2018-03-09-07-05-12 +.. nonce: ugc1iW +.. section: Tests + +Fix failing ``test_asyncio`` on macOS 10.12.2+ due to transport of +``KqueueSelector`` loop was not being closed. + +.. + +.. bpo: 32721 +.. date: 2018-01-29-21-30-44 +.. nonce: 2Bebm1 +.. section: Tests + +Fix test_hashlib to not fail if the _md5 module is not built. + +.. + +.. bpo: 32252 +.. date: 2017-12-11-13-31-33 +.. nonce: YnFw7J +.. section: Tests + +Fix faulthandler_suppress_crash_report() used to prevent core dump files +when testing crashes. getrlimit() returns zero on success. + +.. + +.. bpo: 31518 +.. date: 2017-09-19-20-48-50 +.. nonce: KwTMMz +.. section: Tests + +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. + +.. + +.. bpo: 32635 +.. date: 2018-01-23-15-33-40 +.. nonce: qHwIZy +.. section: Build + +Fix segfault of the crypt module when libxcrypt is provided instead of +libcrypt at the system. + +.. + +.. bpo: 33016 +.. date: 2018-03-07-01-33-33 +.. nonce: Z_Med0 +.. section: Windows + +Fix potential use of uninitialized memory in nt._getfinalpathname + +.. + +.. bpo: 32903 +.. date: 2018-02-28-11-03-24 +.. nonce: 1SXY4t +.. section: Windows + +Fix a memory leak in os.chdir() on Windows if the current directory is set +to a UNC path. + +.. + +.. bpo: 31966 +.. date: 2018-02-19-13-54-42 +.. nonce: _Q3HPb +.. section: Windows + +Fixed WindowsConsoleIO.write() for writing empty data. + +.. + +.. bpo: 32409 +.. date: 2018-02-19-10-00-57 +.. nonce: nocuDg +.. section: Windows + +Ensures activate.bat can handle Unicode contents. + +.. + +.. bpo: 32457 +.. date: 2018-02-19-08-54-06 +.. nonce: vVP0Iz +.. section: Windows + +Improves handling of denormalized executable path when launching Python. + +.. + +.. bpo: 32370 +.. date: 2018-02-10-15-38-19 +.. nonce: kcKuct +.. section: Windows + +Use the correct encoding for ipconfig output in the uuid module. Patch by +Segev Finer. + +.. + +.. bpo: 29248 +.. date: 2018-02-07-17-50-48 +.. nonce: Xzwj-6 +.. section: Windows + +Fix :func:`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 +.. date: 2018-01-18-14-56-45 +.. nonce: vHww6F +.. section: Windows + +Create standalone _distutils_findvs module. + +.. + +.. bpo: 32726 +.. date: 2018-03-13-21-00-20 +.. nonce: Mticyn +.. section: macOS + +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. + +.. + +.. bpo: 32984 +.. date: 2018-03-05-01-29-05 +.. nonce: NGjgT4 +.. section: IDLE + +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 :envvar:`IDLESTARTUP` or :envvar:`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 +.. date: 2018-02-24-18-20-50 +.. nonce: ZaJ1Rf +.. section: IDLE + +Simplify and rename StringTranslatePseudoMapping in pyparse. + +.. + +.. bpo: 32916 +.. date: 2018-02-23-07-32-36 +.. nonce: 4MsQ5F +.. section: IDLE + +Change ``str`` to ``code`` in pyparse. + +.. + +.. bpo: 32905 +.. date: 2018-02-22-00-09-27 +.. nonce: VlXj0x +.. section: IDLE + +Remove unused code in pyparse module. + +.. + +.. bpo: 32874 +.. date: 2018-02-19-10-56-41 +.. nonce: 6pZ9Gv +.. section: IDLE + +Add tests for pyparse. + +.. + +.. bpo: 32837 +.. date: 2018-02-12-17-22-48 +.. nonce: -33QPl +.. section: IDLE + +Using the system and place-dependent default encoding for open() is a bad +idea for IDLE's system and location-independent files. + +.. + +.. bpo: 32826 +.. date: 2018-02-12-11-05-22 +.. nonce: IxNZrk +.. section: IDLE + +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 +.. date: 2018-02-04-17-52-54 +.. nonce: qm0eCu +.. section: IDLE + +Update configdialog General tab docstring to add new widgets to the widget +list. + +.. + +.. bpo: 24960 +.. date: 2017-12-22-09-25-51 +.. nonce: TGdAgO +.. section: Tools/Demos + +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 +.. date: 2017-12-07-20-51-20 +.. nonce: hPBcGT +.. section: Tools/Demos + +Fix pygettext not extracting docstrings for functions with type annotated +arguments. Patch by Toby Harradine. + +.. + +.. bpo: 29084 +.. date: 2017-12-16-09-59-35 +.. nonce: ZGJ-LJ +.. section: C API + +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. diff --git a/Misc/NEWS.d/next/Build/2018-01-23-15-33-40.bpo-32635.qHwIZy.rst b/Misc/NEWS.d/next/Build/2018-01-23-15-33-40.bpo-32635.qHwIZy.rst deleted file mode 100644 index d411890..0000000 --- a/Misc/NEWS.d/next/Build/2018-01-23-15-33-40.bpo-32635.qHwIZy.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix segfault of the crypt module when libxcrypt is provided instead of -libcrypt at the system. diff --git a/Misc/NEWS.d/next/C API/2017-12-16-09-59-35.bpo-29084.ZGJ-LJ.rst b/Misc/NEWS.d/next/C API/2017-12-16-09-59-35.bpo-29084.ZGJ-LJ.rst deleted file mode 100644 index 940f716..0000000 --- a/Misc/NEWS.d/next/C API/2017-12-16-09-59-35.bpo-29084.ZGJ-LJ.rst +++ /dev/null @@ -1,2 +0,0 @@ -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. diff --git a/Misc/NEWS.d/next/Core and Builtins/2017-11-26-14-36-30.bpo-32137.Stj5nL.rst b/Misc/NEWS.d/next/Core and Builtins/2017-11-26-14-36-30.bpo-32137.Stj5nL.rst deleted file mode 100644 index f8f4ab9..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2017-11-26-14-36-30.bpo-32137.Stj5nL.rst +++ /dev/null @@ -1,2 +0,0 @@ -The repr of deeply nested dict now raises a RecursionError instead of -crashing due to a stack overflow. diff --git a/Misc/NEWS.d/next/Core and Builtins/2017-12-03-22-29-13.bpo-32028.KC2w4Q.rst b/Misc/NEWS.d/next/Core and Builtins/2017-12-03-22-29-13.bpo-32028.KC2w4Q.rst deleted file mode 100644 index 8e2b2e1..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2017-12-03-22-29-13.bpo-32028.KC2w4Q.rst +++ /dev/null @@ -1,3 +0,0 @@ -Leading whitespace is now correctly ignored when generating suggestions -for converting Py2 print statements to Py3 builtin print function calls. -Patch by Sanyam Khurana. diff --git a/Misc/NEWS.d/next/Core and Builtins/2017-12-13-16-46-23.bpo-18533.Dlk8d7.rst b/Misc/NEWS.d/next/Core and Builtins/2017-12-13-16-46-23.bpo-18533.Dlk8d7.rst deleted file mode 100644 index a33eff5..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2017-12-13-16-46-23.bpo-18533.Dlk8d7.rst +++ /dev/null @@ -1,3 +0,0 @@ -``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. diff --git a/Misc/NEWS.d/next/Core and Builtins/2017-12-14-11-48-19.bpo-30416.hlHo_9.rst b/Misc/NEWS.d/next/Core and Builtins/2017-12-14-11-48-19.bpo-30416.hlHo_9.rst deleted file mode 100644 index 8db577b..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2017-12-14-11-48-19.bpo-30416.hlHo_9.rst +++ /dev/null @@ -1,3 +0,0 @@ -The optimizer is now protected from spending much time doing complex -calculations and consuming much memory for creating large constants in -constant folding. diff --git a/Misc/NEWS.d/next/Core and Builtins/2017-12-15-00-55-35.bpo-32329.XL1O99.rst b/Misc/NEWS.d/next/Core and Builtins/2017-12-15-00-55-35.bpo-32329.XL1O99.rst deleted file mode 100644 index 36ca84e..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2017-12-15-00-55-35.bpo-32329.XL1O99.rst +++ /dev/null @@ -1,2 +0,0 @@ -``sys.flags.hash_randomization`` is now properly set to 0 when hash -randomization is turned off by ``PYTHONHASHSEED=0``. diff --git a/Misc/NEWS.d/next/Core and Builtins/2017-12-15-11-50-06.bpo-27169.VO84fQ.rst b/Misc/NEWS.d/next/Core and Builtins/2017-12-15-11-50-06.bpo-27169.VO84fQ.rst deleted file mode 100644 index 81d1d15..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2017-12-15-11-50-06.bpo-27169.VO84fQ.rst +++ /dev/null @@ -1,2 +0,0 @@ -The ``__debug__`` constant is now optimized out at compile time. This fixes also -bpo-22091. diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-01-14-20-32-47.bpo-26163.xv9Iuv.rst b/Misc/NEWS.d/next/Core and Builtins/2018-01-14-20-32-47.bpo-26163.xv9Iuv.rst deleted file mode 100644 index 163b9e0..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2018-01-14-20-32-47.bpo-26163.xv9Iuv.rst +++ /dev/null @@ -1,2 +0,0 @@ -Improved frozenset() hash to create more distinct hash values when faced -with datasets containing many similar values. diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-01-26-21-20-21.bpo-32583.Fh3fau.rst b/Misc/NEWS.d/next/Core and Builtins/2018-01-26-21-20-21.bpo-32583.Fh3fau.rst deleted file mode 100644 index 45f1d04..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2018-01-26-21-20-21.bpo-32583.Fh3fau.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix possible crashing in builtin Unicode decoders caused by write -out-of-bound errors when using customized decode error handlers. diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-01-28-12-25-06.bpo-32685.nGctze.rst b/Misc/NEWS.d/next/Core and Builtins/2018-01-28-12-25-06.bpo-32685.nGctze.rst deleted file mode 100644 index 07d7a07..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2018-01-28-12-25-06.bpo-32685.nGctze.rst +++ /dev/null @@ -1,3 +0,0 @@ -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. diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-01-28-23-01-39.bpo-32650.Bbi7ek.rst b/Misc/NEWS.d/next/Core and Builtins/2018-01-28-23-01-39.bpo-32650.Bbi7ek.rst deleted file mode 100644 index f0b9e3f..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2018-01-28-23-01-39.bpo-32650.Bbi7ek.rst +++ /dev/null @@ -1,2 +0,0 @@ -Pdb and other debuggers dependent on bdb.py will correctly step over (next -command) native coroutines. Patch by Pablo Galindo. diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-02-20-21-53-48.bpo-32889.J6eWy5.rst b/Misc/NEWS.d/next/Core and Builtins/2018-02-20-21-53-48.bpo-32889.J6eWy5.rst deleted file mode 100644 index 99128cc..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2018-02-20-21-53-48.bpo-32889.J6eWy5.rst +++ /dev/null @@ -1,2 +0,0 @@ -Update Valgrind suppression list to account for the rename of -``Py_ADDRESS_IN_RANG`` to ``address_in_range``. diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-02-27-13-36-21.bpo-17288.Gdj24S.rst b/Misc/NEWS.d/next/Core and Builtins/2018-02-27-13-36-21.bpo-17288.Gdj24S.rst deleted file mode 100644 index ce9e84c..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2018-02-27-13-36-21.bpo-17288.Gdj24S.rst +++ /dev/null @@ -1 +0,0 @@ -Prevent jumps from 'return' and 'exception' trace events. diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-03-08-09-48-38.bpo-33026.QZA3Ba.rst b/Misc/NEWS.d/next/Core and Builtins/2018-03-08-09-48-38.bpo-33026.QZA3Ba.rst deleted file mode 100644 index dc166d1..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2018-03-08-09-48-38.bpo-33026.QZA3Ba.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed jumping out of "with" block by setting f_lineno. diff --git a/Misc/NEWS.d/next/Documentation/2018-01-22-21-13-46.bpo-17799.rdZ-Vk.rst b/Misc/NEWS.d/next/Documentation/2018-01-22-21-13-46.bpo-17799.rdZ-Vk.rst deleted file mode 100644 index ccc52f6..0000000 --- a/Misc/NEWS.d/next/Documentation/2018-01-22-21-13-46.bpo-17799.rdZ-Vk.rst +++ /dev/null @@ -1,2 +0,0 @@ -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. diff --git a/Misc/NEWS.d/next/Documentation/2018-01-25-14-23-12.bpo-31972.w1m_8r.rst b/Misc/NEWS.d/next/Documentation/2018-01-25-14-23-12.bpo-31972.w1m_8r.rst deleted file mode 100644 index e0361df..0000000 --- a/Misc/NEWS.d/next/Documentation/2018-01-25-14-23-12.bpo-31972.w1m_8r.rst +++ /dev/null @@ -1 +0,0 @@ -Improve docstrings for `pathlib.PurePath` subclasses. diff --git a/Misc/NEWS.d/next/Documentation/2018-02-02-07-41-57.bpo-32614.LSqzGw.rst b/Misc/NEWS.d/next/Documentation/2018-02-02-07-41-57.bpo-32614.LSqzGw.rst deleted file mode 100644 index 9e9f3e3..0000000 --- a/Misc/NEWS.d/next/Documentation/2018-02-02-07-41-57.bpo-32614.LSqzGw.rst +++ /dev/null @@ -1,3 +0,0 @@ -Modify RE examples in documentation to use raw strings to prevent -:exc:`DeprecationWarning` and add text to REGEX HOWTO to highlight the -deprecation. diff --git a/Misc/NEWS.d/next/Documentation/2018-02-03-06-11-37.bpo-8722.MPyVyj.rst b/Misc/NEWS.d/next/Documentation/2018-02-03-06-11-37.bpo-8722.MPyVyj.rst deleted file mode 100644 index 36e6ff7..0000000 --- a/Misc/NEWS.d/next/Documentation/2018-02-03-06-11-37.bpo-8722.MPyVyj.rst +++ /dev/null @@ -1,2 +0,0 @@ -Document :meth:`__getattr__` behavior when property :meth:`get` method -raises :exc:`AttributeError`. diff --git a/Misc/NEWS.d/next/Documentation/2018-02-10-15-16-04.bpo-32800.FyrqCk.rst b/Misc/NEWS.d/next/Documentation/2018-02-10-15-16-04.bpo-32800.FyrqCk.rst deleted file mode 100644 index eac1107..0000000 --- a/Misc/NEWS.d/next/Documentation/2018-02-10-15-16-04.bpo-32800.FyrqCk.rst +++ /dev/null @@ -1 +0,0 @@ -Update link to w3c doc for xml default namespaces. diff --git a/Misc/NEWS.d/next/Documentation/2018-02-23-12-48-03.bpo-17232.tmuTKL.rst b/Misc/NEWS.d/next/Documentation/2018-02-23-12-48-03.bpo-17232.tmuTKL.rst deleted file mode 100644 index 5c14e91..0000000 --- a/Misc/NEWS.d/next/Documentation/2018-02-23-12-48-03.bpo-17232.tmuTKL.rst +++ /dev/null @@ -1 +0,0 @@ -Clarify docs for -O and -OO. Patch by Terry Reedy. diff --git a/Misc/NEWS.d/next/IDLE/2018-02-04-17-52-54.bpo-32765.qm0eCu.rst b/Misc/NEWS.d/next/IDLE/2018-02-04-17-52-54.bpo-32765.qm0eCu.rst deleted file mode 100644 index 1bd6b09..0000000 --- a/Misc/NEWS.d/next/IDLE/2018-02-04-17-52-54.bpo-32765.qm0eCu.rst +++ /dev/null @@ -1 +0,0 @@ -Update configdialog General tab docstring to add new widgets to the widget list. diff --git a/Misc/NEWS.d/next/IDLE/2018-02-12-11-05-22.bpo-32826.IxNZrk.rst b/Misc/NEWS.d/next/IDLE/2018-02-12-11-05-22.bpo-32826.IxNZrk.rst deleted file mode 100644 index 4310ed2..0000000 --- a/Misc/NEWS.d/next/IDLE/2018-02-12-11-05-22.bpo-32826.IxNZrk.rst +++ /dev/null @@ -1,5 +0,0 @@ -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. diff --git a/Misc/NEWS.d/next/IDLE/2018-02-12-17-22-48.bpo-32837.-33QPl.rst b/Misc/NEWS.d/next/IDLE/2018-02-12-17-22-48.bpo-32837.-33QPl.rst deleted file mode 100644 index 258536a..0000000 --- a/Misc/NEWS.d/next/IDLE/2018-02-12-17-22-48.bpo-32837.-33QPl.rst +++ /dev/null @@ -1,2 +0,0 @@ -Using the system and place-dependent default encoding for open() is a bad -idea for IDLE's system and location-independent files. diff --git a/Misc/NEWS.d/next/IDLE/2018-02-19-10-56-41.bpo-32874.6pZ9Gv.rst b/Misc/NEWS.d/next/IDLE/2018-02-19-10-56-41.bpo-32874.6pZ9Gv.rst deleted file mode 100644 index 7965531..0000000 --- a/Misc/NEWS.d/next/IDLE/2018-02-19-10-56-41.bpo-32874.6pZ9Gv.rst +++ /dev/null @@ -1 +0,0 @@ -Add tests for pyparse. diff --git a/Misc/NEWS.d/next/IDLE/2018-02-22-00-09-27.bpo-32905.VlXj0x.rst b/Misc/NEWS.d/next/IDLE/2018-02-22-00-09-27.bpo-32905.VlXj0x.rst deleted file mode 100644 index c9bedd9..0000000 --- a/Misc/NEWS.d/next/IDLE/2018-02-22-00-09-27.bpo-32905.VlXj0x.rst +++ /dev/null @@ -1 +0,0 @@ -Remove unused code in pyparse module. diff --git a/Misc/NEWS.d/next/IDLE/2018-02-23-07-32-36.bpo-32916.4MsQ5F.rst b/Misc/NEWS.d/next/IDLE/2018-02-23-07-32-36.bpo-32916.4MsQ5F.rst deleted file mode 100644 index 0832944..0000000 --- a/Misc/NEWS.d/next/IDLE/2018-02-23-07-32-36.bpo-32916.4MsQ5F.rst +++ /dev/null @@ -1 +0,0 @@ -Change ``str`` to ``code`` in pyparse. diff --git a/Misc/NEWS.d/next/IDLE/2018-02-24-18-20-50.bpo-32940.ZaJ1Rf.rst b/Misc/NEWS.d/next/IDLE/2018-02-24-18-20-50.bpo-32940.ZaJ1Rf.rst deleted file mode 100644 index 958f952..0000000 --- a/Misc/NEWS.d/next/IDLE/2018-02-24-18-20-50.bpo-32940.ZaJ1Rf.rst +++ /dev/null @@ -1 +0,0 @@ -Simplify and rename StringTranslatePseudoMapping in pyparse. diff --git a/Misc/NEWS.d/next/IDLE/2018-03-05-01-29-05.bpo-32984.NGjgT4.rst b/Misc/NEWS.d/next/IDLE/2018-03-05-01-29-05.bpo-32984.NGjgT4.rst deleted file mode 100644 index 15d40b7..0000000 --- a/Misc/NEWS.d/next/IDLE/2018-03-05-01-29-05.bpo-32984.NGjgT4.rst +++ /dev/null @@ -1,7 +0,0 @@ -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 - :envvar:`IDLESTARTUP` or :envvar:`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. diff --git a/Misc/NEWS.d/next/Library/2017-10-17-14-52-14.bpo-31802.sYj2Zv.rst b/Misc/NEWS.d/next/Library/2017-10-17-14-52-14.bpo-31802.sYj2Zv.rst deleted file mode 100644 index 77df6bb..0000000 --- a/Misc/NEWS.d/next/Library/2017-10-17-14-52-14.bpo-31802.sYj2Zv.rst +++ /dev/null @@ -1,2 +0,0 @@ -Importing native path module (``posixpath``, ``ntpath``) now works even if -the ``os`` module still is not imported. diff --git a/Misc/NEWS.d/next/Library/2017-10-30-15-55-32.bpo-31900.-S9xc4.rst b/Misc/NEWS.d/next/Library/2017-10-30-15-55-32.bpo-31900.-S9xc4.rst deleted file mode 100644 index 2d8e3ce..0000000 --- a/Misc/NEWS.d/next/Library/2017-10-30-15-55-32.bpo-31900.-S9xc4.rst +++ /dev/null @@ -1,9 +0,0 @@ -The :func:`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 :meth:`str.format` method when formatting a number -(:class:`int`, :class:`float`, :class:`float` and subclasses) with the ``n`` -type (ex: ``'{:n}'.format(1234)``). diff --git a/Misc/NEWS.d/next/Library/2017-11-02-11-57-41.bpo-27456.snzyTC.rst b/Misc/NEWS.d/next/Library/2017-11-02-11-57-41.bpo-27456.snzyTC.rst deleted file mode 100644 index fa7b561..0000000 --- a/Misc/NEWS.d/next/Library/2017-11-02-11-57-41.bpo-27456.snzyTC.rst +++ /dev/null @@ -1 +0,0 @@ -Ensure TCP_NODELAY is set on Linux. Tests by Victor Stinner. diff --git a/Misc/NEWS.d/next/Library/2017-12-04-12-23-26.bpo-32199.nGof4v.rst b/Misc/NEWS.d/next/Library/2017-12-04-12-23-26.bpo-32199.nGof4v.rst deleted file mode 100644 index d5f88ce..0000000 --- a/Misc/NEWS.d/next/Library/2017-12-04-12-23-26.bpo-32199.nGof4v.rst +++ /dev/null @@ -1 +0,0 @@ -The getnode() ip getter now uses 'ip link' instead of 'ip link list'. diff --git a/Misc/NEWS.d/next/Library/2017-12-11-09-53-14.bpo-32277.jkKiVC.rst b/Misc/NEWS.d/next/Library/2017-12-11-09-53-14.bpo-32277.jkKiVC.rst deleted file mode 100644 index 765527a..0000000 --- a/Misc/NEWS.d/next/Library/2017-12-11-09-53-14.bpo-32277.jkKiVC.rst +++ /dev/null @@ -1,3 +0,0 @@ -Raise ``NotImplementedError`` instead of ``SystemError`` on platforms where -``chmod(..., follow_symlinks=False)`` is not supported. Patch by Anthony -Sottile. diff --git a/Misc/NEWS.d/next/Library/2017-12-12-07-29-06.bpo-32255.2bfNmM.rst b/Misc/NEWS.d/next/Library/2017-12-12-07-29-06.bpo-32255.2bfNmM.rst deleted file mode 100644 index dafee67..0000000 --- a/Misc/NEWS.d/next/Library/2017-12-12-07-29-06.bpo-32255.2bfNmM.rst +++ /dev/null @@ -1,3 +0,0 @@ -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. diff --git a/Misc/NEWS.d/next/Library/2017-12-13-22-38-08.bpo-32302.othtTr.rst b/Misc/NEWS.d/next/Library/2017-12-13-22-38-08.bpo-32302.othtTr.rst deleted file mode 100644 index abe51f0..0000000 --- a/Misc/NEWS.d/next/Library/2017-12-13-22-38-08.bpo-32302.othtTr.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix bdist_wininst of distutils for CRT v142: it binary compatible with CRT -v140. diff --git a/Misc/NEWS.d/next/Library/2017-12-14-10-10-10.bpo-32323.ideco.rst b/Misc/NEWS.d/next/Library/2017-12-14-10-10-10.bpo-32323.ideco.rst deleted file mode 100644 index 3077d7c..0000000 --- a/Misc/NEWS.d/next/Library/2017-12-14-10-10-10.bpo-32323.ideco.rst +++ /dev/null @@ -1,2 +0,0 @@ -:func:`urllib.parse.urlsplit()` does not convert zone-id (scope) to lower case -for scoped IPv6 addresses in hostnames now. diff --git a/Misc/NEWS.d/next/Library/2017-12-20-09-25-10.bpo-32185.IL0cMt.rst b/Misc/NEWS.d/next/Library/2017-12-20-09-25-10.bpo-32185.IL0cMt.rst deleted file mode 100644 index bfb2533..0000000 --- a/Misc/NEWS.d/next/Library/2017-12-20-09-25-10.bpo-32185.IL0cMt.rst +++ /dev/null @@ -1,2 +0,0 @@ -The SSL module no longer sends IP addresses in SNI TLS extension on -platforms with OpenSSL 1.0.2+ or inet_pton. diff --git a/Misc/NEWS.d/next/Library/2017-12-21-11-08-42.bpo-26133.mt81QV.rst b/Misc/NEWS.d/next/Library/2017-12-21-11-08-42.bpo-26133.mt81QV.rst deleted file mode 100644 index 0653d19..0000000 --- a/Misc/NEWS.d/next/Library/2017-12-21-11-08-42.bpo-26133.mt81QV.rst +++ /dev/null @@ -1 +0,0 @@ -Don't unsubscribe signals in asyncio UNIX event loop on interpreter shutdown. diff --git a/Misc/NEWS.d/next/Library/2017-12-22-16-47-41.bpo-32228.waPx3q.rst b/Misc/NEWS.d/next/Library/2017-12-22-16-47-41.bpo-32228.waPx3q.rst deleted file mode 100644 index 3bbe7c4..0000000 --- a/Misc/NEWS.d/next/Library/2017-12-22-16-47-41.bpo-32228.waPx3q.rst +++ /dev/null @@ -1 +0,0 @@ -Ensure that ``truncate()`` preserves the file position (as reported by ``tell()``) after writes longer than the buffer size. diff --git a/Misc/NEWS.d/next/Library/2018-01-08-18-02-33.bpo-32521.Kh-KoN.rst b/Misc/NEWS.d/next/Library/2018-01-08-18-02-33.bpo-32521.Kh-KoN.rst deleted file mode 100644 index 5ca9bcf..0000000 --- a/Misc/NEWS.d/next/Library/2018-01-08-18-02-33.bpo-32521.Kh-KoN.rst +++ /dev/null @@ -1,2 +0,0 @@ -glibc has removed Sun RPC. Use replacement libtirpc headers and library in -nis module. diff --git a/Misc/NEWS.d/next/Library/2018-01-10-20-37-59.bpo-32473.mP_yJG.rst b/Misc/NEWS.d/next/Library/2018-01-10-20-37-59.bpo-32473.mP_yJG.rst deleted file mode 100644 index 95b9d45..0000000 --- a/Misc/NEWS.d/next/Library/2018-01-10-20-37-59.bpo-32473.mP_yJG.rst +++ /dev/null @@ -1 +0,0 @@ -Improve ABCMeta._dump_registry() output readability diff --git a/Misc/NEWS.d/next/Library/2018-01-15-12-53-13.bpo-32521.IxX4Ba.rst b/Misc/NEWS.d/next/Library/2018-01-15-12-53-13.bpo-32521.IxX4Ba.rst deleted file mode 100644 index ee70466..0000000 --- a/Misc/NEWS.d/next/Library/2018-01-15-12-53-13.bpo-32521.IxX4Ba.rst +++ /dev/null @@ -1 +0,0 @@ -The nis module is now compatible with new libnsl and headers location. diff --git a/Misc/NEWS.d/next/Library/2018-01-15-17-52-47.bpo-32555.CMq2zF.rst b/Misc/NEWS.d/next/Library/2018-01-15-17-52-47.bpo-32555.CMq2zF.rst deleted file mode 100644 index 054f8ca..0000000 --- a/Misc/NEWS.d/next/Library/2018-01-15-17-52-47.bpo-32555.CMq2zF.rst +++ /dev/null @@ -1,3 +0,0 @@ -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. diff --git a/Misc/NEWS.d/next/Library/2018-01-18-23-34-17.bpo-31848.M2cldy.rst b/Misc/NEWS.d/next/Library/2018-01-18-23-34-17.bpo-31848.M2cldy.rst deleted file mode 100644 index c8e61ac..0000000 --- a/Misc/NEWS.d/next/Library/2018-01-18-23-34-17.bpo-31848.M2cldy.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix the error handling in Aifc_read.initfp() when the SSND chunk is not found. -Patch by Zackery Spytz. diff --git a/Misc/NEWS.d/next/Library/2018-01-20-17-15-34.bpo-32502.OXJfn7.rst b/Misc/NEWS.d/next/Library/2018-01-20-17-15-34.bpo-32502.OXJfn7.rst deleted file mode 100644 index 8338632..0000000 --- a/Misc/NEWS.d/next/Library/2018-01-20-17-15-34.bpo-32502.OXJfn7.rst +++ /dev/null @@ -1,2 +0,0 @@ -uuid.uuid1 no longer raises an exception if a 64-bit hardware address is -encountered. diff --git a/Misc/NEWS.d/next/Library/2018-01-21-16-33-53.bpo-32304.TItrNv.rst b/Misc/NEWS.d/next/Library/2018-01-21-16-33-53.bpo-32304.TItrNv.rst deleted file mode 100644 index c199a64..0000000 --- a/Misc/NEWS.d/next/Library/2018-01-21-16-33-53.bpo-32304.TItrNv.rst +++ /dev/null @@ -1,2 +0,0 @@ -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. diff --git a/Misc/NEWS.d/next/Library/2018-01-25-21-04-11.bpo-27931.e4r52t.rst b/Misc/NEWS.d/next/Library/2018-01-25-21-04-11.bpo-27931.e4r52t.rst deleted file mode 100644 index 7324247..0000000 --- a/Misc/NEWS.d/next/Library/2018-01-25-21-04-11.bpo-27931.e4r52t.rst +++ /dev/null @@ -1 +0,0 @@ -Fix email address header parsing error when the username is an empty quoted string. Patch by Xiang Zhang. diff --git a/Misc/NEWS.d/next/Library/2018-01-30-17-46-18.bpo-32727.aHVsRC.rst b/Misc/NEWS.d/next/Library/2018-01-30-17-46-18.bpo-32727.aHVsRC.rst deleted file mode 100644 index 22c2196..0000000 --- a/Misc/NEWS.d/next/Library/2018-01-30-17-46-18.bpo-32727.aHVsRC.rst +++ /dev/null @@ -1 +0,0 @@ -Do not include name field in SMTP envelope from address. Patch by Stéphane Wirtel diff --git a/Misc/NEWS.d/next/Library/2018-02-01-01-34-47.bpo-32734.gCV9AD.rst b/Misc/NEWS.d/next/Library/2018-02-01-01-34-47.bpo-32734.gCV9AD.rst deleted file mode 100644 index 14d4bbd..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-01-01-34-47.bpo-32734.gCV9AD.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fixed ``asyncio.Lock()`` safety issue which allowed acquiring and locking -the same lock multiple times, without it being free. Patch by Bar Harel. diff --git a/Misc/NEWS.d/next/Library/2018-02-05-13-31-42.bpo-32647.ktmfR_.rst b/Misc/NEWS.d/next/Library/2018-02-05-13-31-42.bpo-32647.ktmfR_.rst deleted file mode 100644 index 04fc024..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-05-13-31-42.bpo-32647.ktmfR_.rst +++ /dev/null @@ -1,2 +0,0 @@ -The ctypes module used to depend on indirect linking for dlopen. The shared -extension is now explicitly linked against libdl on platforms with dl. diff --git a/Misc/NEWS.d/next/Library/2018-02-05-21-28-28.bpo-32777.C-wIXF.rst b/Misc/NEWS.d/next/Library/2018-02-05-21-28-28.bpo-32777.C-wIXF.rst deleted file mode 100644 index d5d7d7b..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-05-21-28-28.bpo-32777.C-wIXF.rst +++ /dev/null @@ -1,3 +0,0 @@ -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. diff --git a/Misc/NEWS.d/next/Library/2018-02-08-08-18-26.bpo-32394.6E_7X7.rst b/Misc/NEWS.d/next/Library/2018-02-08-08-18-26.bpo-32394.6E_7X7.rst deleted file mode 100644 index f7fb42d..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-08-08-18-26.bpo-32394.6E_7X7.rst +++ /dev/null @@ -1,2 +0,0 @@ -socket: Remove TCP_FASTOPEN, TCP_KEEPCNT flags on older version Windows -during run-time. diff --git a/Misc/NEWS.d/next/Library/2018-02-09-14-44-43.bpo-30157.lEiiAK.rst b/Misc/NEWS.d/next/Library/2018-02-09-14-44-43.bpo-30157.lEiiAK.rst deleted file mode 100644 index 9f65193..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-09-14-44-43.bpo-30157.lEiiAK.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fixed guessing quote and delimiter in csv.Sniffer.sniff() when only the last -field is quoted. Patch by Jake Davis. diff --git a/Misc/NEWS.d/next/Library/2018-02-09-21-41-56.bpo-31787.owSZ2t.rst b/Misc/NEWS.d/next/Library/2018-02-09-21-41-56.bpo-31787.owSZ2t.rst deleted file mode 100644 index f0cde59..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-09-21-41-56.bpo-31787.owSZ2t.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fixed refleaks of ``__init__()`` methods in various modules. -(Contributed by Oren Milman) diff --git a/Misc/NEWS.d/next/Library/2018-02-14-00-21-24.bpo-32841.bvHDOc.rst b/Misc/NEWS.d/next/Library/2018-02-14-00-21-24.bpo-32841.bvHDOc.rst deleted file mode 100644 index a6d4566..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-14-00-21-24.bpo-32841.bvHDOc.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fixed `asyncio.Condition` issue which silently ignored cancellation after -notifying and cancelling a conditional lock. Patch by Bar Harel. diff --git a/Misc/NEWS.d/next/Library/2018-02-15-12-04-29.bpo-32852.HDqIxM.rst b/Misc/NEWS.d/next/Library/2018-02-15-12-04-29.bpo-32852.HDqIxM.rst deleted file mode 100644 index 8eabbfa..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-15-12-04-29.bpo-32852.HDqIxM.rst +++ /dev/null @@ -1 +0,0 @@ -Make sure sys.argv remains as a list when running trace. diff --git a/Misc/NEWS.d/next/Library/2018-02-16-14-37-14.bpo-32857.-XljAx.rst b/Misc/NEWS.d/next/Library/2018-02-16-14-37-14.bpo-32857.-XljAx.rst deleted file mode 100644 index 4ebbde4..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-16-14-37-14.bpo-32857.-XljAx.rst +++ /dev/null @@ -1 +0,0 @@ -In :mod:`tkinter`, ``after_cancel(None)`` now raises a :exc:`ValueError` instead of canceling the first scheduled function. Patch by Cheryl Sabella. diff --git a/Misc/NEWS.d/next/Library/2018-02-17-19-20-19.bpo-21060.S1Z-x6.rst b/Misc/NEWS.d/next/Library/2018-02-17-19-20-19.bpo-21060.S1Z-x6.rst deleted file mode 100644 index 4e0a113..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-17-19-20-19.bpo-21060.S1Z-x6.rst +++ /dev/null @@ -1,3 +0,0 @@ -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". diff --git a/Misc/NEWS.d/next/Library/2018-02-19-17-46-31.bpo-32859.kAT-Xp.rst b/Misc/NEWS.d/next/Library/2018-02-19-17-46-31.bpo-32859.kAT-Xp.rst deleted file mode 100644 index 755bdc1..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-19-17-46-31.bpo-32859.kAT-Xp.rst +++ /dev/null @@ -1,2 +0,0 @@ -In ``os.dup2``, don't check every call whether the ``dup3`` syscall exists -or not. diff --git a/Misc/NEWS.d/next/Library/2018-02-23-19-12-04.bpo-32922.u-xe0B.rst b/Misc/NEWS.d/next/Library/2018-02-23-19-12-04.bpo-32922.u-xe0B.rst deleted file mode 100644 index 412e588..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-23-19-12-04.bpo-32922.u-xe0B.rst +++ /dev/null @@ -1,2 +0,0 @@ -dbm.open() now encodes filename with the filesystem encoding rather than -default encoding. diff --git a/Misc/NEWS.d/next/Library/2018-02-24-21-40-42.bpo-30622.dQjxSe.rst b/Misc/NEWS.d/next/Library/2018-02-24-21-40-42.bpo-30622.dQjxSe.rst deleted file mode 100644 index bcb659b..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-24-21-40-42.bpo-30622.dQjxSe.rst +++ /dev/null @@ -1 +0,0 @@ -The ssl module now detects missing NPN support in LibreSSL. diff --git a/Misc/NEWS.d/next/Library/2018-02-26-13-16-36.bpo-32713.55yegW.rst b/Misc/NEWS.d/next/Library/2018-02-26-13-16-36.bpo-32713.55yegW.rst deleted file mode 100644 index bb5d64a..0000000 --- a/Misc/NEWS.d/next/Library/2018-02-26-13-16-36.bpo-32713.55yegW.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed tarfile.itn handling of out-of-bounds float values. Patch by Joffrey Fuhrer. diff --git a/Misc/NEWS.d/next/Library/2018-03-06-00-19-41.bpo-32969.rGTKa0.rst b/Misc/NEWS.d/next/Library/2018-03-06-00-19-41.bpo-32969.rGTKa0.rst deleted file mode 100644 index a92307e..0000000 --- a/Misc/NEWS.d/next/Library/2018-03-06-00-19-41.bpo-32969.rGTKa0.rst +++ /dev/null @@ -1,2 +0,0 @@ -Expose several missing constants in zlib and fix corresponding -documentation. diff --git a/Misc/NEWS.d/next/Library/2018-03-06-11-54-59.bpo-33009.-Ekysb.rst b/Misc/NEWS.d/next/Library/2018-03-06-11-54-59.bpo-33009.-Ekysb.rst deleted file mode 100644 index 96bc70a..0000000 --- a/Misc/NEWS.d/next/Library/2018-03-06-11-54-59.bpo-33009.-Ekysb.rst +++ /dev/null @@ -1 +0,0 @@ -Fix inspect.signature() for single-parameter partialmethods. diff --git a/Misc/NEWS.d/next/Library/2018-03-08-09-54-01.bpo-30353.XdE5aM.rst b/Misc/NEWS.d/next/Library/2018-03-08-09-54-01.bpo-30353.XdE5aM.rst deleted file mode 100644 index ddb625c..0000000 --- a/Misc/NEWS.d/next/Library/2018-03-08-09-54-01.bpo-30353.XdE5aM.rst +++ /dev/null @@ -1 +0,0 @@ -Fix ctypes pass-by-value for structs on 64-bit Cygwin/MinGW. diff --git a/Misc/NEWS.d/next/Library/2018-03-09-23-07-07.bpo-33037.nAJ3at.rst b/Misc/NEWS.d/next/Library/2018-03-09-23-07-07.bpo-33037.nAJ3at.rst deleted file mode 100644 index 2732eeb..0000000 --- a/Misc/NEWS.d/next/Library/2018-03-09-23-07-07.bpo-33037.nAJ3at.rst +++ /dev/null @@ -1 +0,0 @@ -Skip sending/receiving data after SSL transport closing. diff --git a/Misc/NEWS.d/next/Library/2018-03-11-19-03-52.bpo-31804.i8KUMp.rst b/Misc/NEWS.d/next/Library/2018-03-11-19-03-52.bpo-31804.i8KUMp.rst deleted file mode 100644 index 7fcede2..0000000 --- a/Misc/NEWS.d/next/Library/2018-03-11-19-03-52.bpo-31804.i8KUMp.rst +++ /dev/null @@ -1,2 +0,0 @@ -Avoid failing in multiprocessing.Process if the standard streams are closed -or None at exit. diff --git a/Misc/NEWS.d/next/Library/2018-03-12-19-58-25.bpo-33064.LO2KIY.rst b/Misc/NEWS.d/next/Library/2018-03-12-19-58-25.bpo-33064.LO2KIY.rst deleted file mode 100644 index c8e955e..0000000 --- a/Misc/NEWS.d/next/Library/2018-03-12-19-58-25.bpo-33064.LO2KIY.rst +++ /dev/null @@ -1,2 +0,0 @@ -lib2to3 now properly supports trailing commas after ``*args`` and -``**kwargs`` in function signatures. diff --git a/Misc/NEWS.d/next/Security/2018-03-02-10-24-52.bpo-32981.O_qDyj.rst b/Misc/NEWS.d/next/Security/2018-03-02-10-24-52.bpo-32981.O_qDyj.rst deleted file mode 100644 index 9ebabb4..0000000 --- a/Misc/NEWS.d/next/Security/2018-03-02-10-24-52.bpo-32981.O_qDyj.rst +++ /dev/null @@ -1,4 +0,0 @@ -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. diff --git a/Misc/NEWS.d/next/Security/2018-03-05-10-09-51.bpo-33001.elj4Aa.rst b/Misc/NEWS.d/next/Security/2018-03-05-10-09-51.bpo-33001.elj4Aa.rst deleted file mode 100644 index 2acbac9..0000000 --- a/Misc/NEWS.d/next/Security/2018-03-05-10-09-51.bpo-33001.elj4Aa.rst +++ /dev/null @@ -1 +0,0 @@ -Minimal fix to prevent buffer overrun in os.symlink on Windows diff --git a/Misc/NEWS.d/next/Tests/2017-09-19-20-48-50.bpo-31518.KwTMMz.rst b/Misc/NEWS.d/next/Tests/2017-09-19-20-48-50.bpo-31518.KwTMMz.rst deleted file mode 100644 index 7378df0..0000000 --- a/Misc/NEWS.d/next/Tests/2017-09-19-20-48-50.bpo-31518.KwTMMz.rst +++ /dev/null @@ -1,3 +0,0 @@ -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. diff --git a/Misc/NEWS.d/next/Tests/2017-12-11-13-31-33.bpo-32252.YnFw7J.rst b/Misc/NEWS.d/next/Tests/2017-12-11-13-31-33.bpo-32252.YnFw7J.rst deleted file mode 100644 index ee4c56b..0000000 --- a/Misc/NEWS.d/next/Tests/2017-12-11-13-31-33.bpo-32252.YnFw7J.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix faulthandler_suppress_crash_report() used to prevent core dump files -when testing crashes. getrlimit() returns zero on success. diff --git a/Misc/NEWS.d/next/Tests/2018-01-29-21-30-44.bpo-32721.2Bebm1.rst b/Misc/NEWS.d/next/Tests/2018-01-29-21-30-44.bpo-32721.2Bebm1.rst deleted file mode 100644 index f4bf6aa..0000000 --- a/Misc/NEWS.d/next/Tests/2018-01-29-21-30-44.bpo-32721.2Bebm1.rst +++ /dev/null @@ -1 +0,0 @@ -Fix test_hashlib to not fail if the _md5 module is not built. diff --git a/Misc/NEWS.d/next/Tests/2018-03-09-07-05-12.bpo-32517.ugc1iW.rst b/Misc/NEWS.d/next/Tests/2018-03-09-07-05-12.bpo-32517.ugc1iW.rst deleted file mode 100644 index 43f148f..0000000 --- a/Misc/NEWS.d/next/Tests/2018-03-09-07-05-12.bpo-32517.ugc1iW.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix failing ``test_asyncio`` on macOS 10.12.2+ due to transport of -``KqueueSelector`` loop was not being closed. diff --git a/Misc/NEWS.d/next/Tools-Demos/2017-12-07-20-51-20.bpo-32222.hPBcGT.rst b/Misc/NEWS.d/next/Tools-Demos/2017-12-07-20-51-20.bpo-32222.hPBcGT.rst deleted file mode 100644 index b0b4c5e..0000000 --- a/Misc/NEWS.d/next/Tools-Demos/2017-12-07-20-51-20.bpo-32222.hPBcGT.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix pygettext not extracting docstrings for functions with type annotated -arguments. -Patch by Toby Harradine. diff --git a/Misc/NEWS.d/next/Tools-Demos/2017-12-22-09-25-51.bpo-24960.TGdAgO.rst b/Misc/NEWS.d/next/Tools-Demos/2017-12-22-09-25-51.bpo-24960.TGdAgO.rst deleted file mode 100644 index 6f9d83c..0000000 --- a/Misc/NEWS.d/next/Tools-Demos/2017-12-22-09-25-51.bpo-24960.TGdAgO.rst +++ /dev/null @@ -1,3 +0,0 @@ -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. diff --git a/Misc/NEWS.d/next/Windows/2018-01-18-14-56-45.bpo-32588.vHww6F.rst b/Misc/NEWS.d/next/Windows/2018-01-18-14-56-45.bpo-32588.vHww6F.rst deleted file mode 100644 index 18e717a..0000000 --- a/Misc/NEWS.d/next/Windows/2018-01-18-14-56-45.bpo-32588.vHww6F.rst +++ /dev/null @@ -1 +0,0 @@ -Create standalone _distutils_findvs module. diff --git a/Misc/NEWS.d/next/Windows/2018-02-07-17-50-48.bpo-29248.Xzwj-6.rst b/Misc/NEWS.d/next/Windows/2018-02-07-17-50-48.bpo-29248.Xzwj-6.rst deleted file mode 100644 index 3030ef6..0000000 --- a/Misc/NEWS.d/next/Windows/2018-02-07-17-50-48.bpo-29248.Xzwj-6.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix :func:`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. diff --git a/Misc/NEWS.d/next/Windows/2018-02-10-15-38-19.bpo-32370.kcKuct.rst b/Misc/NEWS.d/next/Windows/2018-02-10-15-38-19.bpo-32370.kcKuct.rst deleted file mode 100644 index 7f076d4..0000000 --- a/Misc/NEWS.d/next/Windows/2018-02-10-15-38-19.bpo-32370.kcKuct.rst +++ /dev/null @@ -1,2 +0,0 @@ -Use the correct encoding for ipconfig output in the uuid module. -Patch by Segev Finer. diff --git a/Misc/NEWS.d/next/Windows/2018-02-19-08-54-06.bpo-32457.vVP0Iz.rst b/Misc/NEWS.d/next/Windows/2018-02-19-08-54-06.bpo-32457.vVP0Iz.rst deleted file mode 100644 index b55ec82..0000000 --- a/Misc/NEWS.d/next/Windows/2018-02-19-08-54-06.bpo-32457.vVP0Iz.rst +++ /dev/null @@ -1 +0,0 @@ -Improves handling of denormalized executable path when launching Python. diff --git a/Misc/NEWS.d/next/Windows/2018-02-19-10-00-57.bpo-32409.nocuDg.rst b/Misc/NEWS.d/next/Windows/2018-02-19-10-00-57.bpo-32409.nocuDg.rst deleted file mode 100644 index 36251b0..0000000 --- a/Misc/NEWS.d/next/Windows/2018-02-19-10-00-57.bpo-32409.nocuDg.rst +++ /dev/null @@ -1 +0,0 @@ -Ensures activate.bat can handle Unicode contents. diff --git a/Misc/NEWS.d/next/Windows/2018-02-19-13-54-42.bpo-31966._Q3HPb.rst b/Misc/NEWS.d/next/Windows/2018-02-19-13-54-42.bpo-31966._Q3HPb.rst deleted file mode 100644 index 042a4d8..0000000 --- a/Misc/NEWS.d/next/Windows/2018-02-19-13-54-42.bpo-31966._Q3HPb.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed WindowsConsoleIO.write() for writing empty data. diff --git a/Misc/NEWS.d/next/Windows/2018-02-28-11-03-24.bpo-32903.1SXY4t.rst b/Misc/NEWS.d/next/Windows/2018-02-28-11-03-24.bpo-32903.1SXY4t.rst deleted file mode 100644 index a20a414..0000000 --- a/Misc/NEWS.d/next/Windows/2018-02-28-11-03-24.bpo-32903.1SXY4t.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix a memory leak in os.chdir() on Windows if the current directory is set -to a UNC path. diff --git a/Misc/NEWS.d/next/Windows/2018-03-07-01-33-33.bpo-33016.Z_Med0.rst b/Misc/NEWS.d/next/Windows/2018-03-07-01-33-33.bpo-33016.Z_Med0.rst deleted file mode 100644 index f4f78d4..0000000 --- a/Misc/NEWS.d/next/Windows/2018-03-07-01-33-33.bpo-33016.Z_Med0.rst +++ /dev/null @@ -1 +0,0 @@ -Fix potential use of uninitialized memory in nt._getfinalpathname diff --git a/Misc/NEWS.d/next/macOS/2018-03-13-21-00-20.bpo-32726.Mticyn.rst b/Misc/NEWS.d/next/macOS/2018-03-13-21-00-20.bpo-32726.Mticyn.rst deleted file mode 100644 index f2d096a..0000000 --- a/Misc/NEWS.d/next/macOS/2018-03-13-21-00-20.bpo-32726.Mticyn.rst +++ /dev/null @@ -1,4 +0,0 @@ -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. diff --git a/README.rst b/README.rst index 30e694e..248fe27 100644 --- a/README.rst +++ b/README.rst @@ -1,5 +1,5 @@ -This is Python version 3.6.4 -============================ +This is Python version 3.6.5 release candidate 1 +================================================ .. image:: https://travis-ci.org/python/cpython.svg?branch=3.6 :alt: CPython build status on Travis CI -- cgit v0.12