Added
- Added Server Test / server health checking for saved connection profiles.
- Added ability to test all saved servers while connected.
- Added ability to test a single server from its connection profile row.
- Added server test results with speed, ping, and health rating.
- Added server quality labels such as Good, Fair, Poor, and Not available.
- Added inline server health indicators on connection profile rows.
- Added in-app Persian / Farsi language support.
- Added runtime language switching from app settings.
- Added RTL layout support for Persian.
- Added Vazirmatn Persian UI font.
- Added localized in-app strings through
WhiteDnsStrings. - Added Persian Android resource strings for accessibility labels.
- Added QR profile import from image picker.
- Added export-all resolver profiles as one deduplicated resolver list.
- Added dedicated TalkBack / screen-reader labels for key UI controls.
- Added support for separating stable and aggressive Parallel Test presets.
- Added an opt-in setting for aggressive Parallel Test presets.
Improved
- Improved accessibility for navigation tabs, profile tabs, buttons, toggles, sliders, dialogs, banners, profile actions, scan controls, and stat cards.
- Improved screen-reader descriptions for profile selection, copy actions, section expand/collapse, split tunnel app toggles, and scan auto-save.
- Improved localization coverage across Connect, Profiles, Scan, Logs, dialogs, settings, banners, and connection status text.
- Improved Persian typography and layout direction handling.
- Improved server profile testing by using connected/known resolver entries from the active runtime.
- Improved Server Test cleanup so temporary test processes stop when disconnecting, failing, or leaving the flow.
- Improved server identity handling by using saved profile IDs and names instead of a generic custom server label.
- Improved Parallel Test defaults so stable presets are used by default and aggressive presets require explicit opt-in.
- Improved settings persistence for language and aggressive preset selection.
- Improved scan state refresh by moving refresh work off the main path.
- Improved Scanner Result syncing so resolver profiles are updated only after a scan is no longer running.
- Improved resolver export behavior by deduplicating resolver entries across profiles.
- Improved settings migration for stability defaults.
Fixed
- Fixed built-in Default Resolver persistence so it is not saved back as a user-created resolver profile.
- Fixed stale scan refresh behavior that could update resolver profiles while scan work was still active.
- Fixed server test state reset during connect, disconnect, runtime failure, and restored connection handling.
- Fixed Parallel Test config normalization to respect stable-only vs aggressive-inclusive preset lists.
- Fixed missing accessibility strings for several interactive UI elements.
Internal
- Added tests for deduplicated resolver-profile export.
- Updated model tests for stable/aggressive Parallel Test config normalization.
- Added accessibility implementation plan documentation.
- Added third-party font license and documentation for Vazirmatn.