draft
Pre-releaseDownload based on your OS:
بر اساس سیستم عامل خود دانلود کنید:
List of all changes: ChangeLog
All changes from to the latest commit:
(unreleased)
New
- Vaydns with scanner and multi resolver.
Fix
-
Update Turkish i18n strings for LAN sharing.
-
Update non-English translations for LAN sharing settings.
-
Correct arrow icon direction in chain quick settings.
-
Resolve ChainTimelineHeader background visibility in light theme.
-
Correct Turkish translation for WARP license required.
-
Add missing required text to fa WARP missingLicense translation.
-
Add confirmation for deep link profile addition to prevent SSRF.
-
Temporarily patch Riverpod lazy build-phase collision on connection status changes.
_Temporary hotfix to resolve fatal 'setState() called during build' errors caused by lazy
evaluation of dirty provider dependency chains during high-frequency status transitions.
- Establishes eager evaluation by listening to
activeProxyNotifierProviderat the root
container level during bootstrap to resolve dirty state flushes in microtasks. - Refactors
serviceRunningProviderand all downstream dependent stream/future
notifiers to execute synchronously to prevent build-phase timing hops. - Defers secondary state updates using
Future.microtask().
Note: This is a temporary architectural patch to bypass Riverpod's lazy widget evaluation
mechanics under high-frequency stream updates. A full core communication redesign is
recommended for future maintenance to address this natively._
-
Liquid Glass icon-launcher setup for iOS and macOS.
-
Get error when the string len of title is less than 3.
-
Set getApplicationDocumentsDirectory as a fallback for getExternalStorageDirectory in Android.
Other
-
Merge pull request #2235 from veto9292/merge-routing-with-route-rule.
feat: post-routing hardening — deep-link safety, Psiphon licenses, profile import, and Linux fixes -
Feat: add importRouteRuleByDeepLinkWarning translations.
-
Feat: add importRouteRuleByDeepLinkWarning translations for other languages.
-
Feat(routing): enhance deep link handling and add routeRule parameter to RoutingOptionsPage.
-
Feat(routing): enhance clipboard import/export with deep link support.
-
Feat(routing): add routeRule parameter to RoutingOptionsPage and import rules from deep link.
-
Translations: add dialogs.confirmation.importRouteRuleByDeepLinkWarning.
-
Feat(settings): move VPN sharing password to config options and exclude from export.
-
Feat: update Spanish pages.settings.inbound translations to match en.
-
Feat(settings): implement LAN sharing functionality with password support and UI integration (adding to quick settings section)
-
Feat(settings): add new port configuration options and integrate with inbound options page.
-
Feat(settings): add trailing widget support to ValuePreferenceWidget and implement SwitchPreferenceWidget.
-
Pubspec.yaml: remove unused packages.
-
Feat(linux): enhance desktop entry with localization and AppImage update keys.
_- Add Keywords and Comment fields with Persian (fa) translations.
- Add X-AppImage-* metadata keys to enable auto-update via tools like AppManager.
- Extract AppImage version dynamically from version.json._
-
Fix AppImage launch crashes with launcher %u args and enable deep-linking.
-
Aider: Translation helper.
-
Build: update macOS plugin registrant after dependency removal.
-
Chore(makefile): optimize Linux docker builds and fix core download URL.
_- Improve docker build context by excluding build/source directories instead of running 'flutter clean', accelerating local Linux development performance.
- Update release URL for hiddify-core._
-
Fix(router): pass triggeredByDeepLink flag when auto-importing profiles.
-
Refactor: resolve LAN IP via core RPC in settings.
-
Build: update dependencies and remove unused packages.
_- Remove 'network_info_plus' since LAN IP is now fetched natively via core gRPC RPC.
- Remove 'bottom_navy_bar' as it is no longer used in the project.
- Upgrade 'protobuf' dependency to ^5.0.0._
-
Chore: sync proto files from hiddify-core.
-
Chore: regenerate protobuf bindings.
-
Feat: add common.file translation to multiple languages.
-
Feat: add file import option for profiles and adjust modal grid layout.
-
Feat: add Psiphon license translations and update WARP messages.
-
Feat: add Psiphon translations and fix warp message trailing periods.
-
Feat: add Psiphon override support and unified chain license flow.
-
Feat: add addProfileByDeepLinkWarning translation for ar, tr, zh-TW.
-
Refactor: rename addProfileFromLink key and add translations.
-
Looking at the diff and the error message, I need to create a proper SEARCH/REPLACE block that exactly matches the existing content. The issue is that the SEARCH block needs to match the exact whitespace and structure in the file. Based on the error output showing the actual file content, here's the corrected version:
_assets/translations/en.i18n.json
<<<<<<< SEARCH
"routeRule": {
"delete": {
"title": "Delete rule",
"msg": "Are you sure you want to delete the \"$rulename\" rule?"
}
}
},
=======
"routeRule": {
"delete": {
"title": "Delete rule",
"msg": "Are you sure you want to delete the \"$rulename\" rule?"
}
},
"addProfileFromLink": {
"title": "Add Profile?",
"message": "An external link from \"${host}\" is requesting to add a new profile. Do you want to import it?"
}
},
>>>>>>> REPLACE
```_
* Refactor: use slang translations for add profile dialog.
* Merge pull request #2240 from jabagawee/fix/core-init-toast-crash.
_Prevent blank-screen launch when core init fails during bootstrap_
* Make hiddify-core init non-fatal during bootstrap.
_hiddify-core initialized through _init, which rethrows on failure.
When core setup fails (for example when its port is already in
use), the failure handler reports the error and the app is meant to
keep running, but a rethrow here aborts lazyBootstrap before
runApp() and leaves a blank screen.
This commit switches it to _safeInit so a setup failure is logged
and the app still launches, matching how the active profile and
system tray are already initialized. This is defense in depth
alongside the notification overlay guard._
* Guard notifications against a missing toast overlay.
_Errors surfaced during bootstrap call showErrorToast before
runApp(), when no Toastification overlay exists yet.
findToastificationOverlayState then null-checks a null value and
throws, and that exception propagates out of bootstrap before
runApp() is reached, leaving the app on a blank screen.
This commit wraps the show call in a try/catch that logs and
returns null when the overlay is not available, so a notification
can never abort startup or crash the app. _show now returns a
nullable item, matching the already-nullable public show methods._
* Merge pull request #2241 from fcdm25/fix-1974-unlimited-traffic-sentinel.
_fix(profile): show subscription-userinfo total=0 as unlimited (#1974)_
* Fix(profile): treat subscription-userinfo total=0 as unlimited (#1974)
_The parser maps total=0 to an ~857 GiB sentinel, but the UI only treats >10TB as
unlimited (isInfinitSize / profile_tile.dart), so it rendered as a finite cap.
Raise the sentinel above the 10 TB gate._
* Update.
* Merge pull request #2189 from veto9292/merge-routing-with-route-rule.
_Merge routing with route rule_
* Replace IconButton with ExpandButton for Quick Settings and improve quickSettings translations.
* Update sing box repo and model for adding route rule and removing blockAds and bypassLan.
* Move chain section and rename routeOptions to routingOptions.
* Merge route_options_page and rules_page into routing_options_page, add expandable route general options, FAB menu, and empty state for rules list and more...
* Using go router instead of Navigator.
* Remove package section from rule (replaced by per-app proxy), remove PopScope logic (moved to onExit in routing config notifier), and update navigation and route logic.
* Get validator from RuleEnum instead of constructor parameter to simplify and bypass go_router limitations.
* Replace hardcoded strings with translations.
* Fix stale isRuleEdited state when checking for auto-save in RulePage onExit.
* Move RulePage items validator to RuleEnum to simplify logic.
* Save route general options expansion state for better UX.
* Merge route rule with route options and add rule and genericList GoRoutes as sub-routes of routingOptions. Also, move save logic from PopScope to onExit in the rule GoRoute.
* Refactor: GoRoute paths and names, removing redundant slashes.
* Feat: add predefined rules modal.
* Refactor: change port range separator from '-' to ':' to simplify GenericListPage and notifier logic by eliminating the need for conversion during read/write.
* Refactor: use PerAppProxyPage instead of AndroidAppsPage for better UX; deprecating direct package selection in route rules.
* Ui: improve toast positioning to prevent overlapping with main page elements.
* Refactor: rename translation keys in i18n files.
* Chore(i18n): restructure routing and route rule translation keys.
* Feat(chain): add conduit pairing ID with localized translations.
_- Add conduitPairingId to Singbox Psiphon options for extra security and unblocker
- Implement preferences and UI for Conduit pairing ID in psiphon section
- Fix typo in extraSecurityProfileId preference key
- Add localized translations for 'Conduit pairing ID' across 10 languages
- Adhere to Material Design 3 style guide and preserve technical terms_
* Feat(chain): add chain options page, devtools configuration, and native dependencies.
* Feat(ui): refine routing and core widgets for chain integration.
* Feat(chain): initialize chain providers and integrate into quick settings.
* Refactor: remove legacy WARP implementation and UI.
* Feat(chain): implement state management and settings integration.
_- Add notifiers and data layer for the chain system
- Integrate chain options into config option repository and notifier
- Update core service to handle chain-based generation
- Connect chain preferences to application state_
* Feat(chain): implement chain quick settings, chain timeline, chain menu and more...
* Feat(singbox): add foundational models and constants for chain functionality.
* I18n: re-add missingConfig translation for all languages.
* Refactor(profile): replace static profileOverride with dynamic generation.
* Feat(db): migrate to v6 to replace profileOverride with dynamic generation.
* I18n: add chain translations for other languages (other than en)
* I18n: add chain translations for en.
* Replace backgroud for dmg format.
* Add background.png for macos dmg.
* Update Podfile.lock.
* Feat: migrate IconLauncher to liquid_glass and fix iOS simulator build.
_- Migrate IconLauncher to liquid_glass to resolve icon fading/transparency issues.
- Fix iOS build error on ARM64 simulators by correcting destination specifiers and architectures.
- Update CocoaPods dependencies and sync Podfile.lock._
* Improve dmg background hint (prevent window height bug)
* Merge pull request #2062 from salmanmkc/patch-1.
_Update checkout action version in build.yml_
* Update checkout action version in build.yml.
* Merge pull request #2041 from hanhan9449/main.
_fix: get error when the string len of title is less than 3_
* Merge pull request #2098 from idMysteries/patch-1.
_Added a Google Video link for connection testing_
* Added a Google Video link for connection testing.
* Merge pull request #2099 from nimah79/main.
_Fix app freeze on the splash screen in Android 16+_
* Update vaydns.
</details>