<!-- see docs/changelog/v1.1.0.md for the file format: Persian, then `---`, then English. -->
• حالت تونل کامل حالا هر اتصال HTTPS جدید رو حدود ۵۰۰ تا ۲۰۰۰ میلی‌ثانیه سریع‌تر باز می‌کنه ([#153](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/153)): یک عملیات تونلی جدید به نام `connect_data` اضافه شد که بایت‌های اول کلاینت (معمولاً TLS ClientHello) رو با درخواست connect ترکیب می‌کنه — یک round-trip کامل Apps Script حذف میشه. برای backward compatibility، کلاینت با deploymentهای قدیمی (بدون این بهینه‌سازی) خودکار fallback می‌کنه؛ بایت‌های buffered در fallback از دست نمیرن. متریک داخلی `connect_data preread: X win / Y loss / Z skip` به لاگ اضافه شد تا نسبت موفقیت رو روی بار کاری واقعی بشه سنجید
• رفع edge case حالت ONLY در App Splitting اندروید ([#150](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/150)): اگر لیست appهای انتخابی خالی یا فقط شامل خود mhrv-rs بود و همهٔ مدخل‌ها در addAllowedApplication شکست می‌خوردن، اندروید TUN رو روی همهٔ appها اعمال می‌کرد — که باعث loop کردن ترافیک خود پروکسی می‌شد. حالا تعداد موفق‌ها شمرده میشه و اگر صفر بود، fallback به self-exclude (مثل حالت ALL) انجام میشه
• سقف ۶۴ مگابایتی برای range stitching در relay ([#151](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/151)): قبلاً اگر origin یک Content-Range-total خیلی بزرگ (مثلاً ۱۰ گیگابایت) برمی‌گردوند، کلاینت سعی می‌کرد اون مقدار حافظه رو preallocate کنه که باعث OOM می‌شد. حالا اگر total > 64 مگ باشه، به یک GET معمولی fallback می‌کنه. هیچ پاسخ موفق جعلی برگشت داده نمیشه
---
• Full Tunnel mode now opens every new HTTPS connection ~500–2000 ms faster ([#153](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/153)): a new `connect_data` tunnel op bundles the client's first bytes (typically the TLS ClientHello) with the CONNECT request, eliminating a full Apps Script round trip per new flow. Backward compatibility is handled automatically — clients hitting older deployments detect `UNSUPPORTED_OP` once per session and fall back to the legacy two-RTT path with no bytes lost. A new internal metric (`connect_data preread: X win / Y loss / Z skip`) lands in logs so we can measure the real-world win ratio
• Android ONLY-mode split edge case fix ([#150](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/150)): when the allowed-apps list contained only mhrv-rs or stale/uninstalled packages, every `addAllowedApplication` call silently failed and Android fell back to "apply to all apps" — which then tunnelled our own proxy traffic through the TUN and looped. Now we count successful adds; if zero, we fall back to the ALL-mode self-exclusion behaviour so `establish()` produces a working VPN
• Memory-safety cap on range stitching in the relay ([#151](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/151)): a hostile or buggy origin could advertise an absurd `Content-Range` total (e.g. 10 GiB) and cause `relay_parallel_range` to plan millions of chunks and preallocate a huge stitched buffer. Synthetic stitching is now capped at 64 MiB; larger totals fall back to a normal single GET instead of returning a fake truncated success
