Bencher Changelog
v0.6.2
- Allow unauthenticated
docker pushto unclaimed projects - Fix URL fragment placed before query string per RFC 3986 (Thank you @ricardoboss)
- Fix
--start-point-hashfailure on non-existent hash by falling back to the start point branch’s latest version (Thank you @teofr)
v0.6.1
- Buffer OCI upload network frames into configurable S3 chunks (
registry.data_store.chunk_size, default 5 MB) to reduce S3 operations during Docker push - Add
idempotency_keytobencher runto deduplicate retried submissions - Rename
--poll-intervalto--job-poll-intervalforbencher run(--poll-intervalis still supported as a deprecated alias) - Add
--detachflag tobencher runto skip waiting for remote job completion
v0.6.0
- BREAKING CHANGE Update Bencher Metric Format (BMF) to accept UUID, slug, or name for the Benchmark identifier
- Move to soft deletion for Organizations and Projects with admin-only hard deletion
- Add an OCI compliant image registry API
- Add a bare metal
runner - BREAKING CHANGE Remove the
POST /v0/server/restartendpoint and CLIbencher server restartcommand - BREAKING CHANGE Remove the
PUT /v0/server/configendpoint and CLIbencher server config updatecommand - BREAKING CHANGE Remove the deprecated
--projectflag andBENCHER_PROJECTenvironment variable from CLIbencher threshold createcommand (use the positional project argument instead) - BREAKING CHANGE Remove deprecated support for specifying multiple
--start-pointvalues for CLIbencher run(only a single start point is now accepted) - BREAKING CHANGE Remove language-level adapter options (
rust,cpp,go,java,c_sharp,js,python,ruby,shell,dart) from the CLI and API; use the specific tool adapter (e.g.rust_bench,cpp_google) ormagicinstead - Improve server concurrency with database connection pooling
- Add
[MemoryDiagnoser]support to the C# DotNet Adapter (Thank you @ricardoboss) - Add Dart
benchmark_harnessadapter (dart_benchmark_harness) (Thank you @Louisvranderick)
v0.5.10
- Fix GitHub PR comment exceeding maximum length (Thank you @alexeyr-ci2)
- Improve GitHub API error messages
- Improve developer onboarding docs (Thank you @Xenira)
- Update GitHub Actions docs (Thank you @pgoslatara)
v0.5.9
- Add Single Sign-On (SSO) API (Bencher Plus Enterprise feature)
v0.5.8
- Allow the BenchmarkDotNet
namespaceto be optional (Thank you @ntransw) - Fix Bencher Console for non-Bencher Plus builds (Thank you @flokli)
v0.5.7
- Fix workspace level feature unification for non-Bencher Plus builds (Thank you @flokli)
v0.5.6
- Fix Iai-Callgrind adapter parsing bug (Thank you @gamma0987)
- Add alias for Iai-Callgrind to Gungraun rename, (
rust_iai_callgrind->rust_gungraun)
v0.5.5
- Add
Login with Googleas an authentication option - Allow the
--fileoption to be specified multiple times to track multiple result files
v0.5.4
- Fix fork pull request example (Thank you @ruyadorno)
- Improve database backup to run in the background
- Improve server stats to run in the background
- Add branch head version to the Console UI
- BREAKING CHANGE Creating an on-the-fly project when the
CIenvironment variable is set totruewill now require the--ci-on-the-flyflag (Thank you @jaqx0r)
v0.5.3
- Improve
iai-callgrindadapter (Thank you gamma0987)
v0.5.2
- Fix empty slug validation bug
v0.5.1
- Fix horizontal wiggle in mobile view of the Console UI
- Add daily rate limiting to all resource creation
- Add
plus.rate_limitingsection to the API server configuration
v0.5.0
- Allow
bencher runto create a project if it does not exist for both anonymous and authenticated users - Deprecate the
--no-hashflag forbencher run - Move to
Linux,macOS, andWindowsas the default Testbeds forbencher run - Add log scaling to Perf Images (Thank you @brianheineman)
- Add daily rate limiting for Metrics for Organizations without a Bencher Plus plan
v0.4.37
- Add dimension search in Threshold creation UI
- Add Threshold list to Branch, Testbed, and Measure pages in Console UI
- Add unit abbreviation to Perf Report tables in Console UI and PR comments (Thank you @BD103)
- Add support for GitHub Enterprise Server to
bencherCLI (Thank you @btoic)
v0.4.36
- Fix CORS failures when API server returns an error
- Catch errors when Console WASM fails to load
- Add
--insecure-hostflag tobencherCLI to allow insecure connections to Bencher Self-Hosted API servers - Add
--native-tlsflag tobencherCLI to load TLS certificates from the platform’s native certificate store - Add
--timeoutoption tobencherCLI to set the timeout for all API requests - Add
smtp.insecure_hostoption to Bencher Self-Hosted API server configuration to allow insecure connections to SMTP servers (Thank you @btoic)
v0.4.35
- Add “Dismiss All” Alerts button to Console UI
- Fix infinite progress bar when Perf Plot is not initialized
- Show collapsed key for Pinned Plots
- Show selected Branches, Testbeds, and Benchmarks at the top of their Perf Plot tabs
- Improve Reports table view
- Show “Recent Reports” table for Branches and Testbeds
- Use exponential scaling for Perf Plot y-axis when there is a > 10x relative difference (Thank you @brianheineman)
- Improve new contributor onboarding experience (Thank you @brianheineman)
v0.4.34
- Add
--headoption tobencher branch viewCLI subcommand - Allow selection of up to two Measures in Perf Images
- Fix the Perf Plot Pinned tab
- Add
--build-timeand--file-sizeto PR comment ID - Omit Threshold warning from PR comment when
--ci-only-thresholdsis used - Fix flashing of “No data found” in Perf Plot
v0.4.33
- Fix plot image y-axis labels
- Show correctly scaled units in Perf Plot hover box
- Factor out common dimensions in Perf Plot key
- Allow selection of up to two Measures in Perf Plots
v0.4.32
- Fix benchmark result units in PR comments (Thank you @dklassic)
v0.4.31
- Fix Report measure count bug
- Auto-scale units in Perf Plots, Perf Images, Reports, and PR comments
v0.4.30
- Fix Bencher Self-Hosted Console build bug since
v0.4.24
v0.4.29
- Improve Pinned Plots loading fallback
- Return 404 Not Found for all resource endpoints when checking for both existence and permissions
- Update CLI install scripts to be able to set the
BENCHER_VERSION
v0.4.28
- Remove lazy loading of embedded perf plots due to Safari bug
- Move Pinned Plots out of
iframetags - Fix custom pinned plot window size bug
v0.4.27
- Limit GitHub Action Check to 65,535 characters
- Fix CLI HTML table output bug for Benchmarks with different Measures
v0.4.26
- Fix GitHub Action summary bug (Thank you @dklassic)
v0.4.25
- Add GitHub Action summary when using
--github-actionsoption - Add ability to track build times with the new
--build-timeflag
v0.4.24
- Add GitHub Action Check when not running as a pull request (Thank you @sagudev, @dklassic, and @wusyong)
v0.4.23
- Fix Console Alert Perf Plot button bug
- Fix benchmark.js adapter (
js_benchmark) float parsing bug (Thank you @arv) - Fix Catch2 adapter (
cpp_catch2) long name parse bug - BREAKING CHANGE The Catch2 adapter (
cpp_catch2) now includes the test case name in the benchmark name (ex:Test Case: Benchmark Name) - Fix Benchmark results table x-overflow bug when there were several Measures
v0.4.22
- Remove bloom filter in Perf Query when there is no branch head specified
v0.4.21
- BREAKING CHANGE Update the Branch JSON to include the concept of a Head which now contains the Start Point
- Changing a branch’s start point will now update the branch head instead of creating a new branch and archiving the old one
- Deprecate
--branch-start-point,--branch-start-point-hash, and--branch-resetin favor of--start-point,--start-point-hash, and--start-point-resetforbencher run - Introduce a
max_versionsfor Branch Start Points, default to255 - Add the
--start-point-max-versionsoption tobencher run - Thresholds are no longer cloned based off of a branch start point
- Add the
--start-point-clone-thresholdsflag tobencher run - Add Thresholds to Report JSON
- Add
--threshold-measure,--threshold-test,--threshold-min-sample-size,--threshold-max-sample-size,--threshold-window,--threshold-lower-boundary,--threshold-upper-boundary, and--thresholds-resettobencher run - Fix public plots pages to not require authentication
- Add
--measureoption tobencher mockto mock multiple measures - Add a
bencher archiveandbencher unarchivesubcommand to archive and unarchive dimensions - Fix broken default version tag for
bencher up(Thank you @mwasplund) - Add
--api-portand--console-portoptions tobencher upto set the API and Console UI ports
v0.4.20
- Add public pages for Reports, Branches, Testbeds, Benchmarks, Measures, and Plots
- Add links between all dimension pages
- BREAKING CHANGE Change the Report results format to mirror Bencher Metric Format, from measures owning benchmarks to benchmarks owning measures
- Remove user email from Report results
- Add a table view for Reports in the Console UI
- Update PR comments to be more concise
- Remove deprecated
statisticfield from Threshold in favor ofmodel - Remove deprecated server endpoint
/v0/server/endpointin favor of/v0/server/config/console - Track global bus events for
iai-callgrindadapter (Thank you @OmarTawfik)
v0.4.19
- Add the
--formatoption tobencher run - BREAKING CHANGE Remove the Report JSON from the default
bencher runoutput (now use--format json) - BREAKING CHANGE Remove the
--htmlflag frombencher run(now use--format html) - Standardize all
bencherCLI default values - Allow
--branch-resetto be used with--branch-start-point - Update archived branches renaming scheme
v0.4.18
- Add the concept of
archivedto Branches, Testbeds, Benchmarks, and Measures - Remove Alert stats endpoint
- Fix
+ AddAPI token UI permissions bug - Filter for
archivedresources in the Console UI - Archive and unarchive resources in the Console UI
- Make Start Points for Branches fallible
- Parse results for multiple tools for
iai-callgrindadapter (Thank you @OmarTawfik)
v0.4.17
- Revamp UI for looking at resource details
- Remove cached Organization when logging out
v0.4.16
- Track Branches for pinned Plots across changes in their Start Point
- Update pinned Plots when theme changes
- Remove 15 second timeout for all CLI commands
- Show total number of pages for paginated lists in Console UI
- Add the ability to create and delete Organizations
v0.4.15
- Fix 404 error for dedicated Metric pages in Console
- Create Branch and Testbed, if they do not exist for a Report on the API server
- Remove Branch and Testbed
softcreation - Add Docker daemon check to CLI commands
v0.4.14
- Fix iai-callgrind adapter bug
- Obfuscate user emails in API error messages
- Include Metric UUID in Report and Perf results
- Add a
GETMetric API endpoint and CLI subcommand - Add a dedicated Metric page when clicking on a Metric dot in a Perf Plot
- Enable
busy_timeoutfor SQLite connections to preventdatabase is lockederrors - Add replica settings for disaster recovery
v0.4.13
- Add
Requiredto required query params in docs (Thank you eddyashton) - Auto-log out in Console UI for expired sessions
- Fix wordmark color for default theme initialization
- Add
bencher plotsubcommand to manage pinned plots to CLI - Add
--api-env/--console-envand--api-volume/--console-volumetobencher upCLI command (Thank you ricardaxel) - Add
serviceargument tobencher upandbencher downto only control a single container
v0.4.12
- Fix cross-project query bug
v0.4.11
- Reduce Console navbar, menu, and panel flickering on page load
- Fix
Add,Edit,Deletebutton permissions bug (Thank you eddyashton for reporting this bug) - Add the ability to “pin” Perf Plots to create a dashboard of pinned plots
- Add a button to clear each dimension separately in the Perf Plot
v0.4.10
- Expand
--file-sizeoption forbencher runto be used multiple times to track multiple file sizes - Add dark mode to Bencher Console UI
v0.4.9
- Automatically find the
gitbranch name forbencher runif one is not specified - Add the
--file-sizeoption tobencher runto track file size (ie binary size) - Allow custom Measures in Report results to be created on the fly
- Fix parsing new libtest bench Metrics as floats instead of integers (#390)
v0.4.8
- Add new user onboarding flow
- Fix server stats endpoint bug
- A very special thank you to hamirmahal for their first contribution!
v0.4.7
- Redirect to public Perf Page for Bencher Console links if user is not logged in
- Fix jittering in Perf Plot tabs when loading and changing pages
- Fix PR comment tags when changing branch start points
- Move benchmark results under a
detailstag for HTML comment output - Add an Alert summary table for HTML comment output
- Add a warning if no Thresholds are found for HTML comment output
- Deprecated:
--ci-no-metricsflag no longer effects HTML comment output
v0.4.6
- Add perf plot images as OpenGraph images
- Add GET
/v0/usersendpoint for server admins - Improve perf plot query performance by 120x or more by adding indexes and a materialized view
v0.4.5
- Move Bencher Cloud out of BETA
- Add tab loading progress bar to perf pages
- Add
--branch-start-pointand--branch-start-point-hashoptions tobencher runto track rebasing and other branch changes - Deprecated: The
bencher runoptions and flags--if-branch,--else-if-branch,--else-branch, and--endif-branchhave been deprecated in favor of using--branchand--branch-start-point - BREAKING CHANGE
--if-branchwill now hard fail instead of skipping the run if not specified or if an empty string is provided, and it will always be created even without--else-branchset - BREAKING CHANGE
--else-if-branchwill only use the first branch specified as the start point and it must exist, if it is a non-empty string - Update branch date time plot to use local time and version plot to be discrete along the x-axis
v0.4.4
- Fix resource contention during large Perf queries
- Remove
publicquery param from/v0/projectsendpoint - BREAKING CHANGE Move all CLI commands using
--org,--project, and--userover to positional arguments, exceptbencher runandbencher threshold create - Add a
bencher report createCLI subcommand bencher runnow tries to auto-fill the git commit hash for the report- BREAKING CHANGE Rename
statistictomodeland remove API endpoint - Add “Click to view Threshold” for all boundary limits and add a public view Threshold page
- Add PATCH endpoint for user account settings
- BREAKING CHANGE Remove
/v0/server/pingendpoint - Deprecate
/v0/server/endpointin favor of/v0/server/config/consoleand BREAKING CHANGE removebencher server endpointCLI command
v0.4.3
- BREAKING CHANGE Limit branch names to 256 characters and all slug lengths to 64 characters. Any existing values greater than these new limits are set to their respective UUID.
- Add shortcut URLs for user pages:
/console/users/tokens->/console/users/USER-SLUG/tokens/console/users/tokens/add->/console/users/USER-SLUG/tokens/add/console/users/settings->/console/users/USER-SLUG/settings
- Improve
bencher runerror messages to include the command being run (idea credit to dholroyd: #335) - Prevent pwn requests when using
bencher run - Add an API version check to all Bencher CLI commands that use the backend
v0.4.2
- Fix Perf Plot view reduce bug
- Add a
Viewbutton to Perf Plot for Reports, Branches, Testbeds, and Benchmarks - Add
searchquery param toGETlist endpoints for all named resources - Add search for a named resources in Console UI and Perf Plot dimensions
- Add date based search for Reports in Console UI and Perf Plot
- Add search for public projects
- Move Bencher API server to “distroless” Docker image,
bencher-apithat is 10x smaller - Move Bencher Console UI to “distroless” Docker image,
bencher-consolethat is 1/3 smaller - Fix Console server side rendering bug when using local URLs inside of Docker
- First time contributor JonasWanke added the Iai-Callgrind benchmark harness adapter
v0.4.1
- Add a “Show all”/“Hide all” toggle for perf plot results (idea credit to jerome-benoit)
- Add an
--execflag tobencher runto run commands as executables (no shell) and by default when there is more than one argument - Add new Thresholds: Static, Percentage, Log Normal, Interquartile Range, and Delta Interquartile Range
- Include Iteration number for Report results
- Redirect to newly created resources in Console UI
v0.4.0
- BREAKING CHANGES Remove backwards compatibility for renames:
Metric(lower_bound=>lower_valueandupper_bound=>upper_value)Measure(metric_kind=>measureinReportandThreshold;metric_kinds=>measuresinPerf)Boundary(average=>baseline)
- Add
bencher up,bencher down, andbencher logscommands to CLI to easily run Bencher Self-Hosted - Branches and Testbeds are now created if they do not exit for
bencher runif the value passed is a slug or name (UUIDs are still required to already exist)
v0.3.26
- Add OAuth2 based login for GitHub
- Allow users to accept invitations while logged in
- Run smoke tests on Linux, MacOS, and Windows
- Release Linux, MacOS, and Windows CLI builds for both x86_64 and ARM64
- Add convenience script to install
bencherCLI on Linux, MacOS, and Windows
v0.3.25
- Allow custom CI ID to be an unbounded length
v0.3.24
- Add URL fragment links to all headings 🔗
- Fix browser navigation to replace history for automatic query args, like pagination
- Scroll to top of page when changing paginated pages
- Allow Branch, Testbed, and Measure names to be used in addition to slugs and UUIDs for Report (
GETlist &POST), Threshold (GETlist &POST), and Branch (POSTstart point) endpoints - Validate Branch and Testbed exist before running benchmarks with
bencher run
v0.3.23
- Move CLI over to relaxed response parsing and add
--strictflag to enable strict response parsing - Add
--quietflag tobencher runto enable quite mode and only output the final Report JSON
v0.3.22
- The Boundary Limits object is now optional for Perf query results and Reports
- Update all
POSTAPI endpoints with creation semantics to return a201status code - Update all
PUTandPATCHAPI endpoints with immediate update semantics to return a200status code - Update all
DELETEAPI endpoints to return a204status code and an empty body
v0.3.21
- Add Hyperfine adapter
- Rename
Metric KindtoMeasure
v0.3.20
- Rename
averagetobaselinefor the Boundary Limits
v0.3.19
- Include the
averageused for the Boundary Limits - Remove
--ci-public-linksforbencher runand simply use the project visibility to determine PR links - Replace
--ci-with-metricswith--ci-no-metricsforbencher runand make showing benchmark metrics and boundary limits on PRs the default
v0.3.18
- Add public Alert pages
- Add a
--ci-public-linksoption tobencher runto only post public links to PRs - Add a
--ci-with-metricsoption tobencher runto display benchmark metrics and boundary limits on PRs - Update GitHub Actions PR documentation
v0.3.17
- Fix word break CSS in console UI
- Add status bar for perf plot loading
- Fix perf plot x-axis label
- Improve embedded perf plot layout
v0.3.16
- Improve
bencher_clientergonomics for use inrustls - Fix navbar bug on public pages while logged in
- Add Bencher Learn section to the site
- Set max perf query permutations to
255 - BREAKING CHANGE: Move from single
metric_kindto array ofmetric_kindsfor perf plot query
v0.3.15
- Embedded Perf Plots
- Move default Threshold Boundaries from
0.95to0.98 - Add server statistics collection to Bencher Self-Hosted instances
v0.3.14
- Move default Threshold Boundaries from
0.9to0.95 - Redirect to login for an authorized users in Console UI
- Improve API server error messages
- Fixed the UI y-axis scale issue… again
- Add Bencher Plus licenses
v0.3.13
- Add ability for
bencher runto read output from a file without running a command argument - Improve Report creation error messages
- Add filtering Reports by Branch, Testbed, and start/end time
- Add one month historical default when viewing Reports in the Perf Plot
- Add endpoint
/v0/server/specto view OpenAPI spec JSON - Remove old UI source and scripts
v0.3.12
- Change Metric
lower_boundandupper_boundtolower_valueandupper_valuerespectively - Add ability to visualize
lower_valueandupper_valuein Perf Plot
v0.3.11
- Add strongly typed IDs for database entities
- Remove deprecated configuration keys (
endpoint=>console.urlandsecret_key=>security.secret_key)
v0.3.10
- Add optional error monitoring with Sentry
- Start API error message improvement
- Fix Threshold dimension selection bug in UI
- Display benchmark harness results in realtime via
bencher run - A special thank you to @robertorosmaninho for bug hunting 👾
v0.3.9
- Move UI over to Astro with stronger TypeScript
- Add check for failing Netlify deployments
- Move default Threshold Boundaries from
0.95to0.9
v0.3.8
- Segment PR comments by the combination of Project, Branch, Testbed, and Adapter
- Add a custom PR comment ID argument
--ci-idtobencher runfor complex scenarios - Another special thank you to @GitGab19 for all the feedback
v0.3.7
- Fix slug length validation bug
- A special thank you to @GitGab19 for all the feedback
v0.3.6
- Fix multi-Metric Kind bug for Perf Plot Report selection
- Require minimum and maximum sample sizes to be greater than or equal to two
- Allow system Metric Kinds (ie Latency, Throughput, etc) to be deleted and recreated via a later Report
- Comment on GitHub pull requests using
--github-actionsargument forbencher run - Only post CI integrations when a Threshold is set for a Metric Kind, Branch, and Testbed with
ci-only-thresholds - Only start posting CI integrations when an Alert is generated with
--ci-only-on-alert - Fix Threshold boundary calculation bug when standard deviation is zero
- Add a warning ⚠️ in the Perf Plot UI when a Boundary Limit is not calculated
- A special thank you to @untitaker for all the feedback
v0.3.5
- Visualize Threshold lower and upper boundaries and Alerts in Perf Plot
- Add ability to dismiss and reactivate Alerts
- Add ability to update Thresholds in the UI
- Fix Threshold
PUTbug - Add deletion capabilities to the UI
- Add help page to public UI
v0.3.4
- Revamp Quick Start tutorial
- Add Docker Self-Hosted tutorial
- Fix public perf pages bug
- Add Reports tab to perf pages
- Add ability to clear the perf plot
- Add ability to set Project URL to
null - Add Project permissions API endpoint
- Remove redundant Project API endpoints
- Add ability to update Organizations, Projects, Metric Kinds, Branches, Testbeds, and Benchmarks in UI
v0.3.3
- Move API server config key
endpointtoconsole.url - Change API from
/v0/server/config/endpointto/v0/server/endpointto getconsole.url - Add dedicated
POSTAPI endpoint for Benchmarks - Add
PATCHAPI endpoints for Organizations, Projects, Metric Kinds, Branches, Testbeds, and Benchmarks - Add
PUTAPI endpoint for Thresholds - Add
DELETEAPI endpoint for Metric Kinds, Branches, Testbeds, Benchmarks, and Thresholds - Create two default Thresholds for all new Projects
- Add a Go benchmark example
- Fix Go auxillary data parse error
v0.3.2
- Decrement all proceeding Branch versions after the final Report is deleted for a Branch version
- Add pagination to all GET list API endpoints,
bencherCLI, and console UI - Move all
bencherCLI API calls to using client auto-generated from OpenAPI spec - Improve
bencherCLI error messages
v0.3.1
- Add
--backdateargument tobencher runfor backdating Reports - Add
createdandmodifiedtimestamps as applicable to all entities and their JSON - Add ability to delete a Report
- Add ability to delete a Project
- A special thank you to @wuputah and the Hydra team for all the feedback
v0.3.0
- Add demo video to landing page
- Add
bencher rundocumentation - Refactor Report, Alert, and Perf JSON to be more powerful
- All Report and Perf metrics now show the boundary limits used if a Threshold is set
- Display URL to visualize report in UI after
bencher run - Change
magnitudetopowforbencher mock - A very special thank you to @MichaelScofield for being Bencher’s second community contributor!
v0.2.46
- Update roadmap
- Add Iai benchmark harness adapter
- Move from GitPod over to Dev Containers/GitHub Codespaces
- Fix thresholds with no historical metrics bug
- A very special thank you to @osiewicz for being Bencher’s first community contributor!
v0.2.45
- Add servers to Swagger API docs
- Fix perf view refresh bug
- Add an order of
--magnitudeargument tobencher mockcommand - Add an API endpoint for threshold statistics and a CLI
statisticsubcommand - Upgrade the
bencher perfCLI flag--tableto accept an optional style parameter - Fix long text wrapping in UI deck view, both header and card contents
- Autogenerate TypeScript types from Rust type definitions
- Massive thank you to @vient for all the feedback
v0.2.44
- Fix UI expired token error
- Move the CLI linker over to use Zig in order to pin a specific
glibcversion - Move linker in CI over to
moldfor increased parallelism - Fix cargo workspace
default-features = falsewarnings - Add project stewardship commitments
- Massive thank you to @brainstorm for all the feedback
v0.2.43
- Add a
--tableoption to thebencher perfcommand to display query results as a table - Add the ability to toggle the perf plot x-axis from report date time to branch version number
v0.2.42
- Create and publish Bencher CLI GitHub Action
- Fix both UI and perf image y-axis sizing once and for all… hopefully
v0.2.41
- Move perf plot images from a screenshot to server side rendering
- Add a share mechanism to perf pages with a perf image preview
v0.2.40
- Add an optional
--fileargument tobencher runto read file output - Move perf query API endpoint from a POST to GET
- Add an endpoint to GET a screenshot of a public perf plot
v0.2.39
- Update readme to add Discord invite
- Allow certain benchmarks to be ignored by Threshold checks
- BREAKING CHANGE: Make Project names unique within an organization and delete existing duplicates
- Add paid plans and metered billing for Bencher Cloud
- Change perf pages to use milliseconds as opposed to date/time stamp
v0.2.38
- Fix CLI runtime dependency error over the past five releases
- BREAKING CHANGE: Make Metric Kind, Branch, and Testbed names unique and delete existing duplicates
- Add a soft branch creation option to eliminate race conditions in CI
- Add supported languages to landing page
- Lots of new docs!
v0.2.33
- Add new
averagesetting for adapters to choose between mean/standard deviation and median/interquartile range when possible - Increase CLI default retry to ten attempts three seconds apart (30 second window)
- Add ability to clone thresholds when creating a new branch from a start point and make this the default behavior for
--else-if-branchinbencher runCLI - Moved the plot key to below the plot all the time in preparation for screenshots/embedding
v0.2.32
- Add STARTTLS option for SMTP connections
- Add
throughputas a new default metric kind withoperations / second (ops/s)as units - Add Java JMH, C# BenchmarkDotNet, JavaScript Benchmark.js, JavaScript console.time/timeEnd, Python airspeed velocity, Python pytest-benchmark, and Ruby Benchmark adapters
- Add resend email button to UI auth confirm page
- Change C++ Catch2 adapter to use standard deviation for
lower_boundandupper_bound - Fix table and perf panel formatting for long, single word values
v0.2.31
- Prevent leaking secrets by obfuscating them in the server logs (ie
************) - Move run failure detection to the CLI, adapter parsing will no longer attempt error detection
- New harness specific adapter targets (ie
rust_benchandrust_criterion) - Add additional options to
bencher mock,--failand--flakyto easily test parsing failing and flaky benchmarks respectively - Wrote continuous benchmarking and how to install the CLI pages
- Update server framework, dropshot, and Rust to
1.67.0 - Two new C++ adapters for Google Benchmark and Catch2
- Add an adapter for
go test -bench
v0.2.30
- Added
--if-else-branch,--else-branch, and--endif-branchflags to tobencher runCLI - Wrote a branch management explanation page for using
bencher run - Completely refactored docs UI configuration to make it easier to add new pages, one place instead of three
- Made the Diataxis convention explicit in the docs
- Fixed bounds bug in
bencher mock - Added a
/v0/server/backuproute andbencher server backupCLI command to perform database backups with options to compress, push to a remote data store (currently only AWS S3), and remove the local copy
v0.2.29
- Fixed and refixed Criterion empty benchmark name bug
- Type level checking for benchmark names and metric kind resource IDs
- Added documentation: Quick Start, Prior Art, and GitHub Actions how to
- Prettier and eslint added to CI/CD
- Stubbed out UI tests with
vitestin CI/CD
v0.2.28
- Centralized all validation logic between frontend and backend via Rust + WASM modules
- All pages in the UI now have basic functionality
- Added public project perf pages
v0.2.27
- Fixed the UI y-axis scale cutoff issue! Note to self: RTFD
- Fixed the UI documentation + routing bug! It turns out
SwaggerUIBundlewas the solution. - Added Metric Kind list, add, and view to UI
- In perf queries allowed for both UUIDs and slugs for branches and testbeds
- Added bencher.dev to Google Search Console and Analytics
- Changed API server default URL to always be localhost:3000
- Moved Docker UI build stage into its own
builder.Dockerfile, mirroring the API setup - Created a better default for the UI’s backend API URL, basically
this-host:61016 - Created a walking skeleton of adding Rust + WASM modules to the UI in both dev and CI/CD
- Fixed UI logout + routing “too many redirects” bug
- Changed notifications from state based to URL query param based in the UI
- Refactored how pathname and redirects are handled in the UI to increase encapsulation
- Added the current version to the UI
BETAtag - Created a repo shortcut at bencher.dev/repo