Releases: flashbots/mev-boost-relay
v0.29.1
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
- Add Blob column to website by @avalonche in #576
- Publish block V1 flag fix by @avalonche in #585
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
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
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.
- ci/cache docker layers by @paulopontesm in #543
- website custom data origin by @sukoneck in #549
- Add holesky support in relay by @avalonche in #554
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
- @paulopontesm made their first contribution in #543
- @sukoneck made their first contribution in #549
Full Changelog: v0.27...v0.28
Docker Image: flashbots/mev-boost-relay:0.28
v0.27
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 theconsensus_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.
- Switch to publishBlockV2 endpoint by @avalonche in #492
- Add feature flags for backwards compatibility by @avalonche in #521
- Allow fork epochs to be 0 by @avalonche in #520
- database migration guide by @metachris in #464
- Graceful startup/shutdown + zero-downtime deployments by @metachris in #469
- update docs for zero-downtime deployments by @metachris in #472
- datastore GetGetPayloadResponse logging cleanup by @metachris in #465
- Return instead of using empty bidTrace by @michaelneuder in #467
- [fix]
redis.GetBidTrace
should returnerr=redis.Nil
on missing item by @metachris in #468 - Clean up deprecated forks and add deneb support by @avalonche in #486
- Rename broadcast validation to broadcast mode and add docs by @avalonche in #506
- Create ssz type: SubmitBlockRequestV2Optimistic by @michaelneuder in #518
- Fix false positive in boolean flag by @alextes in #500
- Update website.html by @freddmannen in #526
- Fix nil pointer on log in builder submission by @avalonche in #529
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
- @alextes made their first contribution in #499
- @freddmannen made their first contribution in #526
Full Changelog: v0.26...v0.27
Docker Image: flashbots/mev-boost-relay:0.27
v0.26
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:
- Since last full release: v0.23...v0.26
- Since last pre-release: v0.25-alpha1...v0.26
Docker image: flashbots/mev-boost-relay:0.26
v0.25-alpha1
What's Changed
Huge performance improvements around block submission / validation performance ⚡
- Skipping a large chunk of validations because they are below the bid floor
- the highest non-cancellable bid presents a hard floor, under which submissions don't need to get validated
- for cancelling submissions it will simply remove that builder's bid)
- See #401 for more details and some numbers
- Ability to set custom Redis pool size and min idle connections (we're experimenting with 80/40, would recommend)
- Other redis improvements (fixed readonly client usage in website, using HMSET to significantly reduce the number of requests in some parts of the stack, and more)
PRs:
- process cancellable bids below floor correctly by @metachris in #401
- enable readonly redis for website + minor cleanup by @metachris in #432
- allow more redis connection options by @metachris in #419
- Pprof for housekeeper by @metachris in #407
- batch upload known validators to Redis by @EliasiOfir in #375
- retract removed tags by @metachris in #421
- Change from Niclas to write optimistic sim errors to submissions db by @michaelneuder in #417
- make ignorable validation errors opt-in by @metachris in #423
- cleanup by @metachris in #428
- chore(website): update builder link by @rkrasiuk in #426
- fix SetMultiKnownValidator by @metachris in #429
- [cleanup] Reorder internal API field in the struct by @michaelneuder in #434
- fix(readme): swap testnet links by @rkrasiuk in #418
- Bump github.com/sirupsen/logrus from 1.9.0 to 1.9.2 by @dependabot in #415
- Bump github.com/stretchr/testify from 1.8.2 to 1.8.3 by @dependabot in #420
New Contributors
Full Changelog: v0.23...v0.25-alpha1
Docker image: flashbots/mev-boost-relay:0.25a1
v0.23
What's Changed
Features
- Reduce validations: ignore all submissions below floor bid (highest non-cancellable bid) by @metachris in #399
Fixes
- fix beacon http request timeout in #414
- persist validation errors in database in #413
- builder demotion: fix nil pointer when error is reqErr by @blombern in #409
New Contributors
Full Changelog: v0.22...v0.23
Docker image: flashbots/mev-boost-relay:0.23
v0.22.post1
v0.22.post1
- What's Changed
Since v0.22
- v0.22 fixes by @michaelneuder and @metachris in #410
- Full Changelog: v0.22...v0.22.post1
Since v0.21.post1
Especially noteworthy
- Optimistic Relay by @michaelneuder in #380 (database migration!)
- db: remove the reference from blockbuilder table to bid table by @metachris in #403 (database migration!)
- Allow multiple getPayload calls for a delivered payload by @avalonche in #400
Database migrations
This release contains two database migrations, which means all services will need to be updated (otherwise they'd fail on a restart because of migration mismatch).
Various
- Post-merge optimistic relaying minor tweaks. by @michaelneuder in #402
- v0.22 fixes in #405
- readme update in #404
- block validation: log failure only once in #406
Full Changelog: v0.21.post1...v0.22.post1
Docker image: flashbots/mev-boost-relay:0.22.post1
v0.22
What's Changed
Especially noteworthy
- Optimistic Relay by @michaelneuder in #380 (database migration!)
- db: remove the reference from blockbuilder table to bid table by @metachris in #403 (database migration!)
- Allow multiple getPayload calls for a delivered payload by @avalonche in #400
Database migrations
This release contains two database migrations, which means all services will need to be updated (otherwise they'd fail on a restart because of migration mismatch).
Various
- Post-merge optimistic relaying minor tweaks. by @michaelneuder in #402
- v0.22 fixes in #405
- readme update in #404
- block validation: log failure only once in #406
Full Changelog: v0.21.post1...v0.22
Docker image: flashbots/mev-boost-relay:0.22
v0.21.post1
What's Changed
Especially noteworthy
- SSZ builder submissions
- Block builders can now submit payloads encoded in JSON, SSZ, JSON+GZIP, SSZ+GZIP
- PR #388 - Allow SSZ builder submissions (also SSZ+GZIP)
- Live on Flashbots relays
- More details for builders
- use HMSET for batch Builder status store by @EliasiOfir in #373
Various
- make lt, make flt in #390
- cleanup logging of builder submission content in #395
- cleanup: remove blst portable env var in tests in #389
- builder submission: on ssz decoding error, fallback to json in #398
- Bump github.com/attestantio/go-eth2-client from 0.15.8 to 0.16.3 by @dependabot in #387
New Contributors
- @EliasiOfir made their first contribution in #373
Docker image: flashbots/mev-boost-relay:0.21.post1
Changelog:
- v0.21...v0.21.post1 - changes since v0.21
- v0.20.0...v0.21.post1 - changes since v0.20