pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: pkgsrc/lang/python37



Hello Adam,

Adam Ciarcinski writes:
> [...]
> Log Message:
> python37: updated to 3.7.5
>
> Python 3.7.5 is the fifth and most recent maintenance release of Python 3.7. The Python 3.7 series contains many new features and optimizations.
> [...]

Thanks for updating it!

JFTR the complete changelog (at least several entries are probably
interesting):


Python 3.7.5 final
------------------
Library
  * bpo-38368: Prevent ctypes crash when handling arrays in structs/unions.
  * bpo-38449: Revert GH-15522, which introduces a regression in
    mimetypes.guess_type() due to improper handling of filenames as urls.

Windows
  * bpo-38344: Fix syntax in activate.bat.

Python 3.7.5 release candidate 1
--------------------------------
Security
  * bpo-38243: Escape the server title of xmlrpc.server.DocXMLRPCServer when
    rendering the document page as HTML. (Contributed by Dong-hee Na in
    bpo-38243.)
  * bpo-38174: Update vendorized expat library version to 2.2.8, which resolves
    CVE-2019-15903.
  * bpo-37764: Fixes email._header_value_parser.get_unstructured going into an
    infinite loop for a specific case in which the email header does not have
    trailing whitespace, and the case in which it contains an invalid encoded
    word. Patch by Ashwin Ramaswami.
  * bpo-37461: Fix an infinite loop when parsing specially crafted email
    headers. Patch by Abhilash Raj.
  * bpo-34155: Fix parsing of invalid email addresses with more than one @
    (e.g. a@b%c.com@localhost.) to not return the part before 2nd @ as valid email
    address. Patch by maxking & jpic.

Core and Builtins
  * bpo-36871: Improve error handling for the assert_has_calls method of mocks.
    Fixed a bug where any errors encountered while binding the expected calls
    to the mock’s spec were silently swallowed, leading to misleading error
    output.
  * bpo-38013: Allow to call async_generator_athrow().throw(...) even for
    non-started async generator helper. It fixes annoying warning at the end of
    asyncio.run() call.
  * bpo-38124: Fix an off-by-one error in PyState_AddModule that could cause
    out-of-bounds memory access.
  * bpo-36946: Fix possible signed integer overflow when handling slices. Patch
    by hongweipeng.
  * bpo-37409: Ensure explicit relative imports from interactive sessions and
    scripts (having no parent package) always raise ImportError, rather than
    treating the current module as the package. Patch by Ben Lewis.
  * bpo-36311: Decoding bytes objects larger than 2GiB is faster and no longer
    fails when a multibyte characters spans a chunk boundary.
  * bpo-37467: Fix sys.excepthook() and PyErr_Display() if a filename is a
    bytes string. For example, for a SyntaxError exception where the filename
    attribute is a bytes string.
  * bpo-37417: bytearray.extend() now correctly handles errors that arise
    during iteration. Patch by Brandt Bucher.
  * bpo-20523: pdb.Pdb supports ~/.pdbrc in Windows 7. Patch by Tim Hopper and
    Dan Lidral-Porter.

