Upgrade xlwings Server

Prerequisites

This guide assumes that you have set up your local Git repository according to Git Repository Setup.

Upgrade process

  1. Fetch changes from upstream/legacy and merge them:

    git fetch upstream
    git merge --no-edit upstream/legacy
    
  2. If you get a merge conflict, resolve it.

  3. Compile the requirements files:

    python run.py deps compile
    
  4. Commit and push the requirements files to your repo (feel free to use a Git UI instead):

    git add .
    git commit -m "updated requirements"
    git push origin main
    
  5. Update your requirements locally:

    uv pip sync requirements-dev.txt
    

    If you use Docker, rebuild your container instead:

    docker compose build
    

Merge vs. Rebase

Merge is recommended over rebase:

  • Potential merge conflicts can be resolved in a single step

  • There’s no force push required

  • The history of your own commits is preserved

  • Git Repository Setup minimizes merge conflicts during merge operations via .gitattributes