From 690d31d5331e2749137a5c50406e9f36d99d037c Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 13 Nov 2026 05:07:16 +0000
Subject: [PATCH] Prepare v0.6.0
---
Directory.Build.props | 4 ++--
release-notes/v0.6.0.md | 25 +++++++++++++++++++++++++
2 files changed, 27 insertions(+), 2 deletions(-)
create mode 100644 release-notes/v0.6.0.md
diff --git a/Directory.Build.props b/Directory.Build.props
index 05ba30b..edf3ca7 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -4,7 +4,7 @@
enable
disable
true
- 0.5.0
+ 0.6.0
MIT
10.0.14
true
@@ -14,6 +14,6 @@
$(DefineConstants);MEGAPROXY_DEV
obj/dev/
bin/dev/
- 0.5.0-dev
+ 0.6.0-dev
diff --git a/release-notes/v0.6.0.md b/release-notes/v0.6.0.md
new file mode 100644
index 0000000..aa016d3
--- /dev/null
+++ b/release-notes/v0.6.0.md
@@ -0,0 +1,25 @@
+# v0.6.0
+
+## English
+
+- IPv6 is now opt-in: profile routing.allowIpv6 controls proxy destinations and a new global routing.systemAllowIpv6 controls the system route, both default to false; changes to these permissions or routing rules require reconnect to take effect.
+- Routing rules are now evaluated to decide whether IPv6 is enabled: proxy-only routes need the profile option, system-only routes need the system option, mixed routes need both, and an unconditional all-applications/all-destinations rule overrides the fallback.
+- New Windows option "Block IPv6 when disabled in MegaProxy" (windows.blockDisabledIpv6, default true) controls whether the TUN IPv6 address is removed when IPv6 is disabled; when enabled the TUN IPv6 address is removed and, with strict routing, sing-tun blocks IPv6 system-wide (including local ::1 connections which return Windows error 10013); when disabled the TUN IPv6 address is retained but routed IPv6 is still rejected; the option applies after reconnect.
+- UI additions: main settings show checkboxes for "Enable IPv6 for system routing" and "Block IPv6 when disabled in MegaProxy", and the profile editor shows "Enable IPv6 destinations", and all three persist immediately when changed and round-trip through import/export and the profile editor.
+- Configuration import/export and the portable configuration now include and preserve blockDisabledIpv6 and systemAllowIpv6, and omitted fields preserve the current stored value on import.
+- Configuration generation and runtime behavior reflect the new permissions and the blocking option: when IPv6 is not enabled the TUN is left IPv4-only (or kept IPv6 when compatibility is requested), DNS strategy becomes ipv4_only, and a route rule rejecting IPv6 is inserted; log messages describe whether IPv6 was disabled by configuration or retained for loopback compatibility.
+- Local limitations noted: DNS remains IPv4-only when routed IPv6 is disabled and the separate DNS filter may still block local DNS on ::1:53, and traffic that bypasses the TUN is not covered by the core IPv6 rejection rule.
+- CI and smoke checks were extended to exercise loopback, blocked/compatible/enabled IPv6 modes and permutations of profile/system permissions, so the release includes tests that validate the new behaviors.
+- UI text and translations were added/updated for the new IPv6 controls and explanations.
+
+## Русский
+
+- IPv6 теперь включается вручную: в профиле опция routing.allowIpv6 разрешает назначения через прокси, а глобальная routing.systemAllowIpv6 управляет системным маршрутом; обе опции по умолчанию выключены, изменения вступают в силу после переподключения.
+- Оценка правил маршрутизации решает, включать ли IPv6: для маршрута через профиль нужна опция профиля, для системного маршрута — системная опция, для смешанного режима требуются обе опции, а безусловное правило «всё приложения/все назначения» переопределяет поведение по умолчанию.
+- Добавлена опция Windows «Блокировать IPv6 при отключении в MegaProxy» (windows.blockDisabledIpv6, значение по умолчанию true), которая управляет удалением IPv6-адреса TUN при отключении IPv6; если включена — TUN теряет IPv6-адрес и при строгой маршрутизации sing-tun блокирует IPv6 системно (включая локальные соединения с ::1, ошибка Windows 10013); если отключена — TUN IPv6-адрес сохраняется, а маршрутизируемый IPv6 по-прежнему отклоняется; опция применяется после переподключения.
+- Изменения в интерфейсе: в основных настройках добавлены флажки «Разрешить IPv6 для системного маршрута» и «Блокировать IPv6 при отключении в MegaProxy», в редакторе профиля — «Разрешить подключения к IPv6-адресам», их состояния сразу сохраняются и корректно экспортируются/импортируются и через редактор профиля.
+- Импорт/экспорт конфигураций и переносимая конфигурация теперь включают и сохраняют blockDisabledIpv6 и systemAllowIpv6, при отсутствии поля при импорте сохраняется текущее значение.
+- Генерация конфигурации и поведение рантайма учитывают новые разрешения и опцию блокировки: при отключённом IPv6 TUN остаётся только с IPv4 (или сохраняет IPv6 для совместимости), стратегия DNS становится ipv4_only, добавляется правило маршрута, отклоняющее IPv6, а в логах указывается, отключён ли IPv6 конфигурацией или сохранён для loopback.
+- Ограничения: при отключённом маршрутизируемом IPv6 DNS остаётся IPv4-only и отдельный DNS-фильтр всё ещё может блокировать локальный DNS на ::1:53, а трафик в обход TUN не покрывается правилом отклонения IPv6 в ядре.
+- CI и дымовые проверки расширены проверками loopback и режимов blocked/compatible/enabled и сочетаний разрешений профиля/системы, чтобы зафиксировать поведение новой логики.
+- Добавлены/обновлены строки интерфейса и переводы для новых элементов управления IPv6.