Skip to content
Permalink
master

Commits on Mar 24, 2021

  1. bpo-43452: Document the PyType_Lookup optimizations in the What's New…

    … for 3.10 (GH-24949)
    pablogsal committed Mar 24, 2021

Commits on Mar 23, 2021

  1. bpo-31861: Complete the C-API docs for PyObject_GetAiter and PyAiter_…

    …Check (GH-25004)
    pablogsal committed Mar 23, 2021
  2. bpo-43244: Add pycore_compile.h header file (GH-25000)

    Remove the compiler functions using "struct _mod" type, because the
    public AST C API was removed:
    
    * PyAST_Compile()
    * PyAST_CompileEx()
    * PyAST_CompileObject()
    * PyFuture_FromAST()
    * PyFuture_FromASTObject()
    
    These functions were undocumented and excluded from the limited C API.
    
    Rename functions:
    
    * PyAST_CompileObject() => _PyAST_Compile()
    * PyFuture_FromASTObject() => _PyFuture_FromAST()
    
    Moreover, _PyFuture_FromAST() is no longer exported (replace
    PyAPI_FUNC() with extern). _PyAST_Compile() remains exported for
    test_peg_generator.
    
    Remove also compatibility functions:
    
    * PyAST_Compile()
    * PyAST_CompileEx()
    * PyFuture_FromAST()
    vstinner committed Mar 23, 2021
  3. bpo-31861: Add aiter and anext to builtins (#23847)

    Co-authored-by: jab <jab@users.noreply.github.com>
    Co-authored-by: Daniel Pope <mauve@mauveweb.co.uk>
    Co-authored-by: Justin Wang <justin39@gmail.com>
    3 people committed Mar 23, 2021
    1
  4. bpo-43244: Remove ast.h, asdl.h, Python-ast.h headers (GH-24933)

    These functions were undocumented and excluded from the limited C
    API.
    
    Most names defined by these header files were not prefixed by "Py"
    and so could create names conflicts. For example, Python-ast.h
    defined a "Yield" macro which was conflict with the "Yield" name used
    by the Windows <winbase.h> header.
    
    Use the Python ast module instead.
    
    * Move Include/asdl.h to Include/internal/pycore_asdl.h.
    * Move Include/Python-ast.h to Include/internal/pycore_ast.h.
    * Remove ast.h header file.
    * pycore_symtable.h no longer includes Python-ast.h.
    vstinner committed Mar 23, 2021
  5. bpo-41718: Update runpy startup time What's New (GH-24998)

    vstinner committed Mar 23, 2021
  6. bpo-41718: runpy now imports pkgutil in functions (GH-24996)

    Reduce the number of modules imported by "python3 -m module".
    
    The runpy module no longer imports at startup (in the module body),
    but only in functions using it: _get_code_from_file() and run_path().
    vstinner committed Mar 23, 2021
  7. bpo-41718: subprocess imports grp and pwd on demand (GH-24987)

    The shutil and subprocess modules now only import the grp and pwd
    modules when they are needed, which is not the case by default in
    subprocess.
    vstinner committed Mar 23, 2021
  8. Clarify attribute docs on types.ModuleType (GH-24974)

    brettcannon committed Mar 23, 2021
  9. bpo-41718: libregrtest avoids importing datetime (GH-24985)

    * libregrtest reimplements datetime.timedelta.__str__()
    * support.testresult only imports datetime if USE_XML is true.
    vstinner committed Mar 23, 2021
  10. bpo-41718: Disable support.testresult XML output by default (GH-24982)

    RegressionTestResult.USE_XML must now be set to True to get the JUnit
    XML output.
    
    Reduce the number of imports when --junit-xml=FILE option is not
    used: 153 => 144 (-9).
    vstinner committed Mar 23, 2021
  11. bpo-41718: libregrtest runtest avoids import_helper (GH-24983)

    Inline import_helper.unload() in libregrtest.runtest to avoid one
    import.
    vstinner committed Mar 23, 2021

Commits on Mar 22, 2021

  1. bpo-41718: Reduce libregrtest runtest imports (GH-24980)

    Move clear_caches() from libregrtest.refleak to libregrtest.utils to
    avoid importing libregrtest.refleak when it's not needed.
    
    clear_caches() now only calls re.purge() if 're' is in sys.modules.
    vstinner committed Mar 22, 2021
  2. bpo-41718: regrtest saved_test_environment avoids imports (GH-24934)

    Reduce the number of modules imported by libregrtest.
    
    saved_test_environment no longer imports modules at startup, but try
    to get them from sys.modules. If an module is missing, skip the test.
    It also sets directly support.environment_altered.
    
    runtest() now now two saved_test_environment instances: one before
    importing the test module, one after importing it.
    
    Remove imports from test.libregrtest.save_env:
    
    * asyncio
    * logging
    * multiprocessing
    * shutil
    * sysconfig
    * urllib.request
    * warnings
    
    When a test method imports a module (ex: warnings) and the test
    has a side effect (ex: add a warnings filter), the side effect is not
    detected, because the module was not imported when Python
    enters the saved_test_environment context manager.
    vstinner committed Mar 22, 2021
  3. bpo-43555: Report the column offset for invalid line continuation cha…

    …racter (GH-24939)
    pablogsal committed Mar 22, 2021
  4. bpo-43591: Fix error location in interactive mode for errors at the e…

    …nd of the line (GH-24973)
    
    Co-authored-by: Erlend Egeberg Aasland
    pablogsal committed Mar 22, 2021
  5. Revert "bpo-40521: Make dtoa bigint free list per-interpreter (GH-24821

    …)" (GH-24964)
    
    This reverts commit 5bd1059.
    vstinner committed Mar 22, 2021
  6. bpo-43575: Use PEP 590 vectorcall to speed up map() (GH-24955)

    corona10 committed Mar 22, 2021
  7. bpo-43551: Fix PyImport_Import() for subinterpreters (GH-24929)

    Avoid static variables.
    JunyiXie committed Mar 22, 2021
  8. bpo-35134: Add include/cpython/compile.h (GH-24922)

    Move C API excluded from the limited C API from Include/compile.h
    to a new Include/cpython/compile.h header file.
    shihai1991 committed Mar 22, 2021
  9. bpo-43420: Simple optimizations for Fraction's arithmetics (GH-24779)

    bpo-43420: Implement standard transformations in + - * / that can often reduce the size of intermediate integers needed. For rationals with large components, this can yield dramatic speed improvements, but for small rationals can run 10-20% slower, due to increased fixed overheads in the longer-winded code. If those slowdowns turn out to be a problem, see the PR discussion for low-level implementation tricks that could cut other fixed overheads.
    
    Co-authored-by: Tim Peters <tim.peters@gmail.com>
    Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
    3 people committed Mar 22, 2021

