Purpose of this document: to make sure we follow a consistent pattern, when making releases of floating-bits.
- The first digit is always 0. Maybe we'll change this when we're ready for the masses. ;)
- The second digit changes with "major" releases.
- Major releases change:
- the Haskell interface (in a non-additive fashion)
- The third digit changes with the "minor" releases.
- Minor releases DO NOT change:
- the Haskell interface (in a non-additive fashion)
- Minor releases may change anything else.
- The fourth digit changes with the "trivial" releases.
- Trivial releases change nothing except the documentation.
- Make sure 'cabal build' succeeds.
- Make sure 'cabal test' succeeds.
- Make sure 'cabal bench' succeeds.
On your git machine:
- Run 'git checkout -b release/'
- Update the Version field in floating-bits.cabal.
- Update the Version in the README.md.
- Change the most recent Version line in CHANGELOG.md from 'next', updating the following fields on that line.
- Push the branch to github, and file a pull request.
On your git machine:
export VERSION=<VERSION_NUMBER>
git checkout master
git tag -a v$VERSION -m "Release $VERSION"
git push origin v$VERSION
- Open Github.
- Click on the 'Releases' link from the code page for the implicitcad repo.
- Click on 'Draft a new release'
- Select the tag created in the previous step.
- Paste the CHANGELOG.md entries from this release into the release description.
- Title the release 'Release '
- Click on 'Publish release'
- Use github's 'download zip' to download a zip of the package.
- Extract it to a temporary directory
- Move the container directory to floating-bits-
- Make a tar file from it. make sure to add the --format=ustar option.
- tar --format=ustar -cvzf floating-bits-.tar.gz floating-bits-/
- Upload the package candidate to https://hackage.haskell.org/packages/candidates/upload
- Look over the resulting page.
- Scroll down to 'edit package information'
- click on 'publish candidate'
- hit the 'publish package' button.