Skip to content

Conversation

@jpitts
Copy link
Member

@jpitts jpitts commented Apr 16, 2021

I created a helpful resource in order to see the full history of changes to the Ethereum protocol. This helps people see the big-picture of the evolution of the protocol, and connects implementers, developers, and others to the EIPs which went into each release / hard fork.

Additionally, it helps community members see changes to how protocol releases are managed and to find the relevant information / specification on each. This is particularly important as the new https://github.com/ethereum/eth1.0-specs becomes more central to the release process.

Here's a quick link so you can see how it displays on GItHub: https://github.com/jpitts/eth1.0-specs#ethereum-protocol-releases

A helpful resource in order to see the full history of changes to the Ethereum protocol.
@poojaranjan
Copy link
Contributor

Thanks for this list @jpitts. Looks very useful for this repository.

@poojaranjan poojaranjan merged commit 6ca1f9d into ethereum:master Apr 16, 2021
@timbeiko
Copy link
Contributor

@jpitts thanks for this, it's great! I'm just a bit hesitant about having the client releases with just geth, given there are many more clients. I think we should either remove that column (little work) or perhaps add the various clients who were active for the various forks (lots of work!). WDYT?

@timbeiko
Copy link
Contributor

Oh, I just noticed that Istanbul is missing too. Will add it now !

@poojaranjan
Copy link
Contributor

poojaranjan commented Apr 16, 2021

I think we should either remove that column (little work) or perhaps add the various clients who were active for the various forks (lots of work!).

I can perhaps add additional columns for different clients? Will be helpful for collecting upgrade ready version of different clients,
thoughts?

@poojaranjan
Copy link
Contributor

Oh, I just noticed that Istanbul is missing too. Will add it now !

Good catch @timbeiko, i was counting why is it not matching with the total number of upgrades so far 😅

@timbeiko
Copy link
Contributor

Added Istanbul here.

I can perhaps add additional columns for different clients? Will be helpful for collecting upgrade ready version of different clients, thoughts?

I feel like that starts to be a lot, given the number of clients (and historical ones!). My preference would be to remove implementation references altogether to keep the repository focused on specs. The upgrade.md files have the clients in them, but IMO it's more of a "necessary evil" for project management than something we actively want to maintain.

@poojaranjan
Copy link
Contributor

to remove implementation references altogether

Fine with it!

@jpitts
Copy link
Member Author

jpitts commented Apr 17, 2021

@jpitts thanks for this, it's great! I'm just a bit hesitant about having the client releases with just geth, given there are many more clients. I think we should either remove that column (little work) or perhaps add the various clients who were active for the various forks (lots of work!). WDYT?

Listing all clients is probably is not appropriate for this particular list, and does entail some work. I agree that having complete coverage of clients would even start to clutter each release entry given how many there are.

Still, there is often helpful information in the client release notes, not to mention what is posted on the https://blog.ethereum.org. This info can be referenced in each specification file as more get created for the entire set of releases.

@timbeiko
Copy link
Contributor

@jpitts how about listing the EF blog entries instead of the clients, then? I think that will link back to the clients, and be a bit more neutral.

@jpitts
Copy link
Member Author

jpitts commented Apr 19, 2021

@jpitts how about listing the EF blog entries instead of the clients, then? I think that will link back to the clients, and be a bit more neutral.

This sounds good, soon I'll gather a list of those posts and submit a PR.

marioevz pushed a commit that referenced this pull request Jan 6, 2026
* chore: add grammar check automation files

* docs: fix grammar in consume plugin files (#20)

Fix grammar issues in consume plugin docstrings and comments:
- "A dictionary caches" -> "A dictionary that caches" (missing "that")
- "Definers" -> "Defines" (typo)
- "Un-expected" -> "Unexpected" (incorrect hyphenation)
- "older version" -> "older versions" (subject-verb agreement)

Co-authored-by: Claude <noreply@anthropic.com>

* chore(docs): fix grammar in filler plugin docstrings (#21)

- Fix subject-verb agreement: "The forks is" -> "The fork is"
- Fix preposition: "value to each" -> "value for each"
- Fix sentence structure: "(which) ... occurs" -> ", which ... that occurs"

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in execute plugin files (#22)

- Fix "using in live networks" -> "on live networks" (execute.py:2)
- Fix missing spaces between concatenated help strings in execute.py
- Fix "using for test filling" -> "used for test filling" (pre_alloc.py:1)
- Fix missing spaces in concatenated help strings in remote.py

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in forks, shared, and help plugin files (#23)

Fixed 9 grammar issues:
- forks/__init__.py: Added missing "and" in docstring
- forks/forks.py: Fixed "ran" -> "run" (passive voice)
- forks/forks.py: Removed space in URL fragment
- forks/forks.py: Fixed double "any any" -> "any"
- test_bad_command_line_options.py: Fixed article/noun agreement
- test_bad_validity_markers.py: Fixed article/noun agreement
- shared/helpers.py: Fixed verb tense for parallel structure
- shared/execute_fill.py: Added missing article "A"
- help/help.py: Fixed double article "the a" -> "a"


Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in pytest_commands/plugins root files (#24)

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in cli/pytest_commands root files (#25)

Remove extra space after newline in watcher.py watch mode message.

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in cli/gentest and cli/fuzzer_bridge (#26)

- Fix article "An provider" → "A provider" (test_context_providers.py)
- Fix subject-verb agreement "generates" → "generate" (test_providers.py)
- Add missing preposition "for" in "A request manager for Ethereum RPC calls" (request_manager.py)

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in cli/eest, cli/input, and cli/fillerconvert (#27)

* docs: fix grammar in cli/eest, cli/input, and cli/fillerconvert

Fix missing space in string concatenation in quotes.py where
"that" and "experience" were joined without a space.

Flag one low-confidence issue in verify_filled.py for manual
review regarding informal verb usage.

* docs: apply manual grammar fix in verify_filled.py

Improve docstring clarity by:
- Adding missing articles ("the original", "the refilled test")
- Replacing informal "Regex" verb with "Extract"
- Reformatting for better readability

---------

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in packages/testing/src/execution_testing/cli/*.py (#28)

- gen_index.py: Add missing space between sentences in help text
- modify_static_test_gas_limits.py: Remove duplicate word "files files"
- tox_helpers.py: Remove extra space in error message
- show_pre_alloc_group_stats.py: Fix capitalization mid-sentence

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in packages/testing/src/execution_testing/cli/tests (#29)

- Fix "allows to actually fill" → "allows actually filling" (missing verb form)
- Fix "uses the a temporary" → "uses a temporary" (double article)

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in test_types module (#30)

- Fix double space in helpers.py docstring
- Complete incomplete sentence in trie.py module docstring

Co-authored-by: Claude <noreply@anthropic.com>

* docs: grammar check specs module (round 12) (#31)

Reviewed 28 files in packages/testing/src/execution_testing/specs/**/*.py
for grammar issues.

Fixed 1 grammar issue:
- blockchain.py:167-168 - fixed sentence fragment "encoding. included"

Co-authored-by: Claude <noreply@anthropic.com>

* docs: grammar check round 13 (fixtures + client_clis) (#32)

Reviewed packages/testing/src/execution_testing/fixtures/**/*.py (16 files)
- No grammar issues found

Reviewed packages/testing/src/execution_testing/client_clis/**/*.py (20 files)
Fixed 4 grammar issues:
- ethereum_cli.py:158 - Added missing space after "0!"
- evmone.py:207 - "an select" -> "and select"
- nethermind.py:209 - "an select" -> "and select"
- geth.py:383 - "an select" -> "and select"

Flagged 1 item for manual review:
- clis/__init__.py:1 - "CL interfaces" may be typo for "CLI interfaces"

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in base_types module (#33)

- Fix "it can added" -> "it can be added" in mixins.py
- Fix "and returns" -> "and return" for consistent imperative form in composite_types.py
- Fix "an hexadecimal numbers" -> "hexadecimal numbers" in base_types.py

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in forks module (#34)

base_fork.py:
- precompiles(): "Return list precompiles" -> "Return list of precompiles"
- system_contracts(): "Return list system-contracts" -> "Return list of system contracts"

forks/forks/forks.py:
- Standardize "pre-compiles" -> "precompiles" (no hyphen) in:
  - Frontier.precompiles()
  - Homestead.precompiles()
  - Byzantium.precompiles()
  - Istanbul.precompiles()
  - Cancun.precompiles()
  - Prague.precompiles()
  - Osaka.precompiles()
- Standardize "system-contracts" -> "system contracts" in Frontier.system_contracts()
- Fix subject-verb agreement: "pre-compile for BLS operations are" -> "precompiles for BLS operations are"
- Fix max_initcode_size(): merge standalone string into docstring with proper formatting
- Add missing article "a" before "precompile for" in Istanbul, Cancun, and Osaka

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in tools and exceptions modules (#35)

Fix typos and grammar issues:
- Fix "defniitions" -> "definitions" in engine_api.py
- Fix "it's" -> "its" (possessive) in eof.py and exceptions.py
- Fix "an stack" -> "a stack" for underflow/overflow in eof.py and exceptions.py

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in vm, rpc, and config modules (#36)

Remove duplicate text in error message in opcodes.py

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix grammar in execution_testing core modules (logging, execution, checklists, benchmark) and root files (#37)

Fixed "were request" -> "were requested" in blob_transaction.py comment.

Co-authored-by: Claude <noreply@anthropic.com>

* docs: fix docstring in client_clis module

Corrected terminology from "CL interfaces" to "EL clients" - these are
Execution Layer client implementations, not Consensus Layer.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: fix grammar in exceptions module

- block.py: "is calculated incorrect" → "is calculated incorrectly"
- transaction.py: "is exceeds" → "exceeds" (removed double verb)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: fix punctuation in checklists module

Changed period to colon in DataPortionVariables docstring to properly
introduce the list of test cases (Top, Bottom, Middle).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: remove files used for llm automation

---------

Co-authored-by: Claude <noreply@anthropic.com>
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.

3 participants