v0.21.2

sleep3r/mtproto.zigv0.21.2May 5, 2026by sleep3r

Upgrading?

AI Summary

v0.21.2 is a hotfix release addressing UI freezing issues during `mtbuddy update` on unstable network connections. It introduces timeouts for GitHub artifact downloads and makes the optional `mtbuddy` updater download a visible, separate step.

Key Highlights

  • Added curl timeouts (connect 10s, max 120s) for artifact downloads with retries.
  • Made the optional `mtbuddy` download a visible UI step during updates.
  • Added a warning if the `mtbuddy` artifact is unavailable while continuing the proxy update.
  • Improved updater recovery path to handle network stalls gracefully.

New Features

  • Added bounded release download timeouts

Full Release Notes

<details open>
<summary>🇷🇺 Что нового (RU)</summary>

## Что решает этот релиз

`v0.21.2` - небольшой hotfix-релиз для `mtbuddy update`.

В `v0.21.1` обновление proxy-бинарника уже работало корректно, но на плохом или нестабильном соединении до GitHub updater мог выглядеть зависшим после строки:

```text
✔ Бинарник совместим с этим CPU
```

Причина была в следующем скрытом шаге: старый `mtbuddy` дополнительно скачивал новый `mtbuddy-linux-*` artifact без отдельного UI-сообщения и без upper-bound timeout для `curl`. Если GitHub/CDN подвисал, пользователь видел последнюю успешную строку про CPU compatibility и не понимал, где именно остановился процесс.

В `v0.21.2` скачивания release artifacts ограничены по времени, optional download нового `mtbuddy` стал видимым шагом, а если `mtbuddy` artifact недоступен, updater предупреждает об этом и продолжает proxy-only update.

> [!NOTE]
> Изменений в `config.toml` не требуется.

> [!TIP]
> Если старый интерактивный updater уже висит на строке `Бинарник совместим с этим CPU`, можно прервать его `Ctrl+C` и повторить `sudo mtbuddy update`. Для новых установок и обновлений используйте `latest` или `v0.21.2`.

## Что изменено

### mtbuddy update: bounded release downloads ([#234](https://github.com/sleep3r/mtproto.zig/pull/234))

- Все скачивания GitHub Release assets теперь идут через `curl` с `--connect-timeout 10`, `--max-time 120`, retry и небольшой задержкой между повторами.
- Скачивание нового `mtbuddy` во время `mtbuddy update` теперь отображается отдельным UI-шагом.
- Если optional `mtbuddy` artifact не удалось скачать, updater показывает warning и продолжает установку нового `mtproto-proxy`.
- На сервере `proxy.sleep3r.ru` подтвержден recovery path: зависший старый updater дошел до `mtbuddy v0.21.1`, а proxy поднялся как `v0.21.1`.

</details>

---

<details>
<summary>🇬🇧 Release notes (EN)</summary>

## What this release addresses

`v0.21.2` is a small hotfix release for `mtbuddy update`.

In `v0.21.1`, updating the proxy binary itself worked correctly, but on poor or unstable connectivity to GitHub the updater could appear stuck after:

```text
✔ Binary compatible with this CPU
```

The next step was hidden: the old `mtbuddy` also downloaded the matching `mtbuddy-linux-*` artifact without a dedicated UI message and without an upper-bound timeout for `curl`. If GitHub/CDN stalled, users only saw the last successful CPU compatibility line and had no clear indication of what was still running.

`v0.21.2` bounds release artifact downloads, makes the optional `mtbuddy` updater download visible, and warns while continuing with a proxy-only update if the `mtbuddy` artifact cannot be fetched.

> [!NOTE]
> No `config.toml` changes are required.

> [!TIP]
> If an older interactive updater is already stuck at `Binary compatible with this CPU`, interrupt it with `Ctrl+C` and rerun `sudo mtbuddy update`. For new installs and updates, use `latest` or `v0.21.2`.

## What changed

### mtbuddy update: bounded release downloads ([#234](https://github.com/sleep3r/mtproto.zig/pull/234))

- All GitHub Release asset downloads now use `curl` with `--connect-timeout 10`, `--max-time 120`, retries, and a short retry delay.
- Downloading the new `mtbuddy` during `mtbuddy update` is now shown as a separate UI step.
- If the optional `mtbuddy` artifact cannot be downloaded, the updater emits a warning and continues installing the new `mtproto-proxy`.
- The recovery path was confirmed on `proxy.sleep3r.ru`: the stuck old updater reached `mtbuddy v0.21.1`, and the proxy restarted as `v0.21.1`.

</details>

## Changelog

* fix: bound release download timeouts ([#234](https://github.com/sleep3r/mtproto.zig/pull/234)) ([fa62cd8](https://github.com/sleep3r/mtproto.zig/commit/fa62cd8e94dee2c705fb2a8d4228aeb5f3cb4994))
* chore(main): release 0.21.2 ([#235](https://github.com/sleep3r/mtproto.zig/pull/235)) ([1459bb4](https://github.com/sleep3r/mtproto.zig/commit/1459bb4de0dc59e5a983408eb5ea4c3eb131cc7c))

Related Repositories