# Octava Router dev458

## dev457-to-dev458-miners-awg3

### Добавлено

- Раздел Octava Connect → Майнеры: настройка конкретных IPv4-сетей, поиск и периодический опрос майнеров, состояния, модель, температура и хешрейт при поддержке API устройства.
- Подключение BPI к площадке Octava Connect по одноразовому коду. Сначала отображаются предприятие и площадка; защищённый канал включается только отдельным подтверждением администратора.
- Выделенный служебный AWG3 на UDP20580. Интерфейс изолирован от обычной маршрутизации, DNS и остальных служб. Телеметрия не передаётся через публичный HTTP.
- Локальная очередь телеметрии с подтверждением доставки; локальный мониторинг сохраняется при недоступном центре. Настройки поиска входят в резервную копию, приватная идентичность устройства не копируется.

### Исправлено

- Новый локальный агент запускается и проверяется сразу при штатном пакетном обновлении; перезагрузка для появления службы не требуется.
- Отключение подключения не ждёт завершения фонового сетевого запроса. Смена намерения отменяет устаревший запрос.

### Проверка администратором

- Задайте сеть майнеров; поиск выполняется только в сохранённых сетях. Создайте код на странице вашей площадки, вставьте его на BPI, проверьте названия и явно подтвердите подключение.
- Передача в Zabbix, массовые действия и контроллеры охлаждения этим пакетом не добавляются.

# Octava Router dev457

## dev456-to-dev457-recovery-priority

### Исправлено

- Фоновое восстановление runtime больше не вмешивается в пользовательскую транзакцию между применением и подтверждением настроек.
- При наличии ожидающей подтверждения конфигурации фоновая сверка откладывается и возобновляется после подтверждения, отката либо истечения срока транзакции.
- Сценарий «проверить план → применить → подтвердить» сохраняет журнал отката и завершается без ложной ошибки `DYNAMIC_ROUTING_TRANSACTION_NOT_FOUND`.

# Octava Router dev456

## dev454-to-dev456-routing-repair

### Исправлено

- Администратор может отключить или изменить Dynamic Routing, если после отказа VPN исчезла одна из принадлежащих модулю служебных таблиц, а остальные принятые правила сохранились.
- Исправляющее применение разрешается только для доказанного частичного состояния из объектов прежнего и нового планов. Неизвестные маршруты, правила и nftables-объекты по-прежнему блокируют операцию.
- При ошибке исправления система восстанавливает и проверяет прежнее принятое состояние.
- Для аварийного результата отката добавлены явные сообщения Web UI на русском и английском языках.

## dev443-to-dev454-networkd-ownership

### Исправлено

- `systemd-networkd` больше не удаляет policy rules, принадлежащие VPN и Dynamic Routing, при применении сетевой конфигурации или `networkctl reload`.
- В пакет включён проверяемый drop-in `ManageForeignRoutingPolicyRules=no`.

## dev442-to-dev443-dynamic-startup-system-routes

### Исправлено

- Устранено предупреждение `DYNAMIC_ROUTING_STARTUP_FAILED`, возникавшее сразу после установки dev442. Runtime compiler принимает обнаруженные системные маршруты с типом `system_route` и включает их в nft safety до правил перенаправления.
- После успешного запуска исправленной версии постоянное предупреждение снимается автоматически штатным lifecycle.

## dev441-to-dev442-system-route-precedence

### Исправлено

- Динамическая маршрутизация учитывает non-default маршруты основной системной таблицы: DHCP-подсети WAN, статические маршруты, host routes и маршруты VPN. Маршрут по умолчанию остаётся доступным правилу «весь остальной трафик через выбранный канал».
- VPN не заменяет совпадающий системный маршрут и удаляет только собственный маршрут `protocol 242`, если системный маршрут появляется позднее.
