Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Windows Manager: Updates page and staged package upgrade workflow

Abierto
#4,351 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
cpp, powershell

Línea de trabajo

Comienza revisando packaging/windows/scripts/upgrade-package.ps1 y el PR #4350 mencionado; después, sigue cómo Windows Manager representa actualmente sus páginas y las versiones de los paquetes. Verifica la pestaña Updates y el workflow por etapas según los criterios de aceptación, incluidas las comprobaciones de compatibilidad, la preservación de los datos del usuario, la validación del estado y el rollback.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Feature request

Add an Updates page to the Windows OVMS Manager that lets users discover when a newer OVMS package is available and apply it through a safe, validated, recoverable upgrade — without manually locating release assets, unzipping, or editing environment variables.

This complements the standalone Windows installer/Manager (see #4347) and is implemented in PR #4350.

Motivation

On Windows, OVMS is distributed as a portable ovms.zip payload. Today, updating means: find the right release asset, download it, stop the server, unzip over the install, fix up environment/config, and restart — error-prone and easy to get into a half-upgraded, non-booting state. Because OVMS ships as a version-matched stack (ovms.exe + OpenVINO runtime + GenAI + tokenizers + Python), mixing individual DLLs across releases is a common failure mode. A guided, all-or-nothing upgrade flow removes that risk.

Components tracked

The Updates page reports installed vs. latest for the package as a matched set:

  • Base package (the OVMS Windows payload / install marker version)
  • OpenVINO Model Server (ovms.exe --version)
  • OpenVINO GenAI backend (bundled GenAI runtime version)

Versions are read from the local install (install.json marker + ovms.exe --version) and compared against release metadata for the matching package variant (python_on / python_off).

Expected behavior

Update check

  • One "Check for updates" action checks all components together (they move as one matched package, not independently).
  • Show, per component: installed version, latest compatible version, and a state — Up to date / Update available / Cannot check (offline/metadata error).
  • Only surface an Install/Upgrade action when a strictly newer, variant-compatible package exists.
  • Provide release-notes links for Model Server and GenAI.
  • Update checks are explicit/manual by default; periodic checks are opt-in (never auto-install).

Staged, validated upgrade (implemented in packaging/windows/scripts/upgrade-package.ps1)

  1. Stop the Manager-owned ovms.exe (or the service, in service mode).
  2. Download the matching package to %LOCALAPPDATA%\OVMS\packages.
  3. Verify the download (checksum/size) and that required files are present.
  4. Extract to a staging dir; run staged ovms.exe --version as a smoke test.
  5. Back up the current install to %LOCALAPPDATA%\OVMS\packages\backup\<version>.
  6. Replace the install files in-place; preserve user data under %LOCALAPPDATA%\OVMS (settings, models, logs).
  7. Re-run configuration/marker update; restart the server if it was running.
  8. Run a health check; roll back from backup if version or health validation fails.

UI (Updates tab)

  • A row per component (Base package / Model Server / GenAI) with installed version, latest version, status badge, and a release-notes link.
  • A single "Check for updates" button and a contextual "Install update" button that appears only when an update is available.
  • Progress and result surfaced inline (checking / downloading / verifying / upgrading / rolled back), with errors shown clearly.
  • Never mixes DLLs from different releases — the package is the unit of upgrade.

Safety / non-goals

  • No silent auto-install; user confirms before download and before applying.
  • Version + variant must match the installed stack, or the action is blocked.
  • User data (%LOCALAPPDATA%\OVMS) is preserved across upgrades.
  • Failed upgrades restore the previous working package from backup.
  • Out of scope for the first version: delta/patch updates, background auto-update, and updating the Manager app itself (tracked separately).

Acceptance criteria

  • Updates page shows accurate installed and latest versions for all three components.
  • A single check covers all components and reports the correct state.
  • Install action appears only when a newer, variant-compatible package is available.
  • Release-notes links open for Model Server and GenAI.
  • Upgrade runs the staged download → verify → back up → replace → validate → reconfigure flow.
  • Settings, models, and logs are preserved across an upgrade.
  • A failed/invalid upgrade rolls back to the previous working install.
  • Offline / metadata-unavailable is handled gracefully (no crash, clear message).

Value

Gives Windows Manager users a clear, guided, and reversible way to keep OVMS current, matching the local-desktop experience of tools like Ollama, while preserving OVMS's version-matched-stack guarantees.

Lenguaje dominante
C++
Estrellas
932
Forks
278
Merge medio
2 d 23 h
PR fusionados (30 d)
68

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de openvinotoolkit/model_server

Todos los issues de openvinotoolkit/model_server

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.