Release Guidelines and Schedule
Version Numbering
RhoSocial ActiveRecord follows semantic versioning with specific guidelines for different release types: stable releases, development versions, and pre-release candidates.
Stable Release Version Format
MAJOR.MINOR.PATCH[.postN]
Where:
MAJOR
changes indicate substantial new features with breaking changesMINOR
changes add functionality in a backward-compatible mannerPATCH
changes include only backward-compatible bug fixes.postN
indicates post-release fixes for non-functional issues (optional)
Release Cycles
Major Releases (X.0.0)
Include significant new features and potential breaking changes
Minimum support period of 5 years
Breaking changes are carefully considered and documented
No fixed release schedule
Requires thorough testing and documentation
Minor Releases (X.Y.0)
Add new features in a backward-compatible way
Minimum interval of 3 months between releases
Include all previous patch fixes
Backward compatibility maintained
Feature additions and enhancements
Patch Releases (X.Y.Z)
Focus solely on bug fixes
Minimum interval of 1 month unless critical security fixes
Released only when necessary
No new features
Strictly backward compatible
Post-Releases (X.Y.Z.postN)
Address non-functional issues:
Documentation typos
Packaging errors
Metadata corrections
Functionally identical to the base version
Upgrade optional if base version works correctly
Development Versions
Format: X.Y.0.devN
Based on major and minor version numbers
Patch version is always 0
.devN
suffix indicates development statusNot recommended for production use
Version numbers may not be sequential
Used for testing and development purposes
Pre-Release Versions
Alpha Releases
Format: X.Y.0.alphaN
Early development stage
Features may change
API not stable
Minimum 3 iterations
One week minimum between stages
Beta Releases
Format: X.Y.0.betaN
Feature freeze
Only bug fixes and feature removals
Minimum 3 iterations
One week minimum between stages
Release Candidates
Format: X.Y.0.rcN
Bug fixes only
Potential stable release
Minimum 3 iterations
One week minimum between stages
Testing and Distribution
Testing Requirements
All versions must pass complete unit test suite
Test coverage maintained for all features
Regression tests required for bug fixes
Performance tests for optimization changes
Integration tests for backend implementations
Distribution Notes
Distribution packages (PyPI, etc.) exclude test files
Users requiring test files should install from source:
git clone https://github.com/rhosocial/python-activerecord.git cd python-activerecord pip install -e .[test]
Test execution instructions available in source repository
Support Policy
Long-term Support
Major versions supported for minimum 5 years
Security updates prioritized
Critical bug fixes backported
Documentation maintained
Version Migration
Migration guides provided for major versions
Deprecation notices in minor versions
Breaking changes documented thoroughly
Version Examples
Valid Version Numbers
1.0.0 # Stable release
1.0.1 # Patch release
1.1.0 # Minor release
2.0.0 # Major release
1.0.0.post1 # Post-release fix
1.1.0.alpha1 # Alpha release
1.1.0.beta2 # Beta release
1.1.0.rc1 # Release candidate
1.2.0.dev1 # Development version
Version Progression
Documentation Requirements
We would provide:
Major Releases
Complete documentation update
Migration guide
Breaking changes list
New features guide
Minor Releases
New features documentation
Deprecation notices
Upgrade guide
Patch Releases
Bug fix descriptions
Security advisory if applicable
Update instructions
Last updated