Files
XC_VM/docs/en/updates_checklist.md
T

3.3 KiB

✅ XC_VM Release Preparation Checklist

This document describes the process of creating an XC_VM release — a step-by-step guide for developers on updating the version, building archives, and publishing on GitHub.

⬅️ Back to Main Page


📚 Navigation


🔢 1. Update Version

  • Set the new XC_VM_VERSION value in the following files:

Files to edit:

src/www/constants.php  
src/www/stream/init.php  
src/player/functions.php

Auto-update command:

find -type f -name "*.php" -exec sed -i \
"s/define('XC_VM_VERSION', '[0-9]\+\.[0-9]\+\.[0-9]\+');/define('XC_VM_VERSION', 'X.Y.Z');/g" {} \;

Commit the changes with a message:

git add .
git commit -m "Bump version to X.Y.Z"

💡 Tip: Replace X.Y.Z with the actual version, e.g., 1.2.3.


🧹 2. Deleted Files

  • Generate a list of deleted files:
make delete_files_list
  • Open the file dist/deleted_files.txt.
  • For each path in the list, add the following block after the comment // Update checkpoint in src/includes/cli/update.php:
if (file_exists(MAIN_HOME . 'file_path')) {
    unlink(MAIN_HOME . 'file_path');
}

⚠️ Important: Ensure paths are correct to avoid deleting critical files.


⚙️ 3. Build Archives

  • Run the following commands sequentially:
make lb
make main
make main_update
make lb_update
  • Make sure the following files are created in dist/:

    • loadbalancer.tar.gz — LB installation archive
    • loadbalancer_update.tar.gz — LB update archive
    • XC_VM.zip — MAIN installation archive
    • update.tar.gz — MAIN update archive
    • hashes.md5 — file with checksums

🧰 Check: After building, verify archive integrity with md5sum -c hashes.md5.


📝 4. Changelog

Generate the changelog from git first:

git log --pretty=format:"- %s (%h)" X.Y.Z..main > dist/changes.md
  • Then add current release changes using this JSON:

https://github.com/Vateron-Media/XC_VM_Update/blob/main/changelog.json

  • Add current release changes in JSON format:
[
  {
      "version": "X.Y.Z",
      "changes": [
        "Description of change 1",
        "Description of change 2"
      ]
  }
]

💬 Recommendation: Keep descriptions concise and informative, focusing on key improvements and fixes.


🚀 5. GitHub Release

  • Create a new release on GitHub Releases.

  • Attach the following files:

    • dist/loadbalancer.tar.gz
    • dist/XC_VM.zip
    • dist/update.tar.gz
    • dist/loadbalancer_update.tar.gz
    • dist/hashes.md5
  • Include the changelog in the release description.

✅ Completion: After publishing, verify that all files are downloadable and checksums match.


⬅️ Back to Main Page