Skip to content

Commit 5f4ecd1

Browse files
author
Robert Mosolgo
authored
Merge pull request rmosolgo#973 from rmosolgo/add-versioning-docs
doc(VERSION) document the version policy
2 parents 9d5153f + 0e6c55f commit 5f4ecd1

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

guides/development.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ So, you want to hack on GraphQL Ruby! Here are some tips for getting started.
1515
- [Coding guidelines](#coding-guidelines) for working on your contribution
1616
- Special tools for building the [lexer and parser](#lexer-and-parser)
1717
- Building and publishing the [GraphQL Ruby website](#website)
18+
- [Versioning](#versioning) describes how changes are managed and released
1819

1920
### Setup
2021

@@ -169,3 +170,19 @@ To publish the website with GitHub pages, run the Rake task:
169170
```
170171
bundle exec rake site:publish
171172
```
173+
174+
### Versioning
175+
176+
GraphQL-Ruby does _not_ attempt to deliver "semantic versioning" for the reasons described in `jashkenas`'
177+
s post, ["Why Semantic Versioning Isn't"](https://gist.github.com/jashkenas/cbd2b088e20279ae2c8e). Instead, the following scheme is used as a guideline:
178+
179+
- Version numbers consist of three parts, `MAJOR.MINOR.PATCH`
180+
- __`PATCH`__ version indicates bug fixes or small features for specific use cases. Ideally, you can upgrade patch versions with only a quick skim of the changelog.
181+
- __`MINOR`__ version indicates significant additions, internal refactors, or small breaking changes. When upgrading a minor version, check the changelog for any new features or breaking changes which apply to your system. The changelog will always include an upgrade path for any breaking changes. Minor versions may also include deprecation warnings to warn about upcoming breaking changes.
182+
- __`MAJOR`__ version indicates significant breaking changes. Do not expect code to run without some modification, especially if the code yielded deprecation warnings.
183+
184+
This policy is inspired by the [Ruby 2.1.0+ version policy](https://www.ruby-lang.org/en/news/2013/12/21/ruby-version-policy-changes-with-2-1-0/).
185+
186+
Pull requests and issues may be tagged with a [GitHub milestone](https://github.com/rmosolgo/graphql-ruby/milestones) to denote when they'll be released.
187+
188+
The [changelog](https://github.com/rmosolgo/graphql-ruby/blob/master/CHANGELOG.md) should always contain accurate and thorough information so that users can upgrade. If you have trouble upgrading based on the changelog, please open an issue on GitHub.

0 commit comments

Comments
 (0)