27. Upgrade and version numbers
[!ref] Full details in the User Manual, "Upgrade, backup and sync".
27.0 Config directory brand migration (zcode → avlcode)
From v0.6.30-alpha the user-facing brand identifiers — the global config directory, in-workspace .zcode/ → .avlcode/, ZCODE_* → AVLCODE_* env vars, and so on — migrate to avlcode, completed automatically on startup / workspace open, with a toast, keeping old names for dual-read fallback; internal process names (zAgent / zMCP / zWorkspace) and internal env vars such as ZAGENT_* / ZMCP_* are not part of the migration:
| Old | New |
|---|---|
Global config dir ~/.config/zcode/ |
~/.config/avlcode/ |
In-workspace .zcode/ (incl. rag/, sbom.*, etc.) |
.avlcode/ |
Env vars ZCODE_… (e.g. ZCODE_DISABLE_VENV_AUTODETECT) |
AVLCODE_… |
Config YAML and frontmatter fields (x-zcode-…, etc.) |
corresponding avlcode / x-avlcode-… |
UA trailing token zCode/<ver> |
avlcode/<ver> |
SSH remote ~/.zcode, remote workspace .zcode |
~/.avlcode, .avlcode |
Any residual "zCode" in the UI or external output is unified to "AVL Code". If you've hard-coded the old paths / variables in scripts, switch to the new names.
27.1 Version format
MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
| Segment | Meaning |
|---|---|
| MAJOR | Incompatible change (data migration / config break) |
| MINOR | New feature (backwards-compatible) |
| PATCH | Fix / optimisation (backwards-compatible) |
| PRERELEASE | alpha.<n> / beta.<n> / rc.<n> |
| BUILD | Build metadata; not part of version comparison |
27.2 Upgrade paths
| Path | Cadence | Description |
|---|---|---|
| In-app upgrade | Daily check by default | Recommended |
| Manual download (install-free) | As needed | Official download page www.avlcode.cn/#download; download, replace and run; config preserved |
| Internal marketplace | Per team config | Org admin controls versions |
Alpha builds are valid for 45 days: counted from the release time encoded in the version number (UTC+8), checked at launch and hourly thereafter; once expired a full-screen lock overlay appears — signed in with usage available: automatically check for updates → download → restart after a countdown ("Restart now" available); not signed in: "Sign in", "Re-check", "Visit website"; signed in without usage: "Buy vouchers", "Upgrade plan", "Re-check", "Visit website"; "Quit app" is always at the bottom.
The official download page provides per-platform builds (Windows x64 / macOS Universal · Apple Silicon / Linux x64 · AppImage · Snap · WebKit 4.1 / Kylin V10 SP1 / UOS V20 / Kylin ARM64) on the alpha channel — always the latest build.
27.2.1 The domestic ARM64 channel
Domestic ARM64 (aarch64) has its own release and update feed, fully isolated from domestic x86:
| Item | Value |
|---|---|
| Artifacts | An archive (linux-arm64-domestic.zip) and a Kylin V10 ARM64 DEB (avlcode_v10_<version>_arm64.deb) |
| WebKit | The DEB bundles a relocatable WebKit 4.1 runtime, so it runs on target machines without a suitable webkit2gtk-4.1 |
| Logical channels | Still dev / alpha / beta / rc / stable; architecture isolation is expressed by a separate feed namespace, not by inventing new channel names |
| Signing | The same SM2 signing key pair and trusted public key as the existing releases |
| Client | On a domestic ARM64 environment the client automatically checks this feed for updates |
This channel currently excludes ARM64 AppImage / Snap builds and multi-architecture manifests.
27.3 Upgrade signature
| Step | Description |
|---|---|
| Download | Pulled from internal upgrade source to local cache |
| Verify | GM signature + embedded public key |
| Replace | Atomic swap of the main binary on verify success |
| Rollback | Auto-rollback on verify or launch failure |
