Skip to content

Releases: flashbots/mev-boost-relay

v0.31.0

13 May 17:54
v0.31.0
f62940b
Compare
Choose a tag to compare
v0.31.0 Pre-release
Pre-release

This release significantly improves latency for registerValidator and getHeader requests by introducing a better registration cache, and avoiding most of the CPU-intensive serialization overhead. For more details, see also #729

image

image

This release also allows pprof to run on separate server + port, allowing for longer timeouts. For this, we changed the PPROF environment variable to `PPROF_ADDR, which you may need to update if you've used pprof before:

  • Before: --pprof / PPROF
  • New: --pprof-listen-addr / PPROF_ADDR

What's changed since v0.30.0

  • Enabled pprof to run on separate server + port, to allow for longer timeouts. For this, we changed the PPROF environment variable to `PPROF_ADDR. PR @ilyaluk in #727
  • Improved registerValidator latency by fixing registration cache by @metachris and @ilyaluk #729
  • Try fixing registerValidator cache misses by @metachris in #720
  • Add a local registerValidator cache to avoid going to redis by @metachris in #721
  • Log JSON-RPC error data from validation node by @ilyaluk in #723
  • Remove unnecessary fields from GetStateValidatorsResponse by @ilyaluk in #728
  • Switch to goccy/go-json by @ilyaluk in #730

Full Changelog: v0.30.0...v0.31.0

Docker Image: flashbots/mev-boost-relay:0.31.0

v0.30.2

12 May 09:40
2e6028d
Compare
Choose a tag to compare
v0.30.2 Pre-release
Pre-release

What's Changed

This release includes the following minor updates:

  1. Changed PPROF environment variable to PPROF_ADDR, allowing pprof to be exposed on a separate server, which allows for longer request timeouts to collect longer profiles. PR: Improve pprof in api service by @ilyaluk in #727
  2. Add a local registerValidator cache to avoid going to redis by @metachris in #721
  3. Log JSON-RPC error data from validation node by @ilyaluk in #723

Full Changelog: v0.30.1...v0.30.2

v0.30.1

06 May 22:01
076315b
Compare
Choose a tag to compare
v0.30.1 Pre-release
Pre-release

v0.30.1 is a recommended, but not critical upgrade to the Pectra-ready v0.30.0 release.

This patch fixes caching registerValidator requests for SSZ-encoded payloads (re-validating BLS signatures is heavy on CPU and should be avoided).

Changes

  • Fixing registerValidator cache misses in #720

Impact

  • Cached registrations reduce the number of BLS signature validations
  • Increased Redis cache-hit rate
  • Increased Redis storage: "Bytes Used For Cache" doubles (because now storing the full registration in cache, instead of only the timestamp).
  • Improved registerValidator logging

Background

The timestamp in validator registrations are updated frequently, which made the API revalidate every incoming validator registration. The implemented solution stores the full registration in Redis (instead of only the timestamp), and discards any registrations that wouldn't change any fields anyway.

Full Changelog

v0.30.0...v0.30.1

v0.30.0

30 Apr 18:16
fdbb01a
Compare
Choose a tag to compare

⚠️ This is the first Pectra-compatible version of MEV-Boost-Relay! ⚠️

Note

The Pectra upgrade will happen at epoch 364032 (May 7, 2025, 10:05:11am UTC).

Noteworthy Changes

This update includes a database migration: https://github.com/flashbots/mev-boost-relay/blob/main/database/migrations/011_bid_add_simulated_block_value.go

Various Updates

Version Updates

  • Upgrade to go 1.24 and fix lint errors by @jtraglia in #681
  • Bump github.com/attestantio/go-eth2-client from 0.19.9 to 0.21.1 by @dependabot in #595
  • Bump github.com/alicebob/miniredis/v2 from 2.31.0 to 2.32.1 by @dependabot in #590
  • Bump github.com/btcsuite/btcd from 0.23.0 to 0.24.0 by @dependabot in #617
  • Bump golang.org/x/crypto from 0.20.0 to 0.31.0 by @dependabot in #663
  • Bump github.com/btcsuite/btcd from 0.24.0 to 0.24.2 by @dependabot in #664
  • Bump github.com/attestantio/go-builder-client from 0.6.1-0.20250218155713-9f16ff484247 to 0.6.1 by @dependabot in #683
  • Update all dependencies by @jtraglia in #682
  • Update key dependencies by @metachris in #709

New Contributors


Full Changelog: v0.29.1...v0.30.0

Docker Image: flashbots/mev-boost-relay:0.30.0

v0.30.0-rc1

20 Feb 18:38
v0.30.0-rc1
b261d60
Compare
Choose a tag to compare
v0.30.0-rc1 Pre-release
Pre-release

Upgrade notes

This is the current Pectra release candidate.

