v0.9.2

sleep3r/mtproto.zigv0.9.2Apr 8, 2026by sleep3r

Upgrading?

AI Summary

Improves update safety by preserving tunnel configurations and adding CPU compatibility checks.

Key Highlights

  • `update.sh` preserves tunnel-aware service units
  • CPU-aware artifact selection (x86_64_v3 vs generic)
  • Preflight compatibility check to prevent SIGILL crashes
  • Publishes both x86_64 artifacts

New Features

  • Tunnel-safe updates
  • CPU compatibility checks

Full Release Notes

## [0.9.2](https://github.com/sleep3r/mtproto.zig/compare/v0.9.1...v0.9.2) (2026-04-08)

### 🇷🇺 Release notes (RU)

**Что решает этот релиз**
- Исправляет два критичных сценария обновления в проде: потерю tunnel-конфига после `update.sh` и падение `status=4/ILL` на хостах без `x86_64_v3`.
- Делает процесс обновления безопаснее на разнородных VPS/CPU.

**Что изменено**
- **Tunnel-safe update**: `deploy/update.sh` больше не перезаписывает tunnel-aware `mtproto-proxy.service` (если в unit обнаружены `setup_netns.sh`/`ip netns exec`/`AmneziaWG Tunnel`).
- **Явный override**: добавлен `FORCE_SERVICE_UPDATE=1` для случаев, когда нужно принудительно вернуть дефолтный unit из релиза.
- **CPU-aware artifact selection (x86_64)**: апдейтер автоматически выбирает совместимый артефакт (`x86_64_v3` при поддержке CPU, иначе generic `x86_64`).
- **Preflight compatibility check**: перед установкой выполняется проверка бинарника на текущем CPU; при `SIGILL` обновление прерывается до замены рабочего бинарника.
- **Release artifacts update**: в релизном workflow теперь публикуются оба x86_64 артефакта — `mtproto-proxy-linux-x86_64` и `mtproto-proxy-linux-x86_64_v3`.
- **Docs update**: README обновлен под новое поведение `update-server`.

**Важно**
- Миграция `config.toml` не требуется.
- Если у вас локальная копия старого `update.sh`, обновите скрипт перед следующим апдейтом.
- Для кастомных tunnel-юнитов это релиз-фикс: обычный update больше не должен «сносить» туннельный запуск.

### 🇬🇧 Release notes (EN)

**What this release addresses**
- Fixes two critical production update regressions: tunnel setup loss after `update.sh` and `status=4/ILL` crashes on CPUs without `x86_64_v3` support.
- Makes upgrades safer across heterogeneous VPS/CPU environments.

**What changed**
- **Tunnel-safe update**: `deploy/update.sh` no longer overwrites tunnel-aware `mtproto-proxy.service` units (detected via `setup_netns.sh`/`ip netns exec`/`AmneziaWG Tunnel`).
- **Explicit override**: added `FORCE_SERVICE_UPDATE=1` for intentionally restoring the default release unit.
- **CPU-aware artifact selection (x86_64)**: updater now auto-selects a compatible artifact (`x86_64_v3` when supported, otherwise generic `x86_64`).
- **Preflight compatibility check**: binary is validated on the host CPU before install; on `SIGILL`, update aborts before replacing the working binary.
- **Release artifacts update**: release workflow now publishes both x86_64 artifacts — `mtproto-proxy-linux-x86_64` and `mtproto-proxy-linux-x86_64_v3`.
- **Docs update**: README updated to reflect the new `update-server` behavior.

**Important**
- No `config.toml` migration is required.
- If you keep an old local copy of `update.sh`, refresh it before the next upgrade.
- For custom tunnel units, this release fixes the common issue where routine updates could reset tunnel startup wiring.

---

### Bug Fixes

* **deploy:** preserve tunnel service and avoid incompatible release binaries ([#93](https://github.com/sleep3r/mtproto.zig/issues/93)) ([7164040](https://github.com/sleep3r/mtproto.zig/commit/716404031183e1f96bcae79e6cfc08b3d1201b9b))

---

This PR is managed by Release Please.

Related Repositories