forked from stleary/JSON-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Tech: How to make a new JSON java release
Sean Leary edited this page Sep 19, 2016
·
1 revision
JSON-Java releases are only for the purpose of checkpointing code changes for the public Maven repository. New releases do not require a fixed cadence. As long as the repository is relatively active, about every 4 months seems reasonable. Urgent fixes may require more frequent releases, but minor fixes and new features can take longer. When you decide to release a new version, here are the recommended steps to follow:
- Decide on a commit checkpoint. Usually this will be the latest commit.
- Decide on a release label. We do not use semantic versioning for several reasons. Historical Maven releases have been by date, and changing the release label format could cause mis-ordering in the Maven repository. The project is in maintenance mode - no design or major API changes are being accepted, so there are no semantics in the release sequence. Instead we use a date format: YYYYMMDD. Usually this will be the day of the release, since you have to make a file change to README to document the release (see next item).
- Update the README Release history section with the release number and title.
- On GitHub, navigate to Releases > Draft a new release. Enter the release label. Choose the release branch. Usually this will be the master branch. For the title, the release number will suffice. In the description, include a table in reverse chronological order of links to merged pull requests and 1-line descriptions. The top of the list should contain the latest pull request, and the bottom should contain the first pull request after the last release.
- We do not include binary files in the release.
- Create a corresponding tag in the JSON-Java-unit-tests project. Give it the same tag version (YYYYMMDD). The title should read, "Unit tests for JSON-Java release yymmdd". The description should reference a link back to the json java release. You can call it checkpointing, or list the changes, as you wish. Clone and build, just in case.
- Publish the release.
- Inform the person responsible for the Maven repository to add a new release. Currently that is bgehrels. Create a new issue titled, "Maven release needed for yyyymmdd" and ask for a repo release. Close the issue when the release is complet ed.
For more information, see https://help.github.com/articles/creating-releases/