帖子内容
#Mac#Beta Version 5.7.0-2713 ### Smart Group This is a new type of policy group, driven by our carefully designed algorithm engine, which can automatically select the appropriate policy from the sub-policies of this policy group. The goal of the Smart policy group is to replace the original automatic testing groups (url/load-balance/fallback), greatly optimizing the experience while minimizing the need for manual intervention in policy groups. Users only need to put the available policies into this group. For details, see: https://kb.nssurge.com/surge-knowledge-base/guidelines/smart-group ### Rule System - Overall performance optimization of the rule system. - Significant optimization of the indexing algorithm in large domain rule sets, improving the search efficiency by more than ten times for rule sets with more than 100,000 rules. - Corrected the issue where sub-rules of logical rules within a rule set could not be covered by the no-resolve and extended-matching parameters of the rule set. - Added a new rule type DOMAIN-WILDCARD, supporting ? and * domain name matching. - DOMAIN-SET and RULE-SET are changed to strict validation. If there are invalid lines in the file, the entire rule set will be invalidated to avoid problems caused by misuse. ### IPv6 - The behavior of the ipv6-vif parameter has been modified. When set to always, IPv6 functionality will be enabled even if ipv6=true is not set. - Added a warning for the ipv6-vif=always parameter. - Adjusted the automatic retry mechanism. Accessing IPv6 addresses in a non-IPv6 network will no longer enter the retry process, and the request will fail immediately (solving the problem of some applications stalling when IPv6 VIF is enabled in a non-IPv6 environment, but the application will still continue to send IPv6 requests). ### Other Optimizations - Enhanced $notification.post, adding support for media resources, sound hints, and automatic dismissal. - Optimized WireGuard failure handling. - Reduced the power consumption of the TUIC protocol during sleep. - Improved the precision of time statistics in the request log system, now accurate to µs level. - Optimized various abnormal retry mechanisms, avoiding high resource usage caused by continuous retry in the face of some specific problems. For operations that need to be retried continuously (such as WireGuard reconnection, Ponte server reporting to iCloud), Surge will now retry after 0.1s, 0.5s, 1s, 5s, 10s, 30s after an error. - Optimized the caching system for external resources. - Added the profile line modifier #!REQUIREMENT. ### Minor Adjustments - Limited the length of logs that can be written to request notes in debug mode by scripts. - Changed the default UDP test target to 1.0.0.1. - If incorrect types of fields are passed when using API in scripts, it will result in script errors. - After the script is completed or times out, unfinished $httpClient will no longer call the callback function. ### Issue Fixes - Fixed the issue where the HTTP Body captured from remote devices could not be read in the Dashboard. - Fixed the problem where Header Rewrite rules could not match URLs based on the Host field. - Corrected the issue where ip-version and tos parameters could not take effect when testing proxies. - Fixed the crash issue caused by mistakenly passing null when executing scripts via HTTP-API.