๐Ÿš€ 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 curl and tar)
  • 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

  1. Version Detection: Uses dynamic version functions
  2. GitHub API Query: Fetches latest release information
  3. Version Comparison: Semantic version comparison
  4. Safe Download: Atomic download and installation
  5. 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

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

  1. 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
    
  2. Update version checks:
    # Old command
    xmd --version
       
    # New command  
    xmd version
    
  3. 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