Repository navigation
Releases: wectazz/v2rayMD
Releases · wectazz/v2rayMD
Release list
2.3.11-beta3
Changelog:
- Stop button pulse: stop icon pulses while connected - linear easing, no hold at full opacity
- Launcher icons: dark plate with white outline V as main foreground, white outline V monochrome for themed icons
- Banner: refreshed banner and foreground artwork, drawer banner synced
- Layouts: unified lazy-list corner radius, increased distance between text fields and column buttons
- Dev tooling: optional local release signing via local.properties (CI unaffected)
2.3.11-beta2
v2rayMD 2.3.11-beta2
- Settings search: top-bar button, scoped results with section headers, unified bar on all screens
- Drawer banner header; icons with shapes in share and bottom-sheet menus
- Update check handles pre-release suffixes, natural order (beta9 < beta10)
- WireGuard core compat; policy fallback isolation; JSON fractions preserved
- Smooth fade toasts with crossfade; 40dp wavy indicators; pills lifted off cards
- Changed wide wave process indicator
- The brightness of the subscription buttons at the top of the home screen has been increased
2.3.10
v2rayMD 2.3.10
Highlights
- TCP ping now works for custom (full-JSON) configs, excluding Hysteria (UDP protocol problem, doesnt fix)
- Synced with upstream: Xray core v26.9.30, hev-socks5-tunnel 2.18.0
- Added icons and shapes to share menu
Ping & testing
- TCP ping tries every resolved address within the timeout
- Custom configs: TCP endpoint extracted from the proxy outbound
- Added "Test TCP delay of selected server" and "Test real delay of selected server" below the test-all buttons
- Fixed server row text overlapping the delay value in the main pager
- Log level setting now applies immediately (previously required a restart), test services pick it up on start
Under the hood
- versionCode 750 (up 2.3.10)
- Deps: coreKtx 1.19.1, mmkv-static 1.3.17, work-runtime-ktx 2.12.0, mockito-kotlin 6.4.0 (dropped discontinued mockito-inline)
- Unit tests migrated from JUnit 4 to JUnit 6 (BOM 6.1.3, platform runner, discovery warnings fail the build)
- Toolchain: Android NDK r30, Gradle wrapper 9.8.0
- Refreshed Luri Bakhtiari translation
2.3.9
v2rayMD 2.3.9
Highlights
- New app icon style
- WireGuard
remoteDNSsupport (UI field) - Deletion confirmations now show item names
- Inline validation errors right in form fields instead of toasts
Subscriptions & servers
- Subscription updates now report what changed: added/removed profiles dialog, or "Nothing changed"
- Policy/proxy groups survive profile replacement
- Group tabs: separated pills with press-expand, file icons
- Fixed empty-subscription page: texts were always white, now follow the theme
Updates & notifications
- Service start failure shows the actual reason
- Notification channel names in the system language
- Automatic update check on every cold start
Under the hood
- Synced with upstream
- WireGuard
finalMaskparsing from links and.conffiles - Root commands with deadlines and output limits, WebView dialer lifecycle guards, snackbar-safe toasts
- CI builds playstore flavor only
- Refreshed Russian translation
2.3.8
v2rayMD — Expressive Redesign Release
Full rebrand of v2rayNG into v2rayMD, with a complete Material 3 Expressive redesign and major feature updates.
Highlights
- Rebrand: new package (
com.v2ray.md), name, links and Telegram channel (@v2ray_md) - Complete UI overhaul: expressive theme, Monet dynamic colors on all Android versions, animated background, reworked dark theme
- Main screen rebuilt: bottom-sheet menu, combined bottom bar with animated connect button, connected group selector, pull-to-refresh
- Settings rewritten: global search, animated sub-pages, VPN/proxy mode selector
- All 9 server editors and both subscription screens redesigned
Subscriptions & servers
- File import now offers "to new subscription" (named after the file) or "to current subscription"
- WireGuard
.confimport creates its own subscription - Policy group / proxy chain pages with translated titles
- Custom configs:
vnext/serversfallback, custom protocol display, WireGuardfinalMasksupport
Updates
- Automatic update check on every cold start with a notice dialog
- Releases publish as Latest with GPG-signed artifacts
Under the hood
- Dependencies synced with upstream (AGP 9.4.1, Kotlin 2.4.20, Compose BOM 2026.09.00)