๐ XMD v0.0.2 Release Notes
๐ XMD v0.0.2 Release Notes
Release Date: July 28, 2025
Version: 0.0.2
Codename: โAuto-Updateโ
This release introduces a complete upgrade and version management system, making it easier than ever to keep XMD current with the latest features and improvements.
๐ Whatโs New
๐ Built-in Upgrade System
XMD now includes a sophisticated upgrade system that automatically manages version updates:
# Check your current version
xmd version
# Output: XMD version 0.0.2
# Built on Jul 28 2025
# Upgrade to the latest release
xmd upgrade
# Output: XMD Upgrade Tool
# ================
#
# Current version: 0.0.1
# Checking for updates...
# ๐ฆ Downloading XMD v0.0.2...
# โ
Successfully upgraded to v0.0.2!
๐ Dynamic Version Detection
Gone are the days of hardcoded version numbers! XMD now features:
- Git-based versioning: Version extracted from git tags at build time
- Build information: Complete build details including commit and date
- Consistent versioning: Same version shown across all interfaces (CLI, API, help)
๐ ๏ธ Enhanced Installation
The install.sh script has been completely rewritten:
- Release-based installation: Downloads latest release instead of building from source
- Faster setup: Reduced dependencies (only needs
curlandtar) - Fallback building: Still builds from source when needed
- Better error handling: More informative error messages and recovery
๐งช Comprehensive Testing
New test suite for upgrade functionality:
- Version consistency: Ensures all interfaces show the same version
- Upgrade workflow: Tests the complete upgrade process
- Error handling: Validates proper error recovery
- Integration testing: End-to-end upgrade scenarios
๐ง Technical Improvements
Version Management Architecture
Build Time:
โโโ CMake extracts git information
โโโ Generates version_info.h header
โโโ Embeds version in all binaries
Runtime:
โโโ get_version() - Core version function
โโโ xmd_get_version() - API wrapper
โโโ print_version() - CLI version display
โโโ cmd_upgrade() - Upgrade functionality
Upgrade Process Flow
- Version Detection: Uses dynamic version functions
- GitHub API Query: Fetches latest release information
- Version Comparison: Semantic version comparison
- Safe Download: Atomic download and installation
- Backup/Restore: Safe rollback on failure
Installation Improvements
- Dependency reduction: From 4 build tools to 2 runtime tools
- Speed improvement: ~90% faster installation for most users
- Network resilience: Better handling of network issues
- Platform compatibility: Enhanced support for various environments
๐ก๏ธ Security & Reliability
Safe Upgrade Process
- Atomic operations: Binary replacement is atomic
- Backup creation: Original binary backed up before upgrade
- Verification: Download verification and integrity checks
- Rollback capability: Automatic rollback on failure
Version Integrity
- No hardcoded versions: All version info generated at build time
- Consistent display: Version shown consistently across all interfaces
- Build traceability: Complete git information embedded in binary
๐ Documentation Updates
New Documentation
- Upgrade Guide: Complete upgrade system documentation
- Updated CLI Reference: New
upgradeandversioncommands - Enhanced Quick Start: Installation and upgrade instructions
Updated Examples
# Installation examples
curl -fsSL https://raw.githubusercontent.com/akaoio/xmd/main/install.sh | bash
# Version management examples
xmd version # Check current version
xmd upgrade # Upgrade to latest
xmd upgrade --help # Show upgrade help
๐ Breaking Changes
Command Changes
xmd --versionโxmd version: More consistent CLI interface- Version output format updated to include build information
API Changes
- Version functions now return dynamic values instead of compile-time constants
- Build information now includes git commit and branch details
๐ Bug Fixes
- Fixed hardcoded version displays showing โ1.0.0โ instead of actual version
- Resolved version inconsistencies between CLI and API
- Improved error handling in version detection functions
- Fixed build warnings related to version macros
โก Performance Improvements
- Installation speed: Up to 90% faster installation (no compilation needed)
- Startup time: Faster version detection with cached git information
- Network efficiency: Optimized GitHub API queries with proper caching
๐๏ธ Development Experience
Enhanced Testing
- New dedicated test suite for upgrade functionality
- Comprehensive version consistency testing
- Integration tests for installation scenarios
- Automated testing of upgrade workflows
Build System
- Dynamic version generation in CMake
- Proper git information extraction
- Generated header files for version constants
- Improved dependency management
๐ฎ Whatโs Next
This release establishes the foundation for automatic updates and version management. Future releases will focus on:
- Automatic updates: Background update checking
- Release channels: Stable, beta, and nightly builds
- Plugin system: Extensible architecture for custom functionality
- Configuration management: Advanced configuration options
๐ Migration Guide
For Existing Users
- Update your installation method:
# Old method (still works but slower) git clone https://github.com/akaoio/xmd.git && cd xmd && make install # New method (recommended) curl -fsSL https://raw.githubusercontent.com/akaoio/xmd/main/install.sh | bash - Update version checks:
# Old command xmd --version # New command xmd version - Use upgrade command:
# Instead of manual reinstallation xmd upgrade
For New Users
Simply follow the updated Quick Start Guide for the best experience.
๐ Acknowledgments
This release was made possible by comprehensive testing and feedback from the XMD community. Special thanks to all contributors who helped test the upgrade system and provided valuable feedback on the installation process.
๐ Release Statistics
- Lines of code added: ~800 (upgrade system + tests)
- Files changed: 15+ (core system + documentation)
- New tests: 7 comprehensive test scenarios
- Documentation updates: 6 files updated + 1 new guide
- Installation time improvement: 90% faster for most users
Download XMD v0.0.2:
- Automatic:
xmd upgrade(if you have XMD installed) - Fresh install:
curl -fsSL https://raw.githubusercontent.com/akaoio/xmd/main/install.sh | bash - GitHub Release: https://github.com/akaoio/xmd/releases/tag/v0.0.2