#Mac#Beta
Version 5.4.1-2492
#### Rule Engine Optimizations
- The implementation of RULE-SET and DOMAIN-SET has been completely rewritten. Now, Surge automatically preprocesses and indexes rule sets during resource updates, significantly increasing the matching speed.
1. There is no longer any difference in performance and memory usage between RULE-SET and DOMAIN-SET types of rule sets, allowing flexible usage.
2. There is no longer a restriction in DOMAIN-SET rule sets that prevents the use of eTLDs.
3. The matching speed for DOMAIN, DOMAIN-SUFFIX, IP-CIDR, and IP-CIDR6 rules in RULE-SET has been greatly improved.
- A DOMAIN/DOMAIN-SUFFIX rule set with approximately 100,000 entries used to take 100ms for a single match in the old version; now, it only takes single-digit ms.
- An IP-CIDR rule set with approximately 10,000 entries used to take about 0.1ms for a single match in the old version. The new version only needs 0.0002ms, an improvement of about 500 times. The performance improvement for IP-CIDR6 rules is even greater.
4. In the new version, building a regional IP address collection using the IP-CIDR rule set offers the same performance as directly using the internal GEOIP rule.
5. The Inline Ruleset added in the previous version does not benefit from this optimization, but there is virtually no difference at the scale of hundreds of entries.
6. In previous versions, rules within a Ruleset were matched one by one from top to bottom. If rules requiring DNS resolution were included, DNS would only be triggered when starting to match that sub-rule. In the new version, if any rule requiring DNS resolution is included in the rule set, DNS resolution will occur before testing that rule set. (In most cases, there is no difference)
- Main ruleset matching efficiency has been slightly optimized.
- The efficiency of IP-CIDR6 rules has been significantly improved even in non-indexed situations.
- RULE-SET rules can now be configured directly with parameters no-resolve and extended-matching, which are equivalent to configuring all sub-rules with these parameters.
- DOMAIN-SET rule sets also support configuration with extended-matching.
#### Minor Optimizations
- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
#Mac#Beta
Version 5.4.1-2491
#### Rule Engine Optimizations
- The implementation of RULE-SET and DOMAIN-SET has been completely rewritten. Now, Surge automatically preprocesses and indexes rule sets during resource updates, significantly increasing the matching speed.
1. There is no longer any difference in performance and memory usage between RULE-SET and DOMAIN-SET types of rule sets, allowing flexible usage.
2. There is no longer a restriction in DOMAIN-SET rule sets that prevents the use of eTLDs.
3. The matching speed for DOMAIN, DOMAIN-SUFFIX, IP-CIDR, and IP-CIDR6 rules in RULE-SET has been greatly improved.
- A DOMAIN/DOMAIN-SUFFIX rule set with approximately 100,000 entries used to take 100ms for a single match in the old version; now, it only takes single-digit ms.
- An IP-CIDR rule set with approximately 10,000 entries used to take about 0.1ms for a single match in the old version. The new version only needs 0.0002ms, an improvement of about 500 times. The performance improvement for IP-CIDR6 rules is even greater.
4. In the new version, building a regional IP address collection using the IP-CIDR rule set offers the same performance as directly using the internal GEOIP rule.
5. The Inline Ruleset added in the previous version does not benefit from this optimization, but there is virtually no difference at the scale of hundreds of entries.
6. In previous versions, rules within a Ruleset were matched one by one from top to bottom. If rules requiring DNS resolution were included, DNS would only be triggered when starting to match that sub-rule. In the new version, if any rule requiring DNS resolution is included in the rule set, DNS resolution will occur before testing that rule set. (In most cases, there is no difference)
- Main ruleset matching efficiency has been slightly optimized.
- The efficiency of IP-CIDR6 rules has been significantly improved even in non-indexed situations.
- RULE-SET rules can now be configured directly with parameters no-resolve and extended-matching, which are equivalent to configuring all sub-rules with these parameters.
- DOMAIN-SET rule sets also support configuration with extended-matching.
#### Minor Optimizations
- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
#Mac#Beta
Version 5.4.1-2490
#### Rule Engine Optimizations
- The implementation of RULE-SET and DOMAIN-SET has been completely rewritten. Now, Surge automatically preprocesses and indexes rule sets during resource updates, significantly increasing the matching speed.
1. There is no longer any difference in performance and memory usage between RULE-SET and DOMAIN-SET types of rule sets, allowing flexible usage.
2. There is no longer a restriction in DOMAIN-SET rule sets that prevents the use of eTLDs.
3. The matching speed for DOMAIN, DOMAIN-SUFFIX, IP-CIDR, and IP-CIDR6 rules in RULE-SET has been greatly improved.
- A DOMAIN/DOMAIN-SUFFIX rule set with approximately 100,000 entries used to take 100ms for a single match in the old version; now, it only takes single-digit ms.
- An IP-CIDR rule set with approximately 10,000 entries used to take about 0.1ms for a single match in the old version. The new version only needs 0.0002ms, an improvement of about 500 times. The performance improvement for IP-CIDR6 rules is even greater.
4. In the new version, building a regional IP address collection using the IP-CIDR rule set offers the same performance as directly using the internal GEOIP rule.
5. The Inline Ruleset added in the previous version does not benefit from this optimization, but there is virtually no difference at the scale of hundreds of entries.
6. In previous versions, rules within a Ruleset were matched one by one from top to bottom. If rules requiring DNS resolution were included, DNS would only be triggered when starting to match that sub-rule. In the new version, if any rule requiring DNS resolution is included in the rule set, DNS resolution will occur before testing that rule set. (In most cases, there is no difference)
- Main ruleset matching efficiency has been slightly optimized.
- The efficiency of IP-CIDR6 rules has been significantly improved even in non-indexed situations.
- RULE-SET rules can now be configured directly with parameters no-resolve and extended-matching, which are equivalent to configuring all sub-rules with these parameters.
- DOMAIN-SET rule sets also support configuration with extended-matching.
#### Minor Optimizations
- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
#Mac#Beta
Version 5.4.1-2489
- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
#Mac#Beta
Version 5.4.1-2488
- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
#Mac#Beta
Version 5.4.1-2486
- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
#Mac#Beta
Version 5.4.1-2485
- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
#Mac#Beta
Version 5.4.1-2484
- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
#Mac#Beta
Version 5.4.1-2481
- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
#Mac#Beta
Version 5.4.1-2480
- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
#Mac#Beta
Version 5.4.1-2478
- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
#Mac#Beta
Version 5.4.1-2477
- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.