Best Practices
Versioning Strategy
Follow semantic versioning best practices for predictable updates.
Semantic Versioning
MAJOR.MINOR.PATCH
2.1.3- Patch: Bug fixes (2.1.3 → 2.1.4)
- Minor: New features (2.1.0 → 2.2.0)
- Major: Breaking changes (2.0.0 → 3.0.0)
Version Incrementing
Patch Releases
# Bug fixes only
1.0.0 → 1.0.1Minor Releases
# New features (backward compatible)
1.0.0 → 1.1.0Major Releases
# Breaking changes
1.0.0 → 2.0.0Pre-release Versions
# Development
version: 2.0.0-dev.1
# Beta
version: 2.0.0-beta.1
# Release candidate
version: 2.0.0-rc.1Version Constraints
# Recommended: Caret
dependencies:
package: ^1.2.3 # >=1.2.3 <2.0.0
# Exact (rarely needed)
dependencies:
package: 1.2.3
# Range
dependencies:
package: '>=1.0.0 <2.0.0'Best Practices
- Start with 1.0.0 for stable releases
- Use 0.x.y for experimental packages
- Document breaking changes in CHANGELOG
- Deprecate before removing APIs
- Test thoroughly before major bumps
Tools
# Install cider
dart pub global activate cider
# Bump versions
cider bump patch
cider bump minor
cider bump majorNext Steps
- Versioning - Technical guide
- Team Workflows