Tunnel Agent 0.7.0
Installation
| Platform | Installer | Portable |
|---|---|---|
| Windows x64 | Setup.exe | .zip |
| Windows arm64 | Setup.exe | .zip |
| Linux x64 | .AppImage | — |
| Linux arm64 | .AppImage | — |
| macOS x64 (Intel) | .pkg | .zip |
| macOS arm64 (Apple Silicon) | .pkg | .zip |
Existing installations update automatically via Velopack.
Added
-
Additional UI languages (
Resources/Strings.it-IT.resx,Strings.uk-UA.resx,Strings.ru-RU.resx,Strings.hi-IN.resx,Strings.ko-KR.resx,Strings.tr-TR.resx,Services/LocalizationService.cs): added Italian, Ukrainian, Russian, Hindi, Korean, and Turkish translations to the Language combo, bringing the localized UI to 14 languages. -
Runtime localization and language selector (
Resources/Strings*.resx,Services/LocalizationService.cs,Services/LocExtension.cs,Views/*.axaml): added runtime localization across the Avalonia UI for English, Spanish, Portuguese (Portugal), French, German, Simplified Chinese, Japanese, and Arabic, including the new Language combo under Configuration → General → Theme, persisted language preference, localized formatted strings, provider/agent descriptions, tray popup, overlays, dialogs, and quota/provider views.
Changed
-
Localization infrastructure (
Resources/Strings*.resx,Services/LocExtension.cs): replaced hardcoded UI text with{l:Loc ...}/{l:LocFormat ...}bindings backed by resx resources, with live refresh when the selected language changes. -
Localized configuration combo boxes (
MainWindowViewModel,ConfigurationView.axaml): theme mode and routing strategy combo boxes now display localized labels while preserving their stored internal values. -
Listen port editing (
MainWindowViewModel,ConfigurationView.axaml): the listen port is now edited as a draft and applied with an explicit Apply button (enabled only for a valid, changed port) instead of saving on every keystroke; the row is laid out as port, Apply, then Reset. -
Engine update toast layout (
Views/MainWindow.axaml): the toast title can wrap to two lines so longer localized titles (for example Spanish) are not clipped.
Fixed
-
Configuration update badge (
MainWindowViewModel): the orange update indicator now stays visible when any managed engine has an available update, instead of disappearing when switching focus to another engine tab. -
Sliding tab localization refresh (
Controls/SlidingTabBar.cs): tab titles and tooltips now stay bound to their localized headers, so configuration tabs such as General update when the language changes. -
Runtime localization gaps (
LogsViewModel,QuotaFetchService,ProviderViewModel): provider filters, quota reset countdowns, model selection labels, Chinese agent labels, and generated provider/agent texts now refresh correctly when the language changes. -
Duplicate engine port (
MainWindowViewModel,ConfigurationView.axaml): applying a listen port already used by the other engine is now blocked and surfaces an error toast instead of silently allowing a conflict.