This document outlines the release process:
-
Ensure you are running on the oldest supported Elixir version (check
.travis.yml) -
Ensure
CHANGELOG.mdis updated and add current date -
Change the version number in
mix.exsandREADME.md -
Run
mix testto ensure all tests pass -
Commit changes above with title "Release vVERSION" and push to GitHub
git add . git commit -m"Release vX.Y.Z" git push origin master
-
Check CI is green
-
Create a release on GitHub and add the CHANGELOG from step #2 (https://github.com/graphql-elixir/plug_graphql/releases/new) using VERSION as the tag and title
-
Publish new hex release with
mix hex.publish -
Publish hex docs with
mix hex.docs -
Update upstream repos
hello_graphql_phoenixandgraphql_relayand release as appropriate
GraphQL deprecations happen in 3 steps:
-
The feature is soft-deprecated. It means both CHANGELOG and documentation must list the feature as deprecated but no warning is effectively emitted by running the code. There is no requirement to soft-deprecate a feature.
-
The feature is effectively deprecated by emitting warnings on usage. In order to deprecate a feature, the proposed alternative MUST exist for AT LEAST two versions.
-
The feature is removed. This can only happen on major releases.