Releases: CodSpeedHQ/runner
Releases · CodSpeedHQ/runner
4.8.0 - 2026-01-20
Release Notes
It is now possible to do consecutive CodSpeed run in the same GitHub job. This will allow using multiple instruments without having to spawn another job 🎉
jobs:
codspeed:
...
steps:
...
- name: Build benchmarks
run: cargo codspeed build -m analysis
- name: Run benchmarks
uses: CodSpeedHQ/action@v4
with:
run: cargo codspeed run
mode: "simulation"
- name: Run memory benchmarks
uses: CodSpeedHQ/action@v4
with:
run: cargo codspeed run
mode: "memory"🚀 Features
- Allow defining targets in codspeed yaml by @GuillaumeLagrange in #197
- Add an stdin mode to provide multiple commands by @GuillaumeLagrange
- Add a run index suffix by @fargito in #199
- Make the config less strict about its config by @GuillaumeLagrange in #198
- Add support for analysis mode with memory instrument by @GuillaumeLagrange
- Reduce shared fifo timeout to end executor runs faster after the program has ended by @GuillaumeLagrange in #193
- Use a bufwriter to save unwind data by @GuillaumeLagrange
- Support dynamically and statically linked allocators by @not-matthias
- Track
memaligncalls by @not-matthias - Accept IPC before creating tracker to avoid timeouts by @not-matthias
- Add integration tests for complex cli commands by @GuillaumeLagrange
- Add the full command to the uri and handle hyphens better by @GuillaumeLagrange
- Add yaml project config discovery and loading by @GuillaumeLagrange in #189
- Implement the walltime benchmarking algorithm by @GuillaumeLagrange
- Use rayon to collect perf walltime data by @GuillaumeLagrange
- Handle memory executor when displaying results by @GuillaumeLagrange in #190
- Do not draw a table if there is only one benchmark by @GuillaumeLagrange
- Stop using the deprecated
timefield and usevalueinstead by @GuillaumeLagrange
🐛 Bug Fixes
- Fix behavior when multiple benchmarks are ran by @GuillaumeLagrange
- Simplify
run_part_idcomputation by @fargito in #200 - Write perf map all at once instead of line by line by @GuillaumeLagrange
- Drop privileges when running commands under sudo by @not-matthias
- Make walltime results stat computation the same as pytest-codspeed by @GuillaumeLagrange in #185
🏗️ Refactor
- Move project config structs to interfaces mod by @GuillaumeLagrange
- Move all walltime benchmarking to its dedicated module by @GuillaumeLagrange
⚙️ Internals
- Bump memtrack version
- Ignore .codspeed for exec-harness output by @GuillaumeLagrange
- Remove useless clone derive for project config by @GuillaumeLagrange
- Cleanup output by @not-matthias in #196
- Use simulation in codspeed action by @GuillaumeLagrange in #194
- Cache benchmark executable by @GuillaumeLagrange
- Add prelude and remove linter dead_code suppression by @GuillaumeLagrange
- Reduce logs verbosity of debug info and perf file serialization by @GuillaumeLagrange
- Remove unused execve event by @not-matthias in #192
- Add prelude by @not-matthias
- Print number of events written to disk by @not-matthias
- Switch to rust-cache to cache builds of the installed workspace binaries by @GuillaumeLagrange in #191
- Install exec-harness before runner tests tests by @GuillaumeLagrange
- Remove double metadata information by @GuillaumeLagrange
- Add link to relevant issue for codspeed-rust metadata by @GuillaumeLagrange
- Use fork supporting compressed events for linux-perf-data by @GuillaumeLagrange
- Run exec-harness tests in separate CI job to prevent fifo issues by @GuillaumeLagrange
- Downgrade flate because 1.1.7 was yanked by @GuillaumeLagrange
Install codspeed-runner 4.8.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/v4.8.0/codspeed-runner-installer.sh | shDownload codspeed-runner 4.8.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 |
memtrack-v1.2.0
Install memtrack 1.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/memtrack-v1.2.0/memtrack-installer.sh | shDownload memtrack 1.2.0
| File | Platform | Checksum |
|---|---|---|
| memtrack-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| memtrack-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
v4.7.1-alpha.1
Install codspeed-runner 4.7.1-alpha.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/v4.7.1-alpha.1/codspeed-runner-installer.sh | shDownload codspeed-runner 4.7.1-alpha.1
| 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 |
4.7.0 - 2026-01-12
Release Notes
🚀 Features
- Add l2d cache events to perf command by @GuillaumeLagrange in #188
Install codspeed-runner 4.7.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/v4.7.0/codspeed-runner-installer.sh | shDownload codspeed-runner 4.7.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 |
v4.6.1-alpha.1
Install codspeed-runner 4.6.1-alpha.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/v4.6.1-alpha.1/codspeed-runner-installer.sh | shDownload codspeed-runner 4.6.1-alpha.1
| 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 |
4.6.0 - 2026-01-07
Release Notes
🚀 Features
- Check for perf compression and enable multi-events conditionally by @GuillaumeLagrange
- Enable perf data compression by @art049
- Add more events to perf monitoring by @GuillaumeLagrange
- Add zstd compression support by @not-matthias
🐛 Bug Fixes
- Do not cat stdout from command to pipe.data by @GuillaumeLagrange in #182
- Drain events arriving after process terminated by @not-matthias
- Support non-x86 libc paths by @not-matthias in #183
⚙️ Internals
- Add instructions event, and use runner_shared for monitored events by @GuillaumeLagrange in #154
- Bump memtrack version by @not-matthias in #187
- Prevent gh release edit from automatically setting release as latest by @GuillaumeLagrange in #186
- Add memtrack serialization benchmark by @not-matthias in #184
Install codspeed-runner 4.6.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/v4.6.0/codspeed-runner-installer.sh | shDownload codspeed-runner 4.6.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 |
memtrack-v1.1.0
Install memtrack 1.1.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/memtrack-v1.1.0/memtrack-installer.sh | shDownload memtrack 1.1.0
| File | Platform | Checksum |
|---|---|---|
| memtrack-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| memtrack-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
4.5.2 - 2025-12-23
Release Notes
🚀 Features
- Update release flow to make sure only runner releases are marked as latest (#180) by @GuillaumeLagrange in #180
- Improve
UNAUTHENTICATEDerror message by @fargito in #181
⚙️ Internals
- Bump cargo dist to 0.30.3 by @art049
Install codspeed-runner 4.5.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/v4.5.2/codspeed-runner-installer.sh | shDownload codspeed-runner 4.5.2
| 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 |
4.5.1 - 2025-12-22
Release Notes
🐛 Bug Fixes
- Filter out arm debugging symbols by @GuillaumeLagrange in #179
Install codspeed-runner 4.5.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/v4.5.1/codspeed-runner-installer.sh | shDownload codspeed-runner 4.5.1
| 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 |
4.5.0 - 2025-12-19
Release Notes
🚀 Features
- Remove projects query from the exec polling by @GuillaumeLagrange in #173
- Fetch project from API when running outside of git repo by @GuillaumeLagrange
- Add get or create project repository query by @GuillaumeLagrange
- Automatically install exec-harness for exec subcommand by @GuillaumeLagrange
- Auto install codspeed-memtrack during executor setup by @GuillaumeLagrange
- Serialize events serially to allow streamed decoding by @not-matthias in #172
- Parse perf file for memmap events instead of relying on /proc/pid/maps by @GuillaumeLagrange
- Use the projects upload enpdoint in exec command by @GuillaumeLagrange
- Add exec subcommand and refactor run subcommand by @GuillaumeLagrange
- Add exec-harness binary by @GuillaumeLagrange
- Add memory executor by @not-matthias
- Add memtrack crate by @not-matthias
- Add artifact types by @not-matthias
- Add shared fifo by @not-matthias
- Add new fifo commands by @not-matthias
- Support simulation for free-threaded python by @adriencaccia in #167
🐛 Bug Fixes
- Filter out empty named symbols when building perf-map by @GuillaumeLagrange in #176
- Do not break support for no reason when changing integration hooks protocol version by @GuillaumeLagrange in #175
- Remove dirty retry on timeout and simply increase timeout for GQL client by @GuillaumeLagrange
- Stop hanging indefinitely if process fails to start in memory executor by @GuillaumeLagrange in #171
- Remove the password prompt from the run_with_sudo dialog by @GuillaumeLagrange
- Collect events in thread to avoid mutex overhead by @not-matthias
- Convert events in thread to avoid blocking at the end by @not-matthias
- Compress only when size exceeds threshold by @not-matthias
- Forward environment in memory executor by @not-matthias
- Fix plan test in CI by @GuillaumeLagrange in #165
- Prevent nextest from running valgrind and memcheck concurrently by @GuillaumeLagrange
- Stop ignoring samples by @GuillaumeLagrange
- Use correct name for unwind_data trait declaration by @GuillaumeLagrange
- Stop filtering out zero sized symbol by @GuillaumeLagrange
- Request OIDC token after creating profile archive by @fargito in #170
- Remove snapshots that were not part of lfs by @not-matthias in #166
- Always print memory mapping logs by @not-matthias
🏗️ Refactor
- Create a dedicated execution_context that holds runtime information by @GuillaumeLagrange
- Move executor and instruments modules out of
runmodule by @GuillaumeLagrange
⚙️ Internals
- Ignore some tags in the changelog
- Bump protocol version by @not-matthias in #174
- Add CONTRIBUTING.md by @GuillaumeLagrange
- Add cargo-dist arguments for release by @GuillaumeLagrange
- Reset exec-harness and memtrack crate versions to 1.0.0 ahead of first release by @GuillaumeLagrange
- Switch to pr run mode plan only for pr by @GuillaumeLagrange
- Add test to ensure path is properly forwarded by @not-matthias in #169
- Make the exec command work outside of git repos by @GuillaumeLagrange
- Do not publish memtrack to crates.io by @adriencaccia
- Dont run valgrind and memory tests at the same time by @not-matthias in #164
- Add test-log to see output on failures by @not-matthias
- Add workspace dependencies by @not-matthias
Install codspeed-runner 4.5.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/v4.5.0/codspeed-runner-installer.sh | shDownload codspeed-runner 4.5.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 |