v0.19.3

sleep3r/mtproto.zigv0.19.3Apr 21, 2026by sleep3r

Upgrading?

AI Summary

v0.19.3 fixes a bug where adding a user via the dashboard would corrupt the `config.toml` file by omitting a trailing newline, causing the parser to fail.

Key Highlights

  • Fixed `config.toml` corruption when adding users via the dashboard.
  • Ensured every line in `TomlDoc.save()` ends with a newline.
  • Normalized file content before insertion/removal operations.

New Features

  • Fix config corruption on user add missing trailing newline

Full Release Notes

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

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

Исправлена порча `config.toml` при добавлении пользователя через веб-панель мониторинга (`/api/users/add`). После чистой установки конфиг генерировался без завершающего перевода строки — новая запись склеивалась с предыдущей, и парсер переставал видеть обоих пользователей.

> [!NOTE]
> Баг проявлялся только при добавлении пользователя через dashboard. Ручное редактирование `config.toml` не затронуто.

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

### Dashboard: корректная запись пользователей ([#204](https://github.com/sleep3r/mtproto.zig/pull/204))

- `server.py` — `_add_user_to_config`, `_remove_user_from_config`, `_set_user_direct`: перед вставкой/удалением строк файл нормализуется — если последняя строка не заканчивается `\n`, перевод строки добавляется автоматически.
- `toml.zig` — `TomlDoc.save()`: каждая строка теперь всегда завершается `\n`, что исключает генерацию конфигов без завершающего перевода строки при установке.

Изменений в конфигурации не требуется.

</details>

---

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

## What this release addresses

Fixed `config.toml` corruption when adding a user via the monitoring dashboard (`/api/users/add`). After a clean install the config was generated without a trailing newline — the new entry was concatenated onto the previous line, causing the parser to lose both users.

> [!NOTE]
> This bug only affected user addition through the dashboard. Manual `config.toml` editing was not impacted.

## What changed

### Dashboard: correct user entry writing ([#204](https://github.com/sleep3r/mtproto.zig/pull/204))

- `server.py` — `_add_user_to_config`, `_remove_user_from_config`, `_set_user_direct`: the file is now normalised before insertion/removal — if the last line does not end with `\n`, a newline is appended automatically.
- `toml.zig` — `TomlDoc.save()`: every line is now unconditionally terminated with `\n`, preventing the installer from generating configs without a trailing newline.

No configuration changes required.

</details>

## Changelog

* fix(dashboard): fix config corruption on user add missing trailing newline ([#204](https://github.com/sleep3r/mtproto.zig/pull/204)) ([811b0f7](https://github.com/sleep3r/mtproto.zig/commit/811b0f7b25a0892b80f8fbea502223c8a36b52e2))

Related Repositories