Commits on Mar 21, 2021

  1. bpo-43422: Revert _decimal C API addition (GH-24960)

    Stefan Krah requested the reversal of these (unreleased) changes, quoting him:
    > The capsule API does not meet my testing standards, since I've focused
    on the upstream mpdecimal in the last couple of months.
    > Additionally, I'd like to refine the API, perhaps together with the
    Arrow community.
    
    Automerge-Triggered-By: GH:pitrou
    pitrou committed Mar 21, 2021
  2. bpo-43577: Fix deadlock with SSLContext._msg_callback and sni_callback (

    GH-24957)
    
    OpenSSL copies the internal message callback from SSL_CTX->msg_callback to
    SSL->msg_callback. SSL_set_SSL_CTX() does not update SSL->msg_callback
    to use the callback value of the new context.
    
    PySSL_set_context() now resets the callback and _PySSL_msg_callback()
    resets thread state in error path.
    
    Signed-off-by: Christian Heimes <christian@python.org>
    tiran committed Mar 21, 2021

Commits on Mar 20, 2021

  1. bpo-43542: Add heif/heic formats in mimetypes (GH-24917)

    * bpo-43542: Add heif/heic formats in mimetypes
    
    Add HEIF and HEIC format to list of media types. It has IANA registration.
    
    IANA: https://www.iana.org/assignments/media-types/image/heic
    HEIF Github: https://github.com/nokiatech/heif
    
    Co-authored-by: Gregory P. Smith <greg@krypto.org>
    martbln and gpshead committed Mar 20, 2021
  2. bpo-43571: Add IPPROTO_MPTCP macro (GH-24946)

    Add IPPROTO_MPTCP constant when defined in the system headers.
    RuiCunhaM committed Mar 20, 2021
  3. bpo-43517 (followup): Install additional test directory (GH-24950)

    Should fix some CI failures on buildbots that test an installed version of Python.
    
    Automerge-Triggered-By: GH:pitrou
    pitrou committed Mar 20, 2021
  4. bpo-43452: Micro-optimizations to PyType_Lookup (GH-24804)

    The common case going through _PyType_Lookup is to have a cache hit. There are some small tweaks that can make this a little cheaper:
    
    * The name field identity is used for a cache hit and is kept alive by the cache. So there's no need to read the hash code o the name - instead, the address can be used as the hash.
    
    *  There's no need to check if the name is cachable on the lookup either, it probably is, and if it is, it'll be in the cache.
    
    *  If we clear the version tag when invalidating a type then we don't actually need to check for a valid version tag bit.
    DinoV committed Mar 20, 2021

Commits on Mar 19, 2021

  1. bpo-43494: Make some minor changes to lnotab notes (GH-24861)

    This cleanup makes no substantive changes.
    smontanaro committed Mar 19, 2021
  2. bpo-43244: Remove symtable.h header file (GH-24910)

    Rename Include/symtable.h to to Include/internal/pycore_symtable.h,
    don't export symbols anymore (replace PyAPI_FUNC and PyAPI_DATA with
    extern) and rename functions:
    
    * PyST_GetScope() to _PyST_GetScope()
    * PySymtable_BuildObject() to _PySymtable_Build()
    * PySymtable_Free() to _PySymtable_Free()
    
    Remove PySymtable_Build(), Py_SymtableString() and
    Py_SymtableStringObject() functions.
    
    The Py_SymtableString() function was part the stable ABI by mistake
    but it could not be used, since the symtable.h header file was
    excluded from the limited C API.
    
    The Python symtable module remains available and is unchanged.
    vstinner committed Mar 19, 2021
  3. bpo-43466: Add --with-openssl-rpath configure option (GH-24820)

    tiran committed Mar 19, 2021
  4. Fix a typo in c-analyzer (GH-24468)

    eltociear committed Mar 19, 2021

Commits on Mar 18, 2021

  1. bpo-41561: Add workaround for Ubuntu's custom security level (GH-24915)

    Ubuntu 20.04 comes with a patched OpenSSL 1.1.1. Default security level
    2 blocks TLS 1.0 and 1.1 connections. Regular OpenSSL 1.1.1 builds allow
    TLS 1.0 and 1.1 on security level 2.
    
    See: 
    See: https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1899878
    See: https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1917625
    Signed-off-by: Christian Heimes <christian@python.org>
    tiran committed Mar 18, 2021
Older