This document provides guidance for migrating between versions of the Aifeels specification.
Status: Initial draft release
Release Date: 2025-02-06
This is the first version. No migration needed.
Expected: Q2 2025
Type: Additive changes only (backward compatible)
Potential additions:
- Additional optional events
- New optional MCP tools
- Enhanced metadata fields
- Performance optimizations
Migration strategy:
- Existing implementations continue to work
- New features are opt-in
- No breaking changes to state schema
- Decay rate remains 0.05 per 300 seconds
What to do:
- Review CHANGELOG.md when v0.2.0 releases
- Determine if new features are relevant to your use case
- Implement new features at your convenience
- Re-run conformance tests
- Update certification if desired
Breaking changes: None (guaranteed for minor versions)
Expected: 2025-2026
Type: Stabilization (minimal breaking changes expected)
Goals:
- Production-ready specification
- API freeze commitment
- Minimum 2 years backward compatibility guarantee
Potential changes:
- Schema refinements based on v0.x feedback
- Deprecation of experimental features (if any)
- Performance requirement clarifications
Migration strategy:
- Deprecations announced in v0.x releases (minimum 6 months notice)
- Migration guides provided for any breaking changes
- Reference implementation updated with migration examples
- Automated migration tools (if needed)
What to do:
- Monitor RFC process for breaking change proposals
- Participate in community discussions
- Test beta/RC versions before final release
- Budget time for migration (estimate: 1-2 weeks for most implementations)
Expected: 2027+
Type: Major evolution (breaking changes allowed)
Potential areas:
- Multi-agent coordination
- Long-term emotional memory
- Configurable decay rates
- Composite action triggers
- Real-time streaming events
Migration strategy:
- 1 year advance notice for breaking changes
- v1.x continues to receive security patches for 2 years after v2.0 release
- Parallel support period (v1.x and v2.x both maintained)
- Comprehensive migration guide with code examples
What to do:
- Review v2.0 RFC proposals when published
- Evaluate impact on your implementation
- Plan migration timeline (6-12 months)
- Consider supporting both v1.x and v2.x during transition
Aifeels follows Semantic Versioning 2.0.0:
- MAJOR (X.0.0) - Incompatible API changes
- MINOR (0.X.0) - Backward-compatible additions
- PATCH (0.0.X) - Backward-compatible bug fixes
For v1.0+:
- MINOR versions: 100% backward compatible
- MAJOR versions: Breaking changes allowed, but migration guide provided
- PATCH versions: Drop-in replacement (no code changes needed)
For v0.x:
- Breaking changes allowed with community notice
- Signaled via RFC process
- Migration guidance provided
Deprecation timeline:
- Announcement - Feature marked deprecated in CHANGELOG
- Warning period - Minimum 6 months (v1.0+), 2 months (v0.x)
- Removal - Next MAJOR version only
Example:
v1.2.0: Feature X deprecated (use Y instead)
v1.3.0-v1.9.x: Feature X works but emits warnings
v2.0.0: Feature X removed
- CHANGELOG.md - Detailed change log for each version
- RELEASE_NOTES.md - High-level overview of changes
- RFC/README.md - Proposals for future changes
- GitHub Discussions - Community migration experiences
- Migration examples - Community-contributed examples (in
examples/migrations/when available) - Stack Overflow - Tag:
aifeels - Discord/Slack - Community chat (links TBD)
When new versions release, version-specific guides will be published:
MIGRATION_0.1_to_0.2.mdMIGRATION_0.x_to_1.0.mdMIGRATION_1.x_to_2.0.md
After migration:
- Run conformance suite - Ensure all tests pass
- Verify output - Check state transitions match expected
- Compare versions - Run both old and new side-by-side
- Edge cases - Test boundary conditions
Command:
git clone https://github.com/aifeels-org/aifeels-conformance-suite
cd aifeels-conformance-suite
./run-tests.sh <your-implementation>Recommended approach:
- Export state from old version
- Import state into new version
- Verify emotional state values match
- Apply test events in both versions
- Compare recommended actions
If migration causes issues:
- Revert to previous version
- Document issues in GitHub issue
- Wait for patch release
- Run old and new versions in parallel
- Gradually migrate traffic
- Monitor for discrepancies
- Pin to specific version in dependencies
- Monitor for security patches
- Plan migration at next maintenance window
Example (Python):
# requirements.txt
aifeels==0.1.0 # Pinned to avoid breaking changesBefore migrating to a MAJOR version, assess:
- Do field names change?
- Are fields added/removed?
- Do value ranges change?
- Are standard events renamed?
- Do event effects change?
- Are events deprecated?
- Do thresholds change?
- Is precedence reordered?
- Are new actions added?
- Do tool signatures change?
- Are tools added/removed?
- Do return formats change?
- Does decay formula change?
- Does decay rate change?
- Are custom rates allowed?
For each "yes": Review impact on your implementation and plan accordingly.
When migrating to a new version:
- Read CHANGELOG.md for version
- Read version-specific migration guide
- Review RFCs for breaking changes
- Update dependencies
- Update schemas (if changed)
- Update event handlers (if changed)
- Update action logic (if changed)
- Update MCP tools (if changed)
- Run conformance tests
- Update documentation
- Update certification (if certified)
- Deploy to staging
- Monitor for issues
- Deploy to production
Migration questions:
- GitHub Discussions - Tag: "migration"
- GitHub Issues - If you find migration bugs
Urgent migration issues:
Community support:
- Join community chat (links TBD)
- Ask on Stack Overflow (tag:
aifeels)
See RELEASE_PROCESS.md for detailed support policy.
Summary:
- Pre-1.0 (v0.x): Last minor version only
- Post-1.0 (v1.x, v2.x): Last 2 minor versions + 2 years per major version
Example:
v1.5.0 released: Jan 2027
v2.0.0 released: Jan 2028
Support:
- v1.5.x: Until Jan 2029 (2 years after last 1.x)
- v1.4.x: Until Jan 2028 (when 2.0 ships)
- v2.0.x: Until Jan 2030 (minimum 2 years)
Help others migrate by:
- Document your migration experience
- Share code examples
- Report migration issues
- Suggest improvements to migration process
Submit to: examples/migrations/<version>/
Last Updated: 2025-02-07
Migration Guide Version: 1.0