-
Notifications
You must be signed in to change notification settings - Fork 22
Comparing changes
Open a pull request
base repository: CodSpeedHQ/pytest-codspeed
base: v4.5.0
head repository: CodSpeedHQ/pytest-codspeed
compare: v5.0.3
- 19 commits
- 14 files changed
- 8 contributors
Commits on May 12, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 92100fb - Browse repository at this point
Copy the full SHA 92100fbView commit details -
Configuration menu - View commit details
-
Copy full SHA for e3c28e6 - Browse repository at this point
Copy the full SHA e3c28e6View commit details -
Remove cffi package from uv.lock
Removed cffi package version 1.17.1 and its dependencies from the lock file.
Configuration menu - View commit details
-
Copy full SHA for f21663d - Browse repository at this point
Copy the full SHA f21663dView commit details -
Configuration menu - View commit details
-
Copy full SHA for a8d594c - Browse repository at this point
Copy the full SHA a8d594cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6565d4e - Browse repository at this point
Copy the full SHA 6565d4eView commit details -
ci: add python 3.15 and 3.15t to test matrix
Co-Authored-By: Claude <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for ee07afb - Browse repository at this point
Copy the full SHA ee07afbView commit details -
chore: bump pinned uv version to 0.11.14
Co-Authored-By: Claude <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for e4a419e - Browse repository at this point
Copy the full SHA e4a419eView commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for f3ed388 - Browse repository at this point
Copy the full SHA f3ed388View commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for fda1fbc - Browse repository at this point
Copy the full SHA fda1fbcView commit details
Commits on May 13, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 5a205c8 - Browse repository at this point
Copy the full SHA 5a205c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for ee98055 - Browse repository at this point
Copy the full SHA ee98055View commit details -
chore: ignore common compilation warnings for instrument-hooks
Transpiled code generates these.
Configuration menu - View commit details
-
Copy full SHA for befdebf - Browse repository at this point
Copy the full SHA befdebfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 080d620 - Browse repository at this point
Copy the full SHA 080d620View commit details -
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>Configuration menu - View commit details
-
Copy full SHA for ad709a5 - Browse repository at this point
Copy the full SHA ad709a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for d4d9dc6 - Browse repository at this point
Copy the full SHA d4d9dc6View commit details
Commits on May 14, 2026
-
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).
Configuration menu - View commit details
-
Copy full SHA for 3bbabe4 - Browse repository at this point
Copy the full SHA 3bbabe4View commit details -
Configuration menu - View commit details
-
Copy full SHA for fc33d20 - Browse repository at this point
Copy the full SHA fc33d20View commit details
Commits on May 22, 2026
-
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.
Configuration menu - View commit details
-
Copy full SHA for 31447b7 - Browse repository at this point
Copy the full SHA 31447b7View commit details -
Configuration menu - View commit details
-
Copy full SHA for b2d12d8 - Browse repository at this point
Copy the full SHA b2d12d8View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v4.5.0...v5.0.3