Library
  * bpo-38019: Correctly handle pause/resume reading of closed asyncio unix
    pipe.
  * bpo-38216: Allow the rare code that wants to send invalid http requests
    from the http.client library a way to do so. The fixes for bpo-30458 led to
    breakage for some projects that were relying on this ability to test their
    own behavior in the face of bad requests.
  * bpo-38191: Constructor of NamedTuple type now accepts arbitrary keyword
    argument names, including “cls”, “self”, “typename” and “fields”.
  * bpo-38185: Fixed case-insensitive string comparison in sqlite3.Row
    indexing.
  * bpo-38175: Fix a memory leak in comparison of sqlite3.Row objects.
  * bpo-33936: _hashlib no longer calls obsolete OpenSSL initialization
    function with OpenSSL 1.1.0+.
  * bpo-34706: Preserve subclassing in inspect.Signature.from_callable.
  * bpo-38059: inspect.py now uses sys.exit() instead of exit()
  * bpo-38006: weakref.WeakValueDictionary defines a local remove() function
    used as callback for weak references. This function was created with a
    closure. Modify the implementation to avoid the closure.
  * bpo-34410: Fixed a crash in the tee() iterator when re-enter it.
    RuntimeError is now raised in this case.
  * bpo-37965: Fix C compiler warning caused by
    distutils.ccompiler.CCompiler.has_function.
  * bpo-36205: Fix the rusage implementation of time.process_time() to
    correctly report the sum of the system and user CPU time.
  * bpo-22347: Update mimetypes.guess_type to allow proper parsing of URLs with
    only a host name. Patch by Dong-hee Na.
  * bpo-37950: Fix ast.dump() when call with incompletely initialized node.
  * bpo-37915: Fix a segmentation fault that appeared when comparing instances
    of datetime.timezone and datetime.tzinfo objects. Patch by Pablo Galindo.
  * bpo-37885: venv: Don’t generate unset variable warning on deactivate.
  * bpo-37868: Fix dataclasses.is_dataclass when given an instance that never
    raises AttributeError in __getattr__. That is, an object that returns
    something for __dataclass_fields__ even if it’s not a dataclass.
  * bpo-37811: Fix socket module’s socket.connect(address) function being
    unable to establish connection in case of interrupted system call. The
    problem was observed on all OSes which poll(2) system call can take only
    non-negative integers and -1 as a timeout value.
  * bpo-21131: Fix faulthandler.register(chain=True) stack. faulthandler now
    allocates a dedicated stack of SIGSTKSZ*2 bytes, instead of just SIGSTKSZ
    bytes. Calling the previous signal handler in faulthandler signal handler
    uses more than SIGSTKSZ bytes of stack memory on some platforms.
  * bpo-34621: Fixed unpickle-ability in older Python versions (<3.7) of UUID
    objects with is_safe set to SafeUUID.unknown.
  * bpo-37738: Fix the implementation of curses addch(str, color_pair): pass
    the color pair to setcchar(), instead of always passing 0 as the color
    pair.
  * bpo-37723: Fix performance regression on regular expression parsing with
    huge character sets. Patch by Yann Vaginay.
  * bpo-32178: Fix IndexError in email package when trying to parse invalid
    address fields starting with :.
  * bpo-37685: Fixed comparisons of datetime.timedelta and datetime.timezone.
  * bpo-37695: Correct curses.unget_wch() error message. Patch by Anthony
    Sottile.
  * bpo-29553: Fixed argparse.ArgumentParser.format_usage() for mutually
    exclusive groups. Patch by Andrew Nester.
  * bpo-37664: Update wheels bundled with ensurepip (pip 19.2.3 and setuptools
    41.2.0)
  * bpo-37642: Allowed the pure Python implementation of datetime.timezone to
    represent sub-minute offsets close to minimum and maximum boundaries,
    specifically in the ranges (23:59, 24:00) and (-23:59, 24:00). Patch by
    Ngalim Siregar
  * bpo-37491: Fix IndexError when parsing email headers with unexpectedly
    ending bare-quoted string value. Patch by Abhilash Raj.
  * bpo-18378: Recognize “UTF-8” as a valid value for LC_CTYPE in
    locale._parse_localename.
  * bpo-37579: Return NotImplemented in Python implementation of __eq__ for
    timedelta and time when the other object being compared is not of the same
    type to match C implementation. Patch by Karthikeyan Singaravelan.
  * bpo-21478: Record calls to parent when autospecced object is attached to a
    mock using unittest.mock.attach_mock(). Patch by Karthikeyan Singaravelan.
  * bpo-37531: “python3 -m test -jN –timeout=TIMEOUT” now kills a worker
    process if it runs longer than TIMEOUT seconds.
  * bpo-37482: Fix serialization of display name in originator or destination
    address fields with both encoded words and special chars.
  * bpo-37424: Fixes a possible hang when using a timeout on subprocess.run()
    while capturing output. If the child process spawned its own children or
    otherwise connected its stdout or stderr handles with another process, we
    could hang after the timeout was reached and our child was killed when
    attempting to read final output from the pipes.
  * bpo-37421: Fix multiprocessing.util.get_temp_dir() finalizer: clear also
    the ‘tempdir’ configuration of the current process, so next call to 
    get_temp_dir() will create a new temporary directory, rather than reusing
    the removed temporary directory.
  * bpo-37420: os.sched_setaffinity() now correctly handles errors that arise
    during iteration over its mask argument. Patch by Brandt Bucher.
  * bpo-29412: Fix IndexError in parsing a header value ending unexpectedly.
    Patch by Abhilash Raj.
  * bpo-37372: Fix error unpickling datetime.time objects from Python 2 with
    seconds>=24. Patch by Justin Blanchard.
  * bpo-27860: Fix IPv4Interface and IPv6Interface didn’t accept string mask
    when the argument is tuple.
  * bpo-33972: Email with single part but content-type set to multipart/*
    doesn’t raise AttributeError anymore.
  * bpo-21872: Fix lzma: module decompresses data incompletely. When
    decompressing a FORMAT_ALONE format file, and it doesn’t have the end
    marker, sometimes the last one to dozens bytes can’t be output. Patch by Ma
    Lin.
  * bpo-12144: Ensure cookies with expires attribute are handled in 
    CookieJar.make_cookies().
  * bpo-37163: dataclasses.replace() now supports the field named “obj”.
  * bpo-36871: Ensure method signature is used instead of constructor signature
    of a class while asserting mock object against method calls. Patch by
    Karthikeyan Singaravelan.
  * bpo-36564: Fix infinite loop in email header folding logic that would be
    triggered when an email policy’s max_line_length is not long enough to
    include the required markup and any values in the message. Patch by Paul
    Ganssle
  * bpo-35168: shlex.shlex.punctuation_chars is now a read-only property.
  * bpo-20504: Fixes a bug in cgi module when a multipart/form-data request has
    no Content-Length header.
  * bpo-4963: Fixed non-deterministic behavior related to mimetypes extension
    mapping and module reinitialization.

Documentation
  * bpo-26868: Fix example usage of PyModule_AddObject() to properly handle
    errors.
  * bpo-37979: Added a link to dateutil.parser.isoparse in the
    datetime.fromisoformat documentation. Patch by Paul Ganssle
  * bpo-37937: Mention frame.f_trace in sys.settrace() docs.
  * bpo-37726: Stop recommending getopt in the tutorial for command line
    argument parsing and promote argparse.
  * bpo-32910: Remove implementation-specific behaviour of how venv’s
    Deactivate works.
  * bpo-37256: Fix wording of arguments for Request in urllib.request
  * bpo-37284: Add a brief note to indicate that any new sys.implementation
    required attributes must go through the PEP process.
  * bpo-30088: Documented that mailbox.Maildir constructor doesn’t attempt to
    verify the maildir folder layout correctness. Patch by Sviatoslav
    Sydorenko.
  * bpo-37487: Fix PyList_GetItem index description to include 0.
  * bpo-37478: Added possible exceptions to the description of os.chdir().
  * bpo-37004: In the documentation for difflib, a note was added explicitly
    warning that the results of SequenceMatcher’s ratio method may depend on
    the order of the input strings.
  * bpo-35803: Document and test that tempfile functions may accept a path-like
    object for the dir argument. Patch by Anthony Sottile.
  * bpo-34293: Fix the Doc/Makefile regarding PAPER environment variable and
    PDF builds

Tests
  * bpo-38239: Fix test_gdb for Link Time Optimization (LTO) builds.
  * bpo-38275: test_ssl now handles disabled TLS/SSL versions better. OpenSSL’s
    crypto policy and run-time settings are recognized and tests for disabled
    versions are skipped. Tests also accept more TLS minimum_versions for
    platforms that override OpenSSL’s default with strict settings.
  * bpo-38271: The private keys for test_ssl were encrypted with 3DES in
    traditional PKCS#5 format. 3DES and the digest algorithm of PKCS#5 are
    blocked by some strict crypto policies. Use PKCS#8 format with AES256
    encryption instead.
  * bpo-37123: Multiprocessing test test_mymanager() now also expects -SIGTERM,
    not only exitcode 0. BaseManager._finalize_manager() sends SIGTERM to the
    manager process if it takes longer than 1 second to stop, which happens on
    slow buildbots.
  * bpo-38212: Multiprocessing tests: increase
    test_queue_feeder_donot_stop_onexc() timeout from 1 to 60 seconds.
  * bpo-38117: Test with OpenSSL 1.1.1d
  * bpo-37805: Add tests for json.dump(…, skipkeys=True). Patch by Dong-hee Na.
  * bpo-37531: Enhance regrtest multiprocess timeout: write a message when
    killing a worker process, catch popen.kill() and popen.wait() exceptions,
    put a timeout on the second call to popen.communicate().
  * bpo-37335: Improve locale coercion tests by using codec lookup instead of
    more fragile replace().
  * bpo-37411: Fix test_wsgiref.testEnviron() to no longer depend on the
    environment variables (don’t fail if “X” variable is set).
  * bpo-37400: Fix test_os.test_chown(): use os.getgroups() rather than
    grp.getgrall() to get groups. Rename also the test to test_chown_gid().
  * bpo-37359: Add –cleanup option to python3 -m test to remove test_python_*
    directories of previous failed jobs. Add “make cleantest” to run python3 -m
    test --cleanup.
  * bpo-37362: test_gdb no longer fails if it gets an “unexpected” message on
    stderr: it now ignores stderr. The purpose of test_gdb is to test that
    python-gdb.py commands work as expected, not to test gdb.
  * bpo-36919: Make test_source_encoding.test_issue2301 implementation
    independent. The test will work now for both CPython and IronPython.
  * bpo-34720: Assert m_state != NULL to mimic GC traversal functions that do
    not correctly handle module creation when the module state has not been
    created.
  * bpo-34347: Fix test_utf8_mode.test_cmd_line for AIX. Patch by M. Felt

Build
  * bpo-38301: In Solaris family, we must be sure to use -D_REENTRANT. Patch by
    Jesús Cea Avión.
  * bpo-36002: Locate llvm-profdata and llvm-ar binaries using AC_PATH_TOOL
    rather than AC_PATH_TARGET_TOOL.
  * bpo-37936: The .gitignore file no longer applies to any files that are in
    fact tracked in the Git repository. Patch by Greg Price.

Windows
  * bpo-38117: Update bundled OpenSSL to 1.1.1d
  * bpo-36634: venv activate.bat now works when the existing variables contain
    double quote characters.
  * bpo-38087: Fix case sensitivity in test_pathlib and test_ntpath.
  * bpo-38088: Fixes distutils not finding vcruntime140.dll with only the v142
    toolset installed.
  * bpo-37283: Ensure command-line and unattend.xml setting override previously
    detected states in Windows installer.
  * bpo-37705: Improve the implementation of winerror_to_errno().
  * bpo-37549: os.dup() no longer fails for standard streams on Windows 7.
  * bpo-37702: Fix memory leak on Windows in creating an SSLContext object or
    running urllib.request.urlopen(‘https://…’;).
  * bpo-10945: Officially drop support for creating bdist_wininst installers on
    non-Windows systems.
  * bpo-37445: Include the FORMAT_MESSAGE_IGNORE_INSERTS flag in FormatMessageW
    () calls.
  * bpo-37380: Don’t collect unfinished processes with subprocess._active on
    Windows to cleanup later. Patch by Ruslan Kuprieiev.
  * bpo-32587: Make winreg.REG_MULTI_SZ support zero-length strings.

macOS
  * bpo-38117: Updated OpenSSL to 1.1.1d in macOS installer.
  * bpo-38089: Move Azure Pipelines to latest VM versions and make macOS tests
    optional

IDLE
  * bpo-35379: When exiting IDLE, catch any AttributeError. One happens when
    EditorWindow.close is called twice. Printing a traceback, when IDLE is run
    from a terminal, is useless and annoying.
  * bpo-38183: To avoid problems, test_idle ignores the user config directory.
    It no longer tries to create or access .idlerc or any files within. Users
    must run IDLE to discover problems with saving settings.
  * bpo-38077: IDLE no longer adds ‘argv’ to the user namespace when
    initializing it. This bug only affected 3.7.4 and 3.8.0b2 to 3.8.0b4.
  * bpo-38041: Shell restart lines now fill the window width, always start with
    ‘=’, and avoid wrapping unnecessarily. The line will still wrap if the
    included file name is long relative to the width.
  * bpo-35771: To avoid occasional spurious test_idle failures on slower
    machines, increase the hover_delay in test_tooltip.
  * bpo-37824: Properly handle user input warnings in IDLE shell. Cease turning
    SyntaxWarnings into SyntaxErrors.
  * bpo-37929: IDLE Settings dialog now closes properly when there is no shell
    window.
  * bpo-37902: Add mousewheel scrolling for IDLE module, path, and stack
    browsers. Patch by George Zhang.
  * bpo-37849: Fixed completions list appearing too high or low when shown
    above the current line.
  * bpo-36419: Refactor IDLE autocomplete and improve testing.
  * bpo-37748: Reorder the Run menu. Put the most common choice, Run Module, at
    the top.
  * bpo-37692: Improve highlight config sample with example shell interaction
    and better labels for shell elements.
  * bpo-37628: Settings dialog no longer expands with font size.
  * bpo-37627: Initialize the Customize Run dialog with the command line
    arguments most recently entered before. The user can optionally edit before
    submitting them.
  * bpo-33610: Fix code context not showing the correct context when first
    toggled on.
  * bpo-37530: Optimize code context to reduce unneeded background activity.
    Font and highlight changes now occur along with text changes instead of
    after a random delay.
  * bpo-27452: Cleanup config.py by inlining RemoveFile and simplifying the
    handling of file in CreateConfigHandlers.
  * bpo-37325: Fix tab focus traversal order for help source and custom run
    dialogs.
  * bpo-17535: Add optional line numbers for IDLE editor windows. Windows open
    without line numbers unless set otherwise in the General tab of the
    configuration dialog.
  * bpo-26806: To compensate for stack frames added by IDLE and avoid possible
    problems with low recursion limits, add 30 to limits in the user code
    execution process. Subtract 30 when reporting recursion limits to make this
    addition mostly transparent.
  * bpo-36390: Gather Format menu functions into format.py. Combine
    paragraph.py, rstrip.py, and format methods from editor.py.

Tools/Demos
  * bpo-37803: pdb’s --help and --version long options now work.
  * bpo-37675: 2to3 now works when run from a zipped standard library.



Home | Main Index | Thread Index | Old Index