Update

On this page

Updating Your Project

â„šī¸
New in June 2025: Projects created with create-aether-cms v1.1.0+ include enhanced update capabilities with automated conflict resolution and CLI commands. If you installed before June 18, 2025, see the Legacy Installations section below.

Your Aether CMS project maintains a connection to the original repository and includes multiple update methods depending on when you installed it.

For New Installations (June 18, 2025+)

If you installed Aether CMS with create-aether-cms v1.1.0 or later, you have access to enhanced update capabilities:

Automated Update (Recommended)

# Check for updates with enhanced information
npm run check-updates

# Apply updates automatically (preserves all customization)
npm run update-aether
✨
Enhanced Features: New installations include intelligent conflict resolution that automatically preserves your project name, settings, content, and customization during updates.

For Legacy Installations (Before June 18, 2025)

If you installed with create-aether-cms v1.0.0, use the traditional git-based approach:

# Check what updates are available
git fetch upstream
git log HEAD..upstream/main --oneline  # See what's new

# Apply all updates
git merge upstream/main

# Or apply specific updates
git cherry-pick <commit-hash>
âš ī¸
Legacy Installation Notice: Older installations require manual conflict resolution for package.json and other configuration files.

Universal Git Commands (All Installations)

These commands work for both new and legacy installations:

# View available updates
git fetch upstream
git log HEAD..upstream/main --oneline

# Check current remotes
git remote -v

# View update history
git log --graph --oneline --all

Note: The upstream remote is automatically configured during project creation in all versions.

If You Need to Re-add the Upstream Remote

If for some reason the upstream remote is missing:

# Check existing remotes
git remote -v

# Add upstream if it doesn't exist
git remote add upstream https://github.com/LebCit/aether-cms.git

Safely Updating Your Aether CMS

The update process varies depending on your installation version, but the safety principles remain the same.

Before Updating (All Versions)

  1. Commit your changes:

    git add .
    git commit -m "Save my changes before update"
    
  2. Backup your site (optional but recommended):

    cp -r my-cms-site my-cms-site-backup
    

Enhanced Update Process (v1.1.0+ Installations)

For installations created after June 18, 2025:

# Automated update with conflict prevention
npm run update-aether

This command automatically:

  • ✅ Creates a backup branch
  • ✅ Preserves your project name and version
  • ✅ Maintains your .env settings
  • ✅ Protects your content and uploads
  • ✅ Merges new features without conflicts
  • ✅ Rolls back automatically if issues occur

Standard Update Process (Legacy Installations)

For installations created before June 18, 2025:

# Get the latest updates
git fetch upstream

# View what's changed (optional)
git log HEAD..upstream/main --oneline

# Merge the updates
git merge upstream/main

Safest Update Process (Cherry-picking)

For maximum control with any installation version:

# View the available updates
git log upstream/main --oneline

# Apply a specific update
git cherry-pick <commit-hash>

Resolve Conflicts

🔧
Conflict Resolution: New installations (v1.1.0+) automatically prevent most conflicts. Legacy installations may require manual resolution.

If you encounter merge conflicts:

# After running git merge upstream/main
# Edit files to resolve conflicts, then:
git add .
git commit -m "Resolve merge conflicts"

Common conflict files in legacy installations:

  • package.json (project name/version conflicts)
  • package-lock.json (dependency conflicts)

What's Protected During Updates

✅ Always Safe (all installation versions):

  • Your custom themes in /content/themes/ (except the default theme)
  • All your content in /content/data/
  • All your uploads in /content/uploads/
  • Any files listed in .gitignore

✅ Enhanced Protection (v1.1.0+ installations):

  • Your project name and version in package.json
  • Environment variables in .env
  • Custom settings in content/data/settings.json
  • Git ignore rules in .gitignore

âš ī¸ May Require Attention:

🚨
Important: Do not modify files in the core directory unless you're absolutely sure of what you're doing. These files are critical to the system and modifications will create merge conflicts during updates.
  • Core files you've modified will show merge conflicts
  • You'll need to manually resolve these conflicts
  • Changes to the default theme may require attention

After Updating

  1. Install any new dependencies:

    npm install # Or npm i
    
  2. Restart your server:

    npm start
    
  3. Verify the update (v1.1.0+ installations):

    npm run check-updates  # Should show "You are running the latest version!"
    

Setting Up Your Own Repository

For any installation version:

# Create a new repository on GitHub, then:
git remote add origin https://github.com/YOUR_USERNAME/your-project.git
git push -u origin main

Troubleshooting Updates

If an update fails (v1.1.0+ installations):

# Check for backup branches
git branch -a

# Restore from automatic backup
git checkout backup-[timestamp]
git checkout main
git reset --hard backup-[timestamp]

If you get stuck (any version):

# Reset to latest upstream version (âš ī¸ loses customization)
git fetch upstream
git reset --hard upstream/main

# Then restore your important files from backup
git checkout HEAD~1 -- .env content/

Next

You're ready for Aether: The CMS that just works — so you don't have to.