Versioning Guide for TextDAO
This document outlines the versioning strategy for the TextDAO project.
Semantic Versioning
TextDAO follows Semantic Versioning 2.0.0. The version number is structured as MAJOR.MINOR.PATCH.
- MAJOR version increments for incompatible changes
- MINOR version increments for backwards-compatible functionality additions
- PATCH version increments for backwards-compatible bug fixes
Version Control
- Each package in the monorepo maintains its own version.
- The monorepo itself has an overall version that increments with significant project-wide changes.
Release Process
- Determine the new version number based on the changes since the last release.
- Update the version number in the package.json file.
- Update the CHANGELOG.md file with the changes for the new version.
- Create a git tag for the new version.
- Push the changes and the new tag to the repository.
- Create a GitHub release using the new tag.
Changelogs
Each package maintains its own CHANGELOG.md file. The changelog should include:
- The version number and release date
- A list of new features
- A list of bug fixes
- Any breaking changes
Pre-release Versions
For pre-release versions, use the following format:
- Alpha: 1.0.0-alpha.1
- Beta: 1.0.0-beta.1
- Release Candidate: 1.0.0-rc.1
Documentation Versioning
- The documentation site maintains versions that correspond to major releases of the project.
- Each documentation page includes the version number it applies to.
By following these guidelines, we ensure consistent and understandable versioning across the TextDAO project.