Skip to content

Fix mev-boost version parsing to correctly detect full semver (e.g., v1.10.1)#183

Open
Jor-Tech wants to merge 1 commit into
coincashew:mainfrom
Jor-Tech:fix-mevboost-version-parsing
Open

Fix mev-boost version parsing to correctly detect full semver (e.g., v1.10.1)#183
Jor-Tech wants to merge 1 commit into
coincashew:mainfrom
Jor-Tech:fix-mevboost-version-parsing

Conversation

@Jor-Tech
Copy link
Copy Markdown
Contributor

@Jor-Tech Jor-Tech commented Nov 19, 2025

Summary
This PR fixes two related issues where mev-boost versions were being parsed incorrectly, causing the script to treat v1.10.1 as v1.10. As a result, EthPillar would not recognize the true latest mev-boost release, and the “View software versions” screen displayed incomplete version information.

What was fixed
update_mevboost.sh
Updated the version extraction logic to correctly parse full semantic versions (major.minor.patch).
This ensures the updater detects new releases such as v1.10.1 instead of truncating to 1.10.
ethpillar.sh

Updated the version parsing in the “View software versions” section so the installed mev-boost version is shown with the full patch version (e.g., 1.10.1).

Why this fix is needed
The previous regex only captured major.minor, which caused:
Incorrect detection of the latest release.
Incorrect display of the installed version.
Prevented proper update prompts when a new patch version was released.

Testing
Verified that both installed and latest versions correctly detect full semver format.
Confirmed the update workflow now correctly identifies v1.10.1 as the latest version.

Notes
This improves reliability of mev-boost update handling and ensures version reporting is accurate for all future semver releases.

Summary by CodeRabbit

  • Bug Fixes
    • Updated MEV-Boost version detection to correctly parse three-part semantic version numbers instead of two-part versions.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Nov 19, 2025

Walkthrough

Both shell scripts modified to parse semantic version numbers using three-part patterns (major.minor.patch) instead of two-part patterns. Sed commands updated to use extended regex mode for MEV-Boost version extraction and version tag parsing.

Changes

Cohort / File(s) Summary
Semantic Version Pattern Updates
ethpillar.sh, update_mevboost.sh
Updated sed regex patterns to capture three-part semantic versions ([0-9]+\.[0-9]+\.[0-9]+) instead of two-part patterns; enabled extended regex flag (-E) in all affected commands for MEV-Boost version extraction and API tag parsing

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Homogeneous regex pattern updates across two files with identical change rationale
  • No control flow or logic modifications
  • Pattern changes are straightforward and repetitive
  • Primary focus: verify regex patterns correctly capture three-part versioning in respective contexts

Poem

🐰 A version's journey, once split in two,
Now blooms in three, so fresh and new!
Dot by dot, the patches align—
Major, minor, patch—a design so fine!
Semantic versioning hops along,
Making version parsing strong! 🎉

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly summarizes the main change: fixing mev-boost version parsing to correctly detect full semantic versions (major.minor.patch format). It is specific, clear, and accurately reflects the core objective of both file modifications.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 08ab3c2 and a0c403e.

📒 Files selected for processing (2)
  • ethpillar.sh (1 hunks)
  • update_mevboost.sh (2 hunks)
🔇 Additional comments (3)
update_mevboost.sh (2)

20-29: ✅ Correct semver pattern for version extraction.

The regex change from two-part to three-part semantic versioning is correct. The pattern [0-9]+\.[0-9]+\.[0-9]+ reliably captures full patch versions (e.g., 1.10.1) from the mev-boost CLI output, and the sed substitution properly isolates the version string.


82-89: ✅ Consistent version parsing across getCurrentVersion and getLatestVersion.

The matching regex pattern applied here ensures that both the installed version (from CLI) and the latest version (from GitHub API) are parsed consistently using the three-part semver format. The existing null checks on line 87 properly handle edge cases where the regex fails to match.

ethpillar.sh (1)

668-681: ✅ Version display aligned with update_mevboost.sh parsing logic.

The regex pattern update on line 673 aligns the mev-boost version display with the parsing logic in update_mevboost.sh, ensuring users see the full patch version (e.g., 1.10.1 instead of 1.10). The conditional check correctly handles the case where mev-boost is not installed.

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant