diff --git a/Cargo.lock b/Cargo.lock
index c3750b3..ab5ac5e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2624,7 +2624,7 @@ dependencies = [
[[package]]
name = "mhrv-rs"
-version = "1.9.27"
+version = "1.9.28"
dependencies = [
"base64 0.22.1",
"bytes",
diff --git a/Cargo.toml b/Cargo.toml
index c52f65d..8cfceea 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "mhrv-rs"
-version = "1.9.27"
+version = "1.9.28"
edition = "2021"
description = "Rust port of MasterHttpRelayVPN -- DPI bypass via Google Apps Script relay with domain fronting"
license = "MIT"
diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
index e7fc15a..d0a93bb 100644
--- a/android/app/build.gradle.kts
+++ b/android/app/build.gradle.kts
@@ -14,8 +14,8 @@ android {
applicationId = "com.therealaleph.mhrv"
minSdk = 24 // Android 7.0 — covers 99%+ of live devices.
targetSdk = 34
- versionCode = 159
- versionName = "1.9.25"
+ versionCode = 160
+ versionName = "1.9.28"
// Ship all four mainstream Android ABIs:
// - arm64-v8a — 95%+ of real-world Android phones since 2019
diff --git a/docs/changelog/v1.9.28.md b/docs/changelog/v1.9.28.md
new file mode 100644
index 0000000..7ad4daa
--- /dev/null
+++ b/docs/changelog/v1.9.28.md
@@ -0,0 +1,16 @@
+
+
+
+• **پایپلاین شدن pollهای Full mode و سریعتر شدن تونل** ([PR #1115](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1115) از @yyoyoian-pixel). کلاینت Full-mode حالا چند poll همزمان و adaptive نگه میدارد تا وقتی یک پاسخ Apps Script یا tunnel-node دیر میرسد، بقیه مسیر معطل نماند. برای جلوگیری از بههمریختن uploadها، هر write شمارهٔ ترتیبی (`wseq`) میگیرد و tunnel-node writeهای خارج از ترتیب را buffer میکند تا دقیقاً به همان ترتیب به upstream برسند.
+
+• **بهبود WebRTC با بلاک کردن STUN/TURN UDP** ([PR #1115](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1115)). پورتهای UDP مربوط به STUN/TURN (`3478`، `5349`، `19302`) بهصورت پیشفرض در SOCKS5 block میشوند تا Google Meet، Discord، WhatsApp و برنامههای مشابه بهجای ۱۰ تا ۳۰ ثانیه تلاش ناموفق ICE روی UDP، سریعتر سراغ TCP TURN روی پورت ۴۴۳ بروند. Android و desktop هر دو تنظیم `block_stun` را نگه میدارند؛ در UI دسکتاپ هم کنار گزینهٔ Block QUIC قابل تغییر است.
+
+• **ابزارهای تشخیص و تست برای pipeline** ([PR #1115](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1115)). Android یک overlay تشخیصی برای وضعیت pipeline اضافه کرده و اسکریپت `scripts/bench-pipeline.sh` برای benchmark مسیر جدید آمده است. قبل از merge یک fix کوچک maintainer هم اضافه شد تا تستهای tunnel-node با فیلدهای جدید `SessionInner` کامپایل شوند و drain بزرگ TCP بعد از رسیدن به سقف ۱۶MiB همان poll، tail را برای poll بعدی نگه دارد.
+
+
+---
+• **Pipeline Full-mode polls for a faster tunnel** ([PR #1115](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1115) by @yyoyoian-pixel). The Full-mode client now keeps multiple adaptive polls in flight so one slow Apps Script / tunnel-node response no longer stalls the whole path. To keep uploads correct, each write carries a `wseq` sequence number and tunnel-node buffers out-of-order writes until it can flush them upstream in order.
+
+• **Improve WebRTC fallback by blocking STUN/TURN UDP** ([PR #1115](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1115)). SOCKS5 now blocks STUN/TURN UDP ports (`3478`, `5349`, `19302`) by default so Google Meet, Discord, WhatsApp, and similar apps move to TCP TURN on port 443 instead of waiting through 10-30 seconds of failed UDP ICE attempts. Android and desktop both preserve the `block_stun` setting; the desktop UI exposes it next to Block QUIC.
+
+• **Add pipeline diagnostics and benchmark tooling** ([PR #1115](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1115)). Android gains a pipeline debug overlay, and `scripts/bench-pipeline.sh` gives maintainers a repeatable benchmark path. Before merge, a small maintainer fix also made the tunnel-node tests compile with the new `SessionInner` fields and kept capped TCP drains from consuming the over-16MiB tail in the same poll.