Thingpress follows Semantic Versioning using a three-field version format: XX.YY.ZZ
- Incremented for: Breaking changes that are not backward compatible
- Examples:
- API changes that break existing integrations
- Removal of deprecated features
- Fundamental architecture changes
- Changes requiring user migration or reconfiguration
- Incremented for: New features and functionality that are backward compatible
- Examples:
- New vendor support (additional hardware manufacturers)
- New Lambda functions or services
- Enhanced existing features
- New configuration options
- Performance improvements
- Incremented for: Bug fixes and minor enhancements that are backward compatible
- Examples:
- Bug fixes and error corrections
- Security patches
- Documentation updates
- Code quality improvements
- Minor performance optimizations
- Dependency updates
- Breaking changes to Lambda function signatures
- Changes to S3 bucket structure or naming
- Removal of supported vendor formats
- Changes requiring CloudFormation stack updates
- API contract changes
- Adding support for new hardware vendors
- New optional configuration parameters
- New Lambda functions or services
- Enhanced monitoring or logging features
- New deployment options
- Bug fixes in certificate processing
- Security vulnerability patches
- Documentation improvements
- Code refactoring without functional changes
- Dependency security updates
- Performance optimizations
- Version Planning: Determine appropriate version increment based on changes
- Quality Gates: Ensure all quality thresholds are met
- Testing: Complete unit tests and end-to-end testing via GitHub Actions
- Release: Create GitHub release with semantic version tag
- Documentation: Update CHANGELOG.md with version details
- Target: v1.0.0 (First major release)
- Requirements: Code quality completion + end-to-end testing automation
For questions about versioning decisions, refer to this document and consider the impact of changes on backward compatibility and user experience.