Skip to content

Commit a1337a4

Browse files
committed
Update README with versioning information
1 parent f910189 commit a1337a4

File tree

1 file changed

+36
-4
lines changed

1 file changed

+36
-4
lines changed

README.md

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ will have all schema `#ref`s resolved.
3737
#### Building the docs
3838

3939
Once you've updated something in the spec, you can use the docs generation tools
40-
to view the updated specs locally.
40+
to view the updated specs locally.
4141

4242
```console
4343
$ npm run build:docs
4444
$ npm run watch
4545
```
4646

47-
The `watch` command starts a local webserver serving the docs in-browser at
48-
`http://0.0.0.0:8000` and it rebuilds when you update something in the specs.
47+
The `watch` command starts a local webserver serving the docs in-browser at
48+
`http://0.0.0.0:8000` and it rebuilds when you update something in the specs.
4949
Please reload the page to see your changes.
5050

5151
### Testing
@@ -69,7 +69,7 @@ directory against the specification. There are two npm scripts to simplify this
6969

7070
```console
7171
$ npm run build:test
72-
$ npm run test
72+
$ npm run test
7373
all passing.
7474
```
7575

@@ -129,6 +129,37 @@ A script is included in the source code which reads and validates the given sche
129129
$ npm run graphql:validate
130130
```
131131

132+
## Versioning
133+
134+
Execution-apis follows [semantic versioning][semver].
135+
- Major releases will include breaking changes to the [rpc-compat hive tests][rpc-compat], and other backwards incompatible changes.
136+
- Minor releases will include new backwards-compatible features.
137+
- Patch releases will include internal changes that don't impact end users and backwards-compatible bugfixes, along with fixing test cases that don't match the spec.
138+
139+
Examples of changes by version type:
140+
141+
**Major:**
142+
- Adding new RPC methods
143+
- Changing the parameters or return type of an existing method in an incompatible way
144+
- Renaming fields in responses
145+
- Changing error codes or error response structures
146+
- Removing support for previously accepted input formats
147+
- Adding new fields to response objects
148+
149+
**Minor:**
150+
- Removing an existing RPC method
151+
- Adding optional parameters to existing methods
152+
- Adding new error codes for previously uncovered edge cases
153+
- Introducing new capabilities while maintaining backward compatibility
154+
155+
**Patch:**
156+
- Fixing typos or improving clarity in documentation
157+
- Correcting examples in the specification
158+
- Fixing test cases that don't match the spec
159+
- Improving validation rules without changing the API surface
160+
- Updating internal tooling or build processes
161+
162+
132163
## License
133164

134165
This repository is licensed under [CC0](LICENSE).
@@ -144,3 +175,4 @@ This repository is licensed under [CC0](LICENSE).
144175
[hive]: https://github.com/ethereum/hive
145176
[rpc-compat]: https://github.com/ethereum/hive/tree/master/simulators/ethereum/rpc-compat
146177
[test-gen]: docs/reference/tests.md
178+
[semver]: https://semver.org/

0 commit comments

Comments
 (0)