Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: python/mypy
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 72cff30
Choose a base ref
...
head repository: python/mypy
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 412c19a
Choose a head ref
  • 18 commits
  • 43 files changed
  • 10 contributors

Commits on Nov 25, 2025

  1. [mypyc] Fix crash on super in generator (#20291)

    This is another problem caused by
    #19398 and a missing part of
    #20254 cc @JukkaL
    
    @hauntsaninja there is a small chance this may be related to the
    problems with black.
    ilevkivskyi authored and p-sawicki committed Nov 25, 2025
    Configuration menu
    Copy the full SHA
    13369cb View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2025

  1. [mypyc] Fix vtable pointer with inherited dunder new (#20302)

    Fixes an issue where a subclass would have its vtable pointer set to the
    base class' vtable when there is a `__new__` method defined in the base
    class. This resulted in the subclass constructor calling the setup
    function of the base class because mypyc transforms `object.__new__`
    into the setup function.
    
    The fix is to store the pointers to the setup functions in `tp_methods`
    of type objects and look them up dynamically when instantiating new
    objects.
    
    ---------
    
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    p-sawicki and pre-commit-ci[bot] committed Nov 28, 2025
    Configuration menu
    Copy the full SHA
    1b94fbb View commit details
    Browse the repository at this point in the history
  2. [mypyc] librt base64: use existing SIMD CPU dispatch by customizing b…

    …uild flags (#20253)
    
    Fixes the current SSE4.2 requirement added in
    1b6ebb1
    / #20244
    
    This PR fully enables the existing x86-64 CPU detection and dispatch
    code for SSSE3, SSE4.1, SSE4.2, AVX, and AVX2 in the base64 module.
    
    To use the existing CPU dispatch from the [upstream base64
    code](https://github.com/aklomp/base64), one needs to compile the
    sources in each of the CPU specific codec directories with a specific
    compiler flag; alas this is difficult to do with setuptools, but I found
    a solution inspired by https://stackoverflow.com/a/68508804
    
    Note that I did not enable the AVX512 path with this PR, as many intel
    CPUs that support AVX512 can come with a performance hit if AVX512 is
    sporadically used; the performance of the AVX512 (encoding) path need to
    be evaluated in the context of how mypyc uses base64 in various
    realistic scenarios. (There is no AVX512 accelerated decoding path in
    the upstream base64 codebase, it falls back to the avx2 decoder).
    
    If there are additional performance concerns, then I suggest
    benchmarking with the openmp feature of base64 turned on, for multi-core
    processing.
    mr-c authored and p-sawicki committed Nov 28, 2025
    Configuration menu
    Copy the full SHA
    1999a20 View commit details
    Browse the repository at this point in the history
  3. Add draft version of 1.19 release notes (#20296)

    Added a draft version with the commits filtered to remove internal
    changes and grouped into sections.
    
    ---------
    
    Co-authored-by: Jacopo Abramo <jacopo.abramo@gmail.com>
    p-sawicki and jacopoabramo committed Nov 28, 2025
    Configuration menu
    Copy the full SHA
    3c81308 View commit details
    Browse the repository at this point in the history
  4. Various updates to 1.19 changelog (#20304)

    The first draft was added in #20296.
    JukkaL authored and p-sawicki committed Nov 28, 2025
    Configuration menu
    Copy the full SHA
    6d5cf52 View commit details
    Browse the repository at this point in the history
  5. Remove +dev

    p-sawicki committed Nov 28, 2025
    Configuration menu
    Copy the full SHA
    0f068c9 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2025

  1. Configuration menu
    Copy the full SHA
    dbf97df View commit details
    Browse the repository at this point in the history
  2. Fix crash on typevar with forward ref used in other module (#20334)

    Fixes #20326
    
    Type variables with forward references in upper bound are known to be
    problematic. Existing mechanisms to work with them implicitly assumed
    that they are used in the same module where they are defined, which is
    not necessarily the case for "old-style" type variables that can be
    imported.
    
    Note that the simplification I made in `semanal_typeargs.py` would be
    probably sufficient to fix this, but that would be papering over the
    real issue, so I am making a bit more principled fix.
    ilevkivskyi authored and hauntsaninja committed Dec 13, 2025
    Configuration menu
    Copy the full SHA
    d503cf8 View commit details
    Browse the repository at this point in the history
  3. Fix crash on star import of redefinition (#20333)

    Fixes #20327
    
    Fix is trivial, do not grab various internal/temporary symbols with star
    imports. This may create an invalid cross-reference (and is generally
    dangerous). Likely, this worked previously because we processed all
    fresh modules in queue, not just the dependencies of current SCC.
    ilevkivskyi authored and hauntsaninja committed Dec 13, 2025
    Configuration menu
    Copy the full SHA
    c93d917 View commit details
    Browse the repository at this point in the history
  4. Fix crash involving Unpack-ed TypeVarTuple (#20323)

    Fixes #20093
    
    This fixes the crash, but not the false positive (the false positive
    existed prior to the regression that introduced the crash)
    hauntsaninja committed Dec 13, 2025
    Configuration menu
    Copy the full SHA
    3890fc4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    70eceea View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8a6eff4 View commit details
    Browse the repository at this point in the history
  7. Allow types.NoneType in match cases (#20383)

    Fixes #20367
    A5rocks authored and hauntsaninja committed Dec 13, 2025
    Configuration menu
    Copy the full SHA
    a4b31a2 View commit details
    Browse the repository at this point in the history
  8. Fail with an explicit error on PyPy (#20384)

    Fixes mypyc/librt#21
    
    Fail with an explicit user-friendly error on PyPy.
    ilevkivskyi authored and hauntsaninja committed Dec 13, 2025
    Configuration menu
    Copy the full SHA
    58d485b View commit details
    Browse the repository at this point in the history
  9. Fail on PyPy in main instead of setup.py (#20389)

    Follow-up for #20384
    ilevkivskyi authored and hauntsaninja committed Dec 13, 2025
    Configuration menu
    Copy the full SHA
    f60f90f View commit details
    Browse the repository at this point in the history
  10. Serialize raw errors in cache metas (#20372)

    Fixes #20353
    
    This makes us respect e.g. `--output json` for cached files without
    re-checking the files (which is the desired behavior for users, see
    issue). This is also a first step towards resolving the "foo defined
    here" conundrum for parallel checking.
    
    The fix is straightforward. The only question was whether to continue
    using `ErrorTuple`s or switch to a proper class. I decided to keep the
    tuples for now to minimize the scope of change.
    
    Note I am also adjusting generic "JSON" fixed-format helpers to natively
    support tuples (unlike real JSON). We already use tuples in few other
    places, so it makes sense to just make it "official" (this format is
    still internal to mypy obviously).
    ilevkivskyi authored and hauntsaninja committed Dec 13, 2025
    Configuration menu
    Copy the full SHA
    2b23b50 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2025

  1. Update changelog for 1.19.1 (#20414)

    Also change the header for 1.18 because of
    #19910
    hauntsaninja committed Dec 14, 2025
    Configuration menu
    Copy the full SHA
    20aea0a View commit details
    Browse the repository at this point in the history
  2. Bump version to 1.19.1

    hauntsaninja committed Dec 14, 2025
    Configuration menu
    Copy the full SHA
    412c19a View commit details
    Browse the repository at this point in the history
Loading