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: CodSpeedHQ/pytest-codspeed
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v4.5.0
Choose a base ref
...
head repository: CodSpeedHQ/pytest-codspeed
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v5.0.3
Choose a head ref
  • 19 commits
  • 14 files changed
  • 8 contributors

Commits on May 12, 2026

  1. Configuration menu
    Copy the full SHA
    92100fb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e3c28e6 View commit details
    Browse the repository at this point in the history
  3. Remove cffi package from uv.lock

    Removed cffi package version 1.17.1 and its dependencies from the lock file.
    Vizonex authored and art049 committed May 12, 2026
    Configuration menu
    Copy the full SHA
    f21663d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a8d594c View commit details
    Browse the repository at this point in the history
  5. chore(ci): add 3.14.t in test suite

    adriencaccia authored and art049 committed May 12, 2026
    Configuration menu
    Copy the full SHA
    6565d4e View commit details
    Browse the repository at this point in the history
  6. ci: add python 3.15 and 3.15t to test matrix

    Co-Authored-By: Claude <noreply@anthropic.com>
    art049 and claude committed May 12, 2026
    Configuration menu
    Copy the full SHA
    ee07afb View commit details
    Browse the repository at this point in the history
  7. chore: bump pinned uv version to 0.11.14

    Co-Authored-By: Claude <noreply@anthropic.com>
    art049 and claude committed May 12, 2026
    Configuration menu
    Copy the full SHA
    e4a419e View commit details
    Browse the repository at this point in the history
  8. perf(hooks): bind callgrind start/stop directly to avoid extra frame

    Assign callgrind_start_instrumentation and callgrind_stop_instrumentation
    as instance attributes pointing straight at the native C functions
    instead of routing through Python wrapper methods. This removes one
    Python stack frame from the hot path around instrumented code, which
    matters because Valgrind/callgrind measurements include every frame
    that's live while instrumentation is on.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    art049 and claude committed May 12, 2026
    Configuration menu
    Copy the full SHA
    f3ed388 View commit details
    Browse the repository at this point in the history
  9. feat(hooks): declare native extension free-thread safe (#120)

    Declare the dist_instrument_hooks module as supporting the free-threaded
    build by calling PyUnstable_Module_SetGIL(Py_MOD_GIL_NOT_USED) under
    Py_GIL_DISABLED. Without this, importing the extension on a free-threaded
    interpreter re-enables the GIL and emits a RuntimeWarning. The underlying
    instrument-hooks C library uses its own internal locking, so the module
    is safe to run without the GIL.
    
    Co-authored-by: Claude <noreply@anthropic.com>
    art049 and claude authored May 12, 2026
    Configuration menu
    Copy the full SHA
    fda1fbc View commit details
    Browse the repository at this point in the history

Commits on May 13, 2026

  1. Configuration menu
    Copy the full SHA
    5a205c8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ee98055 View commit details
    Browse the repository at this point in the history
  3. chore: ignore common compilation warnings for instrument-hooks

    Transpiled code generates these.
    GuillaumeLagrange committed May 13, 2026
    Configuration menu
    Copy the full SHA
    befdebf View commit details
    Browse the repository at this point in the history
  4. Release v5.0.0 🚀

    adriencaccia committed May 13, 2026
    Configuration menu
    Copy the full SHA
    080d620 View commit details
    Browse the repository at this point in the history
  5. build: enable free-threaded wheels in cibuildwheel (#121)

    * build: enable free-threaded wheels in cibuildwheel
    
    cibuildwheel does not build free-threaded CPython wheels by default, even
    when the build pattern matches cp*. As a result, users on 3.13t/3.14t/3.15t
    installed pure-Python wheels with no native extension and saw:
    
        Failed to load instrument hooks library: cannot import name
        'dist_instrument_hooks' from 'pytest_codspeed.instruments.hooks'
    
    Opt in via `enable = ["cpython-freethreading"]` so the cp31{3,4,5}t wheels
    ship the compiled dist_instrument_hooks extension.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * ci: bump pypa/cibuildwheel from v3.2.1 to v3.4.1
    
    v3.2.1 predates CPython 3.14/3.15 support in cibuildwheel. Bumping unlocks
    free-threaded 3.14t/3.15t wheel builds (which no longer need the
    cpython-freethreading enable flag — only 3.13t does).
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * build: enable cpython-prerelease wheels in cibuildwheel
    
    CPython 3.15 is still in beta, so cibuildwheel will not build cp315 /
    cp315t wheels without the cpython-prerelease opt-in. Add it alongside
    cpython-freethreading so prerelease wheels (regular + free-threaded)
    ship for users testing on 3.15.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * chore: advertise Python 3.15 support in classifiers
    
    Add the trove classifier for 3.15 now that cibuildwheel ships cp315 /
    cp315t wheels.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * ci: pin cibuildwheel to a main commit with CPython 3.15 support
    
    v3.4.1 does not yet include cp315 in its bundled build-platforms.toml, so
    the cpython-prerelease enable flag has nothing to act on. Pin to commit
    ec0977e (post-#2833 "add CPython 3.15 beta 1") to unblock cp315 / cp315t
    wheel builds. Drop the pin back to a tagged release once cibuildwheel
    ships 3.15 metadata.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * build: drop cpython-freethreading enable group
    
    The cibuildwheel commit we pin (post-#2684) no longer recognizes
    cpython-freethreading: 3.13t support was dropped and free-threading is the
    default for 3.14+. Keeping the value triggers:
    
        cibuildwheel: Failed to parse enable group. Unknown enable group:
        cpython-freethreading.
    
    Only cpython-prerelease is still needed (for cp315 / cp315t while 3.15 is
    in beta).
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude <noreply@anthropic.com>
    art049 and claude authored May 13, 2026
    Configuration menu
    Copy the full SHA
    ad709a5 View commit details
    Browse the repository at this point in the history
  6. Release v5.0.1 🚀

    adriencaccia committed May 13, 2026
    Configuration menu
    Copy the full SHA
    d4d9dc6 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2026

  1. feat: skip Python runtime objects in callgrind

    Adds a callgrind_add_obj_skip C extension function that emits the
    Valgrind client request VG_USERREQ__ADD_OBJ_SKIP (0x43540006), and a
    callgrind_skip_python_runtime() helper that skips libpython and the
    python executable. Called from InstrumentHooks.__init__ so Python runtime
    frames stop polluting the callgrind flamegraph (COD-2654).
    not-matthias committed May 14, 2026
    Configuration menu
    Copy the full SHA
    3bbabe4 View commit details
    Browse the repository at this point in the history
  2. Release v5.0.2 🚀

    adriencaccia committed May 14, 2026
    Configuration menu
    Copy the full SHA
    fc33d20 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2026

  1. refactor: use instrument_hooks_callgrind_add_obj_skip from C API

    Drop the locally-defined VG_USERREQ__ADD_OBJ_SKIP trapdoor and the
    Python-side realpath resolution. Both now live in instrument-hooks
    (65a7afb), so the binding just forwards to the shared helper.
    
    Refs COD-2658.
    not-matthias committed May 22, 2026
    Configuration menu
    Copy the full SHA
    31447b7 View commit details
    Browse the repository at this point in the history
  2. Release v5.0.3 🚀

    adriencaccia committed May 22, 2026
    Configuration menu
    Copy the full SHA
    b2d12d8 View commit details
    Browse the repository at this point in the history
Loading