It is not recommended to run this in production until it has been fully tested.


What's Changed


Database migrations

This release includes one database migration:

Migrations will automatically be applied when starting a new instance.


New Contributors

Special Mentions

Big shoutout to @jtraglia and @ryanschneider for all the hard work around Pectra!


Full Changelog: v0.29.1...v0.30.0-rc1

v0.29.1

15 Feb 17:46
108d5e3
Compare
Choose a tag to compare

Upgrade Notes

Recommended upgrade from v0.29 as this fixes a misconfiguration in the publish block flag in which the flag publishes the wrong way around.
In the v0.29 release the USE_V2_PUBLISH_BLOCK_ENDPOINT flag was removed in favor of the USE_V1_PUBLISH_BLOCK_ENDPOINT flag which enabled the v1 publish block endpoint. However that was not configured correctly in the last release which resulted in the v2 publish block endpoint being enabled if the USE_V1_PUBLISH_BLOCK_ENDPOINT flag was set and vice versa.

Also adds a blob column to the relay website to show the number of blobs contained in the block

What's Changed

Special Mentions

Thank you and shout out to @alextes for reporting #581 for the flag misconfiguration and raising a fix.

Full Changelog: v0.29...v0.29.1

Docker Image: flashbots/mev-boost-relay:0.29.1

v0.29

30 Jan 19:29
72fab1a
Compare
Choose a tag to compare

Upgrade Notes

  • This release adds support for the upcoming Deneb fork and is fully backwards compatible with Capella
  • Ensure the beacon node is upgraded and restart the relay before the fork so the relay gets the latest fork schedule. The relay will not error if the Deneb fork schedule is not found.

What's Changed

  • Deneb Support by @avalonche in #564
  • Various type clean ups and completely migrated to attestant types.

Uses the v2 publish block endpoint on the CL by default

  • the USE_V2_PUBLISH_BLOCK_ENDPOINT flag is removed.
  • to switch to the v1 endpoint set the USE_V1_PUBLISH_BLOCK_ENDPOINT environment variable.

Dependency Updates

  • Bump github.com/gorilla/mux from 1.8.0 to 1.8.1 by @dependabot in #550
  • Bump github.com/spf13/cobra from 1.6.1 to 1.8.0 by @dependabot in #551
  • Bump golang.org/x/text from 0.13.0 to 0.14.0 by @dependabot in #552
  • Bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in #561
  • Bump github.com/attestantio/go-eth2-client from 0.16.4 to 0.19.9 by @dependabot in #565
  • Bump github.com/attestantio/go-builder-client from 0.3.0 to 0.4.2 by @dependabot in #559

Full Changelog: v0.28...v0.29

Docker Image: flashbots/mev-boost-relay:0.29

v0.28

12 Dec 18:03
9857611
Compare
Choose a tag to compare

Upgrade Notes

  • This release adds holesky support with the flag --network holesky

What's Changed

Adds a new LINK_DATA_API env var on the relay website for custom network customization. Also some caching optimizations for building the docker image.

Dependency Updates

  • Bump github.com/flashbots/go-utils from 0.4.12 to 0.5.0 by @dependabot in #533
  • Bump github.com/ethereum/go-ethereum from 1.12.2 to 1.13.1 by @dependabot in #531
  • Bump github.com/ethereum/go-ethereum from 1.13.1 to 1.13.4 by @dependabot in #542
  • Bump golang.org/x/net from 0.10.0 to 0.17.0 by @dependabot in #540
  • Bump github.com/alicebob/miniredis/v2 from 2.30.5 to 2.31.0 by @dependabot in #539

New Contributors

Full Changelog: v0.27...v0.28

Docker Image: flashbots/mev-boost-relay:0.28

v0.27

18 Sep 18:43
01fd186
Compare
Choose a tag to compare

Upgrade Notes

  • This release adds a new feature flag USE_V2_PUBLISH_BLOCK_ENDPOINT to allow the relay to switch over to the v2 endpoint for block publishing on the consensus client. We recommend lighthouse v4.4.1.
  • The broadcast mode is configurable via the BROADCAST_MODE environment variable (default is the consensus_and_equivocation mode)

What's Changed

There is some refactoring in preparation for the optimistic v2 submission flow and preparation for the deneb fork in this release.

Refactoring and code cleanup

  • refactor(redis): rename tx to pipeliner by @alextes in #499
  • [code cleanup] fix handleGetPayload to save every payload once the signature is verified by @michaelneuder in #512
  • [code health] Refactor fee recipient check in handleSubmitNewBlock by @michaelneuder in #479
  • [code health] refactor payload attrs checks in handleSubmitNewBlock by @michaelneuder in #491
  • [code health] refactor slot details checks in handleSubmitNewBlock by @michaelneuder in #494
  • [code health] rename cont to ok by @michaelneuder in #497
  • [code health] refactor builder entry checks to independent function by @michaelneuder in #498
  • [code health] refactor floor bid checks to independent function by @michaelneuder in #513
  • [code health] refactor redis update to independent function by @michaelneuder in #514

