Author: Adrian Johnson (adrian207@gmail.com)
Version: 1.0.0
Last Updated: December 2024
This document outlines the versioning strategy for the Windows Server PowerShell Solutions Suite. The project follows Semantic Versioning 2.0.0 principles.
Version numbers follow the format: MAJOR.MINOR.PATCH
| Component | Description | Example | When to Increment |
|---|---|---|---|
| MAJOR | Breaking changes | 2.0.0 | • API changes incompatible with previous versions • Major architectural changes • Removed features or functionality |
| MINOR | New features (backward compatible) | 1.1.0 | • New modules or solutions added • New functionality added • Enhanced features without breaking changes |
| PATCH | Bug fixes (backward compatible) | 1.0.1 | • Bug fixes • Performance improvements • Documentation updates |
| Version | Type | Example Changes |
|---|---|---|
| 1.0.0 | Initial Release | First stable release with all 18 solutions |
| 1.0.1 | Patch | Fixed bug in AD module error handling |
| 1.0.2 | Patch | Updated documentation and corrected typos |
| 1.1.0 | Minor | Added new Hyper-V snapshot management feature |
| 1.2.0 | Minor | Added new solution (e.g., Windows Server Update Services) |
| 2.0.0 | Major | Rewrote authentication system with breaking changes |
- Format:
MAJOR.MINOR.PATCH - Example:
1.0.0,1.2.5,2.0.0 - Status: Production-ready, thoroughly tested
- Git Tag:
v1.0.0
- Format:
MAJOR.MINOR.PATCH-rc.REVISION - Example:
1.1.0-rc.1,1.1.0-rc.2 - Status: Feature-complete, pending final testing
- Git Tag:
v1.1.0-rc.1
- Format:
MAJOR.MINOR.PATCH-beta.REVISION - Example:
1.2.0-beta.1,1.2.0-beta.2 - Status: Early access for testing new features
- Git Tag:
v1.2.0-beta.1
- Format:
MAJOR.MINOR.PATCH-alpha.REVISION - Example:
2.0.0-alpha.1 - Status: Active development, unstable
- Git Tag:
v2.0.0-alpha.1
A version.json file tracks the current version:
{
"version": "1.0.0",
"major": 1,
"minor": 0,
"patch": 0,
"build": "2024.12.24",
"semver": "1.0.0",
"status": "stable",
"date": "2024-12-24",
"author": "Adrian Johnson (adrian207@gmail.com)",
"description": "Initial production release with 18 complete solutions"
}- Stable:
v1.0.0,v1.2.5 - RC:
v1.1.0-rc.1 - Beta:
v1.2.0-beta.1 - Alpha:
v2.0.0-alpha.1
# Stable release
git tag -a v1.0.0 -m "Release version 1.0.0
Initial production release with 18 complete solutions:
- Active Directory Scripts (40 scenarios)
- AD Certificate Services (35 scenarios)
- Hyper-V Scripts (35 scenarios)
... (full list)
Author: Adrian Johnson <adrian207@gmail.com>
Date: December 24, 2024"
# Push tag to GitHub
git push origin v1.0.0- Major Releases: Every 12-18 months
- Minor Releases: Every 2-3 months
- Patch Releases: As needed (typically monthly)
- Released immediately for critical security patches
- Follows
MAJOR.MINOR.PATCHformat - Example:
1.0.1(hotfix for1.0.0)
main- Production-ready code (tagged releases)develop- Integration branch for features
feature/- New features for next minor releasehotfix/- Critical bug fixes for productionrelease/- Preparation for new production release
All production releases are tagged:
# List all version tags
git tag -l "v*"
# Show specific version tag
git show v1.0.0Every solution's README includes:
**Version:** 1.0.0
**Date:** December 2024Every PowerShell module includes:
# Module Version
$script:ModuleVersion = '1.0.0'
# Version History
# 1.0.0 - 2024-12-24 - Initial releaseAll documentation includes:
**Author:** Adrian Johnson (adrian207@gmail.com)
**Version:** 1.0.0
**Date:** December 2024- Update
version.jsonwith new version number - Update all README files with new version
- Update module files with new version
- Update
CHANGELOG.mdwith release notes
- Run all test suites
- Verify all solutions work as expected
- Check for linter errors
- Review documentation accuracy
- Create release branch if needed
- Merge changes to
mainbranch - Create annotated Git tag
- Push tag to GitHub
- Create GitHub release from tag
- Add release notes from CHANGELOG
- Upload any build artifacts if applicable
- Mark release as latest/pre-release
- Update CHANGELOG.md
- Verify all version references are updated
- Update this document if versioning policy changes
| Release Type | Stability | Recommended For |
|---|---|---|
| Stable | ✅ Production-ready | All users, production environments |
| RC | Testing before production deployment | |
| Beta | Early adopters, test environments | |
| Alpha | ❌ Development | Developers only |
For questions about versioning:
- Email: adrian207@gmail.com
- Issues: GitHub Issues
Windows Server PowerShell Solutions Suite - Professional versioning for enterprise deployments.
Copyright © 2024 Adrian Johnson. All rights reserved.