Version Management
Learn how to manage different versions of your plugins in the ElasticView Developer Portal.
Overview
Version management is crucial for maintaining your plugins and providing users with stable, feature-rich experiences. The ElasticView platform supports comprehensive version control with semantic versioning.
Version Numbering
Semantic Versioning
Follow semantic versioning (SemVer) format: MAJOR.MINOR.PATCH
- MAJOR (1.0.0): Breaking changes that are not backward compatible
- MINOR (1.1.0): New features that are backward compatible
- PATCH (1.0.1): Bug fixes that are backward compatible
Version Examples
1.0.0: Initial release1.0.1: Bug fix release1.1.0: New feature addition2.0.0: Major update with breaking changes
Pre-release Versions
For testing and beta releases:
1.0.0-alpha.1: Alpha release1.0.0-beta.1: Beta release1.0.0-rc.1: Release candidate
Creating New Versions
Version Upload Process
Prepare New Version
- Update version number in plugin.yaml
- Test all functionality thoroughly
- Prepare release notes and changelog
- Update documentation if needed
Access Version Management
- Go to Plugin Management
- Select your plugin
- Click "Upload New Version"
Upload New Package
- Select updated plugin package
- Fill version information
- Add release notes
- Submit for review
Version Information
When uploading a new version, provide:
Version Details
- Version Number: Semantic version (e.g., 1.2.0)
- Release Type: Major, minor, or patch release
- Release Date: Automatic or scheduled
- Stability: Stable, beta, or alpha
Release Notes
- What's New: New features and improvements
- Bug Fixes: Issues resolved in this version
- Breaking Changes: Compatibility warnings
- Known Issues: Current limitations or bugs
Compatibility
- ElasticView Versions: Supported platform versions
- Dependencies: Required external components
- Migration Guide: Upgrade instructions for users
Version History
Viewing Version History
The version history shows:
- All Released Versions: Complete version timeline
- Release Dates: When each version was published
- Download Statistics: Per-version download counts
- Status: Active, deprecated, or removed versions
- User Ratings: Version-specific user feedback
Version Status Types
- Active: Current supported version
- Latest: Most recent version
- Deprecated: Older version, still available
- Removed: No longer available for download
- Beta: Testing version for early adopters
Version Management Actions
Version Operations
For each version, you can:
- View Details: See complete version information
- Download: Get the plugin package
- Deprecate: Mark version as outdated
- Remove: Delete version from marketplace
- Rollback: Make older version the active one
- Clone: Create new version based on existing one
Deprecation Process
To deprecate an older version:
- Select Version: Choose version to deprecate
- Set Deprecation Notice: Inform users about replacement
- Migration Timeline: Provide upgrade deadline
- Automatic Notifications: Users receive update notices
Version Removal
Permanently remove a version:
- Confirm Removal: Understand this is irreversible
- User Impact: Consider active installations
- Migration Path: Ensure users can upgrade
- Notification: Inform affected users
Release Management
Release Planning
Plan your releases strategically:
Release Cycle
- Major Releases: Every 6-12 months
- Minor Releases: Every 1-3 months
- Patch Releases: As needed for critical fixes
- Beta Releases: 2-4 weeks before major releases
Feature Planning
- Roadmap: Plan features across versions
- User Feedback: Incorporate user requests
- Platform Updates: Align with ElasticView releases
- Compatibility: Maintain backward compatibility
Beta Testing
Manage beta versions effectively:
Beta Channel Setup
- Create separate beta distribution
- Limit access to beta testers
- Collect feedback and metrics
Beta User Management
- Invite trusted users
- Provide feedback channels
- Monitor usage and issues
Beta to Stable Promotion
- Address beta feedback
- Perform final testing
- Promote to stable release
Version Analytics
Download Metrics
Track version performance:
- Download Trends: Version adoption rates
- User Retention: How long users stay on versions
- Upgrade Patterns: How users move between versions
- Geographic Distribution: Version popularity by region
User Feedback
Monitor version-specific feedback:
- Ratings: Per-version user ratings
- Reviews: Version-specific user comments
- Bug Reports: Issues reported for each version
- Feature Requests: User suggestions for improvements
Performance Metrics
Track version performance:
- Crash Reports: Stability metrics per version
- Performance Data: Load times and resource usage
- Error Rates: Frequency of errors by version
- Support Requests: Version-related support tickets
Compatibility Management
Platform Compatibility
Ensure compatibility across:
ElasticView Versions
- Minimum Version: Oldest supported platform version
- Maximum Version: Newest tested platform version
- Compatibility Matrix: Version support grid
- Testing: Verify compatibility across versions
Dependencies
- External Libraries: Required third-party components
- System Requirements: Operating system compatibility
- Browser Support: Web interface compatibility
- Database Versions: Supported database systems
Breaking Changes
Handle breaking changes carefully:
Advance Notice
- Announce breaking changes early
- Provide migration timeline
- Document required changes
Migration Support
- Create migration tools
- Provide step-by-step guides
- Offer migration assistance
Deprecation Period
- Maintain old version temporarily
- Provide warnings about deprecation
- Set clear end-of-life dates
Automated Version Management
Continuous Integration
Integrate with CI/CD pipelines:
# Example GitHub Actions workflow
name: Plugin Release
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build Plugin
run: make build
- name: Upload to ElasticView
run: |
curl -X POST \
-H "Authorization: Bearer ${{ secrets.EV_API_TOKEN }}" \
-F "plugin=@plugin-package.zip" \
https://api.elastic-view.cn/v1/plugins/uploadVersion Automation
Automate version management:
- Automatic Versioning: Based on commit messages
- Changelog Generation: From git history
- Release Notes: Auto-generated from commits
- Testing: Automated testing before release
Best Practices
Version Strategy
- Consistent Numbering: Follow semantic versioning strictly
- Regular Releases: Maintain predictable release schedule
- Quality Assurance: Thorough testing before release
- Documentation: Keep version docs up to date
User Communication
- Clear Release Notes: Explain changes clearly
- Migration Guides: Help users upgrade smoothly
- Advance Notice: Warn about breaking changes
- Support Channels: Provide help during transitions
Maintenance
- Long-term Support: Maintain critical versions
- Security Updates: Patch security issues promptly
- Performance Monitoring: Track version performance
- User Feedback: Respond to version-specific issues
Troubleshooting
Common Issues
Version Upload Failures
- Check version number format
- Verify package integrity
- Ensure proper permissions
Compatibility Problems
- Test with target platform versions
- Verify dependency versions
- Check breaking changes
User Upgrade Issues
- Provide clear migration instructions
- Test upgrade process
- Offer rollback options
Getting Support
Documentation
- Review version management guides
- Check platform compatibility matrix
- Read best practices
Developer Support
- Email: version-support@elastic-view.cn
- Include plugin name and version details
- Provide specific error messages
Next Steps
- Plugin Management - Overall plugin management
- Plugin Upload - Upload new plugins
- Account Management - Developer account settings
- Plugin Development - Development best practices