Dependency Updates

  • Bump golang.org/x/text from 0.9.0 to 0.10.0 by @dependabot in #462
  • Bump github.com/alicebob/miniredis/v2 from 2.30.3 to 2.30.4 by @dependabot in #474
  • Bump github.com/rubenv/sql-migrate from 1.4.0 to 1.5.1 by @dependabot in #473
  • Bump golang.org/x/text from 0.10.0 to 0.11.0 by @dependabot in #478
  • Bump github.com/holiman/uint256 from 1.2.2 to 1.2.3 by @dependabot in #481
  • Bump github.com/rubenv/sql-migrate from 1.5.1 to 1.5.2 by @dependabot in #484
  • Bump golang.org/x/text from 0.11.0 to 0.12.0 by @dependabot in #502
  • Bump github.com/flashbots/go-utils from 0.4.8 to 0.4.11 by @dependabot in #503
  • Bump github.com/alicebob/miniredis/v2 from 2.30.4 to 2.30.5 by @dependabot in #504
  • Bump github.com/ethereum/go-ethereum from 1.12.0 to 1.12.2 by @dependabot in #508
  • Bump golang.org/x/text from 0.12.0 to 0.13.0 by @dependabot in #515
  • Bump github.com/flashbots/go-utils from 0.4.11 to 0.4.12 by @dependabot in #523

New Contributors

Full Changelog: v0.26...v0.27
Docker Image: flashbots/mev-boost-relay:0.27

v0.26

07 Jun 10:41
v0.26
16fc161
Compare
Choose a tag to compare

Upgrade Notes

  • This release changes the Redis storage key for Capella execution payloads (where the proposer API looks up the getPayload response). You should update both builder-API and proposer-API simultaneously! See PR #448 for more details.
  • We recommend to run prio-load-balancer v0.9 or later (but it is not required)
  • This release significantly improves Redis performance and reduces the number of simulations ⚡

What's Changed

Major Performance Improvements

See also the write-ups about the performance improvements: part 1, part 2.

Redis Performance improvements

  • Redis pipelining for block submissions in #435
  • More Redis pipelining for block submissions by @metachris in #447
  • Redis: save ExecPayload in SSZ format (requires update of both builder-API and proposer-API ⚠️) in #448
  • enable readonly redis for website + minor cleanup in #432
  • batch upload known validators to Redis by @EliasiOfir in #375
  • allow more redis connection options in #419
  • disable 'active validators' in #439
  • get known validators from CL client in #440

Reduced number of simulations

  • process cancellable bids below floor correctly in #401
  • Don't fast-track large block submissions in #451

Other Major Improvements

  • Fix bug in using database execution payload fallback in #458
  • [safety feature] getHeader cutoff, don't return bids to proposer after that in #446

Minor Improvements

  • block submission: add request ID for prio-load-balancer in #438
  • Pprof for housekeeper in #407
  • Improve logging on getPayload error in #452
  • datastore tests in #460
  • Minor additional logging for block submissions in #444
  • make ignorable validation errors opt-in in #423
  • Change from Niclas to write optimistic sim errors to submissions db by @michaelneuder in #417
  • minor builder signature check log improvement in #449
  • docs: more redis improvements in #453
  • gzip testdata in #459
  • Minor memcache cleanup in #450
  • ADR about performance improvements, additional docs in #445
  • fix(readme): swap testnet links by @rkrasiuk in #418
  • retract removed tags in #421
  • chore(website): update builder link by @rkrasiuk in #426
  • cleanup in #428
  • fix SetMultiKnownValidator in #429
  • [cleanup] Reorder internal API field in the struct by @michaelneuder in #434
  • [cleanup] remove bellatrix from main paths by @michaelneuder in #436

Dependency Updates

  • Bump github.com/stretchr/testify from 1.8.2 to 1.8.3 by @dependabot in #420
  • Bump github.com/sirupsen/logrus from 1.9.0 to 1.9.2 by @dependabot in #415
  • Bump github.com/sirupsen/logrus from 1.9.2 to 1.9.3 by @dependabot in #455
  • Bump github.com/attestantio/go-eth2-client from 0.16.3 to 0.16.4 by @dependabot in #454
  • Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 by @dependabot in #437
  • Bump github.com/ethereum/go-ethereum from 1.11.6 to 1.12.0 by @dependabot in #431
  • Bump github.com/alicebob/miniredis/v2 from 2.30.2 to 2.30.3 by @dependabot in #441

New Contributors


Full Changelog:

Docker image: flashbots/mev-boost-relay:0.26