4.12.0 - 2026-03-19
v4.12.0 - 2026-03-19
In this release, we've focused on improving the local user experience.
We've revamped the output of the cli to provide tailed logs while the benchmarks are being executed, and polished a bit the display of results after your run.
We also added support to run multiple modes in a single command invocation, both for local and CI runs!
For instance, that means you can now do
codspeed run --mode simulation --mode memory --mode walltime -- cargo codspeed run
Last but not least, you can now define entrypoints in your project config
# codspeed.yml
# List of commands that are run when running `codspeed run` without further arguments
benchmarks:
- name: My ls command
# Mutually exclusive with entrypoint
# Expects a command that will run a benchmark for an arbitrary command
exec: ls -al /usr/bin
- name: My pytest-codspeed benchmark
# Mutually exclusive with exec
# Expects a command that will run a benchmark program that is using a codspeed integration
entrypoint: pytest --codspeed srcDetails
🚀 Features
- Set NODE_OPTIONS to get perf map from node by @GuillaumeLagrange in #267
- Disable node instrospection for exec-harness by @GuillaumeLagrange
- Support CODSPEED_MEMTRACK_BINARIES for static allocator discovery by @not-matthias
- Gracefully handle logs from the runner while rolling buffer is active by @GuillaumeLagrange
- Add
--show-full-outputto bypass the new rolling buffer by @GuillaumeLagrange - Add a spinner while waiting for results by @GuillaumeLagrange
- Clean up group headers and emoji usage, make the executor title not dim after run by @GuillaumeLagrange
- Add rolling buffer to display logs from executors by @GuillaumeLagrange
- Polish impact reporting and upload feedback by @art049
- Add color-coded metrics to benchmark result tables by @art049
- Enhance local logger with richer visual hierarchy by @art049
- Style the ASCII banner with CodSpeed orange by @GuillaumeLagrange
- Enforce CodSpeed CLI as single source of truth for all measurements by @art049
- Add optimize and setup-harness skills by @art049
- Add the cursor plugin by @art049
- Check if user is logged in before doing a local run by @GuillaumeLagrange in #263
- Skip respository resolve with
--skip-uploadby @GuillaumeLagrange - Use an enum and fix schema for entry/entrypoint by @GuillaumeLagrange in #260
- Accept a mix of entrypoint and exec targets in project config by @GuillaumeLagrange
- Introduce OrchestratorConfig and ExecutorConfig by @GuillaumeLagrange
- Unify run_part_id suffix computation between ci providers and local by @GuillaumeLagrange
- Add the claude plugin by @art049
- Add local_data to upload metadata by @GuillaumeLagrange
- Use repositoryOverview resolver rather than repository by @GuillaumeLagrange
🐛 Bug Fixes
- Use fp unwinding mode when running
go testby @GuillaumeLagrange in #269 - Improve error message when no benchmarks are found by @GuillaumeLagrange in #264
🏗️ Refactor
- Extract shared test helpers for compile and track by @not-matthias
- Pass extra env via config instead of unsafe set_var by @not-matthias
- Remove the closure argument to poll in favor of polling options by @GuillaumeLagrange
- Move EXEC_HARNESS_VERSION and EXEC_HARNESS_COMMAND to orchestrator mod by @GuillaumeLagrange
- Flatten orchestrator execution loop over (command, mode) pairs by @GuillaumeLagrange
- Introduce Orchestrator to support multi-mode execution by @GuillaumeLagrange in #259
- Consolidate poll_results into upload module by @GuillaumeLagrange
🧪 Testing
- Add spawn wrapper integration test for static allocator discovery by @not-matthias in #266
⚙️ Internals
- Bump linux-perf-data to use upstream version by @GuillaumeLagrange in #271
- Remove lazy_static in favor of LazyLock by @GuillaumeLagrange in #265
- Rename skill directories with codspeed prefix by @art049
- Move architecture docs out of this repo by @GuillaumeLagrange in #262
- Typo in plugin description by @art049
Install codspeed-runner 4.12.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.12.0/codspeed-runner-installer.sh | shDownload codspeed-runner 4.12.0
| File | Platform | Checksum |
|---|---|---|
| codspeed-runner-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| codspeed-runner-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |