Skip to content

Commit 7fae3bb

Browse files
committed
Merge branch 'versioning-scheme-for-eips' of github.com:danceratopz/EIPs into versioning-scheme-for-eips
2 parents 91e978f + 494400f commit 7fae3bb

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

EIPS/eip-7577.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ This EIP introduces a versioning scheme for [Standards Track](./eip-1.md#eip-typ
1515

1616
## Motivation
1717

18-
EIP specifications often receive increasing modifications as more people review them, which is generally the case as client teams start implementing the specifications and the community gains a better understanding of their interaction with the rest of the protocol. These changes can be difficult to track. In particular, as EVM reference tests are often not maintained (and generally not released) by client teams or the EIP's authors, it can be difficult to ascertain whether a release of reference tests (for example from ethereum/tests or ethereum/execution-spec-tests) is sufficient, or even valid, to test the latest version of an EIP's specifications or the specification as currently implemented by a client.
18+
EIP specifications often receive increasing modifications as more people review them, which is generally the case as client teams start implementing the specifications and the community gains a better understanding of their interaction with the rest of the protocol. These changes can be difficult to track. In particular, as EVM reference tests are often not maintained (and generally not released) by client teams or the EIP's authors, it can be difficult to ascertain whether a release of reference tests is sufficient, or even valid, to test the latest version of an EIP's specifications or the specification as currently implemented by a client.
1919

2020
This EIP proposes a semantic versioning scheme and an addition of a CHANGELOG section for EIPs that enables clearer communication within the community and allows the scope of a change to be ascertained at first glance. Furthermore, client implementation and testing toolchains can query EIP changes and automatically flag incompatibilities between the EIP's current specification and between client and test implementations.
2121

2222
## Specification
2323

24+
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174.
25+
2426
Once an EIP has moved out of "Draft" status, it MUST use the EIP versioning scheme outlined below. It MAY already use the versioning scheme in "Draft" status, which could be useful if the specification is actively being implemented. If more than one team is implementing the specification, it is RECOMMENDED to change the EIP's status to "Review".
2527

2628
The EIP versioning scheme MUST apply the following semantic versioning scheme of `MAJOR.MINOR.PATCH`, based on [Semantic Versioning 2.0.0](../assets/eip-7577/semver.md):
@@ -31,7 +33,7 @@ The EIP versioning scheme MUST apply the following semantic versioning scheme of
3133

3234
Before the EIP has moved out of Draft status and is being versioned, the version number MUST initially have `MAJOR` version `0`.
3335

34-
For every change made to an EIP via a PR made to ethereum/EIPs, a new entry MUST be added to the CHANGELOG section of the EIP that outlines the changes made within the PR. This CHANGELOG entry MUST include the following:
36+
For every change made to an EIP via a pull request (PR) made to ethereum/EIPs, a new entry MUST be added to the CHANGELOG section of the EIP that outlines the changes made within the PR. This CHANGELOG entry MUST include the following:
3537

3638
1. A new version number that follows the semantic versioning scheme outlined above.
3739
2. The date when the changes where introduced.
@@ -57,7 +59,7 @@ A richer versioning scheme, as defined by this EIP, can provide a lot of value t
5759

5860
This section explores how the versioning scheme would be applied to an existing EIPs recently under active development at the time of writing as an example.
5961

60-
The history of [EIP-4788](./eip-4788.md) contains many changes to its specification. EIP-4788 was updated to status "Review" on 2023-11-28 in #7992. This case study assumes, however, that the EIP moved to status "Review" as of #6859 and updated to version 1.0.0 due to the start of a client team implementation.
62+
The history of [EIP-4788](./eip-4788.md) contains many changes to its specification. EIP-4788 was updated to status "Review" on 2023-11-28. This case study assumes, however, that the EIP moved to status "Review" as of 2023-04-11 and updated to version 1.0.0 due to the start of a client team implementation.
6163

6264
#### Changelog
6365

0 commit comments

Comments
 (0)