Release Process

Guide for publishing new versions of WvdS FPC RAD Studio.

Versioning

Semantic Versioning

MAJOR.MINOR.PATCH
  │     │     └── Bug Fixes
  │     └── New Features (backward compatible)
  └── Breaking Changes

Pre-Release Versions

  • 1.0.0-alpha.1 - Early development
  • 1.0.0-beta.1 - Feature-complete, testing
  • 1.0.0-rc.1 - Release Candidate

Release Checklist

PRE-RELEASE:
[ ] All tests passed
[ ] Code review completed
[ ] Documentation updated
[ ] CHANGELOG updated
[ ] Version updated in package.json
[ ] No TODO/FIXME in code

BUILD:
[ ] Release build created (--mode release)
[ ] Build artifacts verified
[ ] VSIX packages created
[ ] Packages tested locally

PUBLISH:
[ ] Git tag created
[ ] GitHub Release created
[ ] Marketplace publishing
[ ] Documentation deployed

POST-RELEASE:
[ ] Version bump for next development
[ ] Release notes communicated

Maintaining CHANGELOG

# Changelog
 
## [1.2.0] - 2024-01-15
 
### Added
- New feature X
- Support for Y
 
### Changed
- Improved behavior for Z
 
### Fixed
- Bug in feature A fixed (#123)
 
### Removed
- Deprecated feature B removed

Creating Build

# Clean Build
wvds-build clean
wvds-build --mode release
 
# Create VSIX
wvds-build package
 
# Result in binaries/dist/
ls binaries/dist/
# wvds-vscode-core-1.2.0.vsix
# wvds-vscode-build-1.2.0.vsix
# ...

Git Workflow

# Ensure main is up to date
git checkout main
git pull origin main
 
# Update version
# Edit package.json, CHANGELOG.md
 
# Commit
git add -A
git commit -m "Release v1.2.0"
 
# Create tag
git tag -a v1.2.0 -m "Version 1.2.0"
 
# Push
git push origin main
git push origin v1.2.0

GitHub Release

gh release create v1.2.0 \
  --title "WvdS FPC RAD Studio v1.2.0" \
  --notes-file CHANGELOG.md \
  binaries/dist/*.vsix

Marketplace Publishing

Prerequisites

  • vsce installed: npm install -g @vscode/vsce
  • Personal Access Token (PAT) with Marketplace scope
  • Publisher account registered

Publishing

# Single extension
vsce publish -p $PAT
 
# All extensions
for vsix in binaries/dist/*.vsix; do
  vsce publish --packagePath "$vsix" -p $PAT
done

Verification

After publishing:

  1. Check Marketplace page
  2. Test installation in VS Code
  3. README displayed correctly?

Hotfix Process

For critical bugs after release:

# Create hotfix branch from tag
git checkout -b hotfix/1.2.1 v1.2.0
 
# Implement fix
# ...
 
# Test, commit
git commit -m "Fix: Critical bug in X"
 
# Version bump
# package.json: 1.2.0 -> 1.2.1
 
git commit -m "Bump version to 1.2.1"
 
# Tag and release
git tag -a v1.2.1 -m "Hotfix: Critical bug in X"
git push origin hotfix/1.2.1
git push origin v1.2.1
 
# Merge into main
git checkout main
git merge hotfix/1.2.1
git push origin main

Rollback

If a release is defective:

# Marketplace: Mark previous version as "latest"
vsce unpublish wvds.wvds-vscode-core@1.2.0
 
# Or: Publish hotfix

Automation

GitHub Actions

name: Release

on:
  push:
    tags:
      - 'v*'

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Build
        run: wvds-build --mode release

      - name: Package
        run: wvds-build package

      - name: Create Release
        uses: softprops/action-gh-release@v1
        with:
          files: binaries/dist/*.vsix

      - name: Publish to Marketplace
        env:
          VSCE_PAT: ${{ secrets.VSCE_PAT }}
        run: |
          npm install -g @vscode/vsce
          for vsix in binaries/dist/*.vsix; do
            vsce publish --packagePath "$vsix"
          done

See also

Zuletzt geändert: on 2026/01/29 at 10:26 PM