Releases: flashbots/mev-boost
v1.8
What's changed
MEV-Boost v1.8 includes two noteworthy (albeit minor) changes, and a bit of cleanup and dependency updates.
✨ Noteworthy changes
- Add request start time metrics to request header field by @bhakiyakalimuthu in #647
- Remove capella types by @avalonche in #650
🏗️ Cleanups & refactoring
- server: refactor process*Payload functions by @MariusVanDerWijden in #644
- cmd/mev-boost: add urfave as cli framework by @MariusVanDerWijden in #660
- common: simplify floatToEth by @MariusVanDerWijden in #639
- cli: refactor sanitizeMinBid by @MariusVanDerWijden in #641
- server: move mock relay into mock package by @MariusVanDerWijden in #642
- Use go-eth2-client's IsInfinity() to check relay pubkey by @jtraglia in #630
- Remove auction transcript code by @jtraglia in #629
- urfave flags fix by @metachris in #673
- Fix duplicate GENESIS_FORK_VERSION env flag by @bhakiyakalimuthu in #676
Dependency updates
- Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #632
- Bump github.com/attestantio/go-builder-client from 0.4.2 to 0.4.5 by @dependabot in #638
- Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 by @dependabot in #634
- Bump github.com/ethereum/go-ethereum from 1.13.14 to 1.14.7 by @dependabot in #662
- Bump github.com/holiman/uint256 from 1.3.0 to 1.3.1 by @dependabot in #669
New Contributors
- @MariusVanDerWijden made their first contribution in #639
- @bhakiyakalimuthu made their first contribution in #647
Full Changelog
Docker Images
https://hub.docker.com/r/flashbots/mev-boost/tags
flashbots/mev-boost:1.8
flashbots/mev-boost:latest
v1.8-rc4
What's Changed
- Remove auction transcript code by @jtraglia in #629
- common: simplify floatToEth by @MariusVanDerWijden in #639
- cli: refactor sanitizeMinBid by @MariusVanDerWijden in #641
- server: move mock relay into mock package by @MariusVanDerWijden in #642
- Use go-eth2-client's IsInfinity() to check relay pubkey by @jtraglia in #630
- Add request start time metrics to request header field by @bhakiyakalimuthu in #647
- Remove capella types by @avalonche in #650
- Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #632
- Bump github.com/attestantio/go-builder-client from 0.4.2 to 0.4.5 by @dependabot in #638
- Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 by @dependabot in #634
- Bump github.com/ethereum/go-ethereum from 1.13.14 to 1.14.7 by @dependabot in #662
- Bump github.com/holiman/uint256 from 1.3.0 to 1.3.1 by @dependabot in #669
- server: refactor process*Payload functions by @MariusVanDerWijden in #644
- cmd/mev-boost: add urfave as cli framework by @MariusVanDerWijden in #660
- urfave flags fix by @metachris in #673
- Fix duplicate GENESIS_FORK_VERSION env flag by @bhakiyakalimuthu in #676
New Contributors
- @MariusVanDerWijden made their first contribution in #639
- @bhakiyakalimuthu made their first contribution in #647
Full Changelog: v1.7.1...v1.8-rc4
Docker images: https://hub.docker.com/r/flashbots/mev-boost/tags
v1.7
What's Changed
Deneb ready release for mainnet. Required upgrade for upcoming mainnet dencun fork on March 13 13:55:35 UTC.
If building from source please upgrade to the latest stable go version (1.22.0)
Noteworthy Changes
- Adding Deneb support and types in #553
- Adding holesky network support in #585
- Replaced go-boost-util types with attestant types
Various
- Add ultra sound relay to RELEASE.md by @JustinDrake in #539
- Remove process bellatrix payload by @avalonche in #537
- Remove wrapper types for get header response by @avalonche in #538
- fix build version by @metachris in #542
- Upgrade go-boost-utils by @avalonche in #523
- Add genesis time for testnets by @nalepae in #540
- Remove redundant type conversions by @jtraglia in #551
- fix ci run for develop branch, also fixes test badge by @metachris in #556
- Remove unused HeaderKeyForkVersion by @jtraglia in #552
- Update CONTRIBUITING.md doc by @MCarlomagno in #573
- fix: holesky genesis timestamp by @aimxhaisse in #590
- Deneb follow up by @avalonche in #608
Dependency updates
- Bump github.com/attestantio/go-eth2-client from 0.17.0 to 0.18.0 by @dependabot in #545
- Bump github.com/holiman/uint256 from 1.2.2 to 1.2.3 by @dependabot in #548
- Bump github.com/google/uuid from 1.3.0 to 1.3.1 by @dependabot in #561
- Bump github.com/flashbots/go-boost-utils from 1.7.1-0.20230625230411-8c44018f4777 to 1.7.1 by @dependabot in #566
- Bump github.com/ethereum/go-ethereum from 1.12.2 to 1.13.4 by @dependabot in #575
- Bump github.com/flashbots/go-utils from 0.4.8 to 0.5.0 by @dependabot in #569
- Bump github.com/attestantio/go-builder-client from 0.3.2-0.20230626105718-423f7ec4ad24 to 0.4.2 by @dependabot in #596
- Bump github.com/google/uuid from 1.3.1 to 1.5.0 by @dependabot in #597
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in #598
- Bump github.com/ethereum/go-ethereum from 1.13.4 to 1.13.9 by @dependabot in #604
- Bump github.com/gorilla/mux from 1.8.0 to 1.8.1 by @dependabot in #584
- Bump github.com/attestantio/go-eth2-client from 0.18.3 to 0.19.8 by @dependabot in #602
- Bump github.com/gorilla/mux from 1.8.0 to 1.8.1 by @dependabot in #610
- Bump github.com/google/uuid from 1.5.0 to 1.6.0 by @dependabot in #615
- Bump github.com/attestantio/go-eth2-client from 0.19.8 to 0.19.10 by @dependabot in #611
New Contributors
- @JustinDrake made their first contribution in #539
- @nalepae made their first contribution in #540
- @MCarlomagno made their first contribution in #573
- @aimxhaisse made their first contribution in #590
Full Changelog
Docker Images
https://hub.docker.com/r/flashbots/mev-boost/tags
flashbots/mev-boost:1.7
flashbots/mev-boost:latest
v1.6
What's changed
Most noteworthy
- Send
getPayload
requests to all relays (for additional data availability) in #531 - Log ms into slot when getHeader/getPayload requests start in #508
- Add per-slot-uid to getHeader and getPayload in #498
- Log slot-uid in #536
- Logs with millisecond timestamp in #534
- Allow skipping relay signature check in #504
- Replace blst with gnark-crypto, simplify builds in #479
Various
- Produce statically linked builds by @metachris in #473
- readme + release cleanup in #468
- fix: goerli/prater genesis validator root by @nick-staked in #474
- Removed two references to the flashbot relay by @fredriksvantes in #491
- Do not allow relays to have point-at-infinity pubkey by @jtraglia in #493
- only run github ci checks once in #494
- docs: main -> develop branch in #509
- docker badge for readme in #515
- remove forkversion header (it's unused and not necessary) in #533
- Clarify release docs in #535
Dependency updates
- Bump github.com/attestantio/go-eth2-client from 0.15.6 to 0.15.8 by @dependabot in #487
- Bump github.com/flashbots/go-boost-utils from 1.4.1 to 1.5.0 by @dependabot in #490
- Bump github.com/attestantio/go-builder-client from 0.2.6-0.20230105014332-e601ac7db862 to 0.2.8 by @dependabot in #488
- Bump github.com/holiman/uint256 from 1.2.1 to 1.2.2 by @dependabot in #486
- Bump github.com/ethereum/go-ethereum from 1.11.5 to 1.11.6 by @dependabot in #495
- Bump github.com/flashbots/go-boost-utils from 1.5.0 to 1.6.0 by @dependabot in #502
- Bump attestant go-eth2-client to 0.16.3 and go-builder-client to 0.3.0 by @avalonche in #505
- Bump github.com/sirupsen/logrus from 1.9.0 to 1.9.1 by @dependabot in #512
- Bump github.com/sirupsen/logrus from 1.9.1 to 1.9.2 by @dependabot in #513
- Bump github.com/stretchr/testify from 1.8.2 to 1.8.3 by @dependabot in #514
- Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 by @dependabot in #521
- Bump github.com/ethereum/go-ethereum from 1.11.6 to 1.12.0 by @dependabot in #520
- Bump github.com/sirupsen/logrus from 1.9.2 to 1.9.3 by @dependabot in #522
- Bump github.com/attestantio/go-builder-client from 0.3.0 to 0.3.1 by @dependabot in #526
- Bump github.com/attestantio/go-eth2-client from 0.16.3 to 0.17.0 by @dependabot in #528
New Contributors
- @nick-staked made their first contribution in #474
- @fredriksvantes made their first contribution in #491
Note on portable builds
We're happy to announce that we've obviated the need for portable builds. They've been necessary due to the previously used blst library, which we've replaced with gnark-crypto #479
From now on, everyone can use the regular builds!
Full Changelog
Docker Images
https://hub.docker.com/r/flashbots/mev-boost/tags
flashbots/mev-boost:1.6
flashbots/mev-boost:latest
v1.5.1-alpha1
This release is primarily to test the new statically linked builds!
What's Changed
- readme + release cleanup by @metachris in #468
- Produce statically linked builds by @metachris in #473
- fix in test-cli: goerli/prater genesis validator root by @nick-staked in #474
New Contributors
- @nick-staked made their first contribution in #474
Full Changelog: v1.5.0...v1.5.1-alpha1
v1.5.0
What's Changed
Capella readiness
- Capella decode and fallback to bellatrix by @avalonche in #431
- Upgrade getHeader for capella with fallback to bellatrix encoding by @avalonche in #442
- Add Zhejiang network config by @avalonche in #444
See this writeup for more information about the Capella changes across the MEV-Boost ecosystem.
getPayload retries
mev-boost will retry the getPayload request, in case of network (or other) errors.
- getPayload retries by @avalonche in #340
- getPayload retry with 100ms timeout by @metachris in #465
Various updates
- use Go v1.20 by @metachris in #454
- add missing env vars, fix log to stdout by @metachris in #401
- Now logs to stdout by default, earlier versions used to log to stderr
- fix CI latest Docker image tagging by @metachris in #413
- Future-proof CI (getting the version) by @metachris in #406
- Update bug-bounty details by @metachris in #408
- README: added instructions for -min-bid by @metachris in #417
- readme fixes by @metachris in #420
- Change vars to const by @estensen in #423
- readme: remove docker latest-portable instructions by @metachris in #425
- When building the docker, cache mod download by @Ruteri in #429
- Update README.md by @ralexstokes in #439
- don't log alerting message on default bellatrix getPayload fallback by @metachris in #453
- Compute block hash correctly for capella payload by @avalonche in #457
- fix broken link typo by @mteam88 in #463
Dependency upgrades
- Bump github.com/attestantio/go-eth2-client from 0.15.1 to 0.15.6 by @dependabot in #450
- Bump github.com/ethereum/go-ethereum from 1.11.1 to 1.11.3 by @dependabot in #464
New Contributors
Troubleshooting
GLIBC_2.34 not found
The previous binaries attached to this release didn't work with Ubuntu 20.04 LTS, and would give you this error:
/lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34 not found
Resolution:
- We've updated the Linux/AMD binary in this release with a statically linked one that also works in Ubuntu 20.04 (
mev-boost_1.5.0_linux_amd64.tar.gz
, sha256:6356098bdf466cb7907e09a31e9d369a899685f4aa1830f950c2e5ac32b01bec
). Re-download from below and all should work! - For ARM, you can find statically linked binaries here
- Remember that you can always install mev-boost with
go install github.com/flashbots/mev-boost@latest
- And you can run mev-boost in Docker too
- (see also #473 and #469)
Exec format error
You're probably using the wrong binary for your operating system architecture.
Full Changelog
Docker Images
https://hub.docker.com/r/flashbots/mev-boost/tags
flashbots/mev-boost:1.5.0-portable
flashbots/mev-boost:1.5.0
flashbots/mev-boost:latest
v1.5.0-alpha2
What's Changed
Capella readiness
- Capella decode and fallback to bellatrix by @avalonche in #431
- Upgrade getHeader for capella with fallback to bellatrix encoding by @avalonche in #442
- Add Zhejiang network config by @avalonche in #444
See this writeup for more information about the Capella changes across the MEV-Boost ecosystem.
Other major updates
- getPayload retries by @avalonche in #340
- getPayload retry with 100ms timeout by @metachris in #465
- use Go v1.20 by @metachris in #454
Various updates
- fix CI latest Docker image tagging by @metachris in #413
- add missing env vars, fix log to stdout by @metachris in #401
- Future-proof CI (getting the version) by @metachris in #406
- Update bug-bounty details by @metachris in #408
- README: added instructions for -min-bid by @metachris in #417
- readme fixes by @metachris in #420
- Change vars to const by @estensen in #423
- readme: remove docker latest-portable instructions by @metachris in #425
- When building the docker, cache mod download by @Ruteri in #429
- Update README.md by @ralexstokes in #439
- don't log alerting message on default bellatrix getPayload fallback by @metachris in #453
- Compute block hash correctly for capella payload by @avalonche in #457
- fix broken link typo by @mteam88 in #463
Dependency upgrades
- Bump github.com/attestantio/go-eth2-client from 0.15.1 to 0.15.6 by @dependabot in #450
- Bump github.com/ethereum/go-ethereum from 1.11.1 to 1.11.3 by @dependabot in #464
New Contributors
Full Changelog
Docker Images
https://hub.docker.com/r/flashbots/mev-boost/tags
flashbots/mev-boost:1.5.0-alpha2-portable
flashbots/mev-boost:1.5.0-alpha2
v1.5.0-alpha1
What's Changed
Capella readiness
- Capella decode and fallback to bellatrix by @avalonche in #431
- Upgrade getHeader for capella with fallback to bellatrix encoding by @avalonche in #442
- Add Zhejiang network config by @avalonche in #444
See this writeup for more information about the Capella changes across the MEV-Boost ecosystem.
Other major updates
- getPayload retries by @avalonche in #340
- use Go v1.20 by @metachris in #454
Various updates
- fix CI latest Docker image tagging by @metachris in #413
- add missing env vars, fix log to stdout by @metachris in #401
- Future-proof CI (getting the version) by @metachris in #406
- Update bug-bounty details by @metachris in #408
- README: added instructions for -min-bid by @metachris in #417
- readme fixes by @metachris in #420
- Change vars to const by @estensen in #423
- readme: remove docker latest-portable instructions by @metachris in #425
- When building the docker, cache mod download by @Ruteri in #429
- Update README.md by @ralexstokes in #439
- don't log alerting message on default bellatrix getPayload fallback by @metachris in #453
- Compute block hash correctly for capella payload by @avalonche in #457
- fix broken link typo by @mteam88 in #463
Dependency upgrades
- Bump github.com/attestantio/go-eth2-client from 0.15.1 to 0.15.6 by @dependabot in #450
- Bump github.com/ethereum/go-ethereum from 1.11.1 to 1.11.3 by @dependabot in #464
New Contributors
Full Changelog
Docker Images
https://hub.docker.com/r/flashbots/mev-boost/tags
flashbots/mev-boost:1.5.0-alpha1-portable
flashbots/mev-boost:1.5.0-alpha1
v1.4.0
Major improvements
- Allow setting a minimum bid value in ETH (using
-min-bid
flag) by @allboxes in #274 - Add new relay/relay-monitor flags that can be used multiple times by @jtraglia in #351
- Add a
-log-service
cli flag by @metachris in #355 - Always log the version fix loglevel config by @metachris in #362
getHeader
: print bid value in eth instead of wei by @metachris in #366- Use mainnet by default by @metachris in #381
- Allow sending auction transcript to relay monitor by @avalonche in #297
- Print relays/monitors on individual lines by @jtraglia in #349
- Validate blockhash that the relayer responds with by @avalonche in #299
- getPayload: log info only if request was cancelled because another relay delivered the payload already by @metachris in #356
- Add mev-boost version as response header to status API call by @metachris in #394
- Update to Go 1.19 by @metachris in #397
Minor Improvements
- Debrand the repository by @come-maiz in #403
- readme: link to remroy's guide by @metachris in #344
- Improved documentation and checklist for releasing a new version, by @metachris in #343
- Release checklist improvements by @metachris in #346
- Add gofumpt to lint checks by @jtraglia in #347
- Remove unnecessary log.WithField calls, by @jtraglia in #350
- style: remove old relays from readme by @bertmiller in #353
- Various updates to Readme - on nmoreau's readme-update-dev by @kailinr in #339
- readme cleanup, removed -kiln and -ropsten cli args by @metachris in #354
- Fix systemd configuration section in readme by @jtraglia in #360
- Build docker image on tags without - only (i.e. not for -rc1, -beta) by @metachris in #345
- Fixed a few minor things by @jtraglia in #361
- update release docs, add infos about stable branch by @metachris in #363
- Cleanup deprecated testnets from docs by @avalonche in #368
- Enable more golangci checks & remove revive by @jtraglia in #367
- Remove recommended FB relay from README by @Buttaa in #293
- Bump [github.com/flashbots/go-boost-utils](http://github.com/flashbots/go-boost-utils) from 1.2.0 to 1.2.1 by @dependabot in #369
- fix linter - removed extra whiteline by @metachris in #374
- accept gzip encoding by @dmarzzz in #365
- remove manual gzipping of request, as it's done automatically! by @metachris in #383
- readme: clarify that usage is about main branch by @metachris in #376
- Minor release fixes for v1.4.0 by @metachris in #379
- fix docker ci release, cleanup readme and [release.md](http://release.md/) by @metachris in #380
- Github CI: portable Docker image suffix by @metachris in #384
- Run gocritic linter by @estensen in #303
- Bump [github.com/stretchr/testify](http://github.com/stretchr/testify) from 1.8.0 to 1.8.1 by @dependabot in #385
- Render usage as text instead of bash by @jtraglia in #388
- Update broken link
Why run mev-boost?
in README by @franciscodiazydiaz in #391 - Add bug bounty section to readme by @jtraglia in #389
- Bump [github.com/flashbots/go-boost-utils](http://github.com/flashbots/go-boost-utils) from 1.2.1 to 1.2.2 by @dependabot in #390
- Ensure that fork version is 4 bytes by @jtraglia in #395
New Contributors
- @bertmiller made their first contribution in #353
- @Buttaa made their first contribution in #293
- @dependabot made their first contribution in #369
- @allboxes made their first contribution in #274
- @franciscodiazydiaz made their first contribution in #391
- Full Changelog: v1.3.2...v1.4.0
- Updated Docker images: https://hub.docker.com/r/flashbots/mev-boost
Usage
$ mev-boost -help
Usage of mev-boost:
-addr string
listen-address for mev-boost server (default "localhost:18550")
-debug
shorthand for '-loglevel debug'
-genesis-fork-version string
use a custom genesis fork version
-goerli
use Goerli
-json
log in JSON format instead of text
-log-no-version
disables adding the version to every log entry
-log-service string
add a 'service=...' tag to all log messages
-loglevel string
minimum loglevel: trace, debug, info, warn/warning, error, fatal, panic (default "info")
-mainnet
use Mainnet (default true)
-min-bid float
minimum bid to accept from a relay [eth]
-relay value
a single relay, can be specified multiple times
-relay-check
check relay status on startup and on the status API call
-relay-monitor value
a single relay monitor, can be specified multiple times
-relay-monitors string
relay monitor urls - single entry or comma-separated list (scheme://host)
-relays string
relay urls - single entry or comma-separated list (scheme://pubkey@host)
-request-timeout-getheader int
timeout for getHeader requests to the relay [ms] (default 950)
-request-timeout-getpayload int
timeout for getPayload requests to the relay [ms] (default 4000)
-request-timeout-regval int
timeout for registerValidator requests [ms] (...
v1.3.2
Summary
Most important updates:
getPayload
requests are sent only to the relay(s) which had the bid (not to every relay as before)- Enhanced logging which simplifies debugging, in particular on errors
- Improved e2e testing with the EF test data. Fixed potential issue with voluntary exits.
-debug
cli argument to enable debug logs
What's Changed
- fixed this annoying flaky test in #327
- Parallel relay check in #325
- pretty print relays on startup in #332
- Added
-debug
flag (shorthand for-loglevel debug
) in #331 - log version on getHeader and getPayload in #328
- add e2e test with known signed-blinded-beacon-block in #326
- getpayload: log request body on error in #333
- cleanup relay-status check in #335
- Dependency updates, fix SignedVoluntaryExit in #338
- getPayload only to origin relays in #342
Testing
- Live testing of release candidate by Kiln.fi on Sepolia 🙏
- CI and manual testing
Signed off by
@avalonche @kailinr @metachris
Full Changelog: v1.3.1...v1.3.2
Updated images are available on Docker Hub: https://hub.docker.com/r/flashbots/mev-boost
Usage
$ mev-boost -help
Usage of mev-boost:
-addr string
listen-address for mev-boost server (default "localhost:18550")
-debug
shorthand for '-loglevel debug'
-genesis-fork-version string
use a custom genesis fork version
-goerli
use Goerli
-json
log in JSON format instead of text
-kiln
use Kiln
-loglevel string
minimum loglevel: trace, debug, info, warn/warning, error, fatal, panic (default "info")
-mainnet
use Mainnet
-relay-check
check relay status on startup and on the status API call
-relay-monitors string
relay monitor urls - single entry or comma-separated list (scheme://host)
-relays string
relay urls - single entry or comma-separated list (scheme://pubkey@host)
-request-timeout-getheader int
timeout for getHeader requests to the relay [ms] (default 950)
-request-timeout-getpayload int
timeout for getPayload requests to the relay [ms] (default 4000)
-request-timeout-regval int
timeout for registerValidator requests [ms] (default 3000)
-ropsten
use Ropsten
-sepolia
use Sepolia
-version
only print version