Bug fixed:
Fix not filtering USER-AGENT and URL-REGEX rules for Surfboard configurations. (Issue #127).
Fix not filtering load-balance group in Surfboard configurations. (Issue #128).
Fix inconsistent argument name in HTTP and Socks 5 single link.
Fix support for some non-standard ShadowsocksD subscription.
Fix include/exclude option in URL argument not overriding former settings.
Fix template system interpreting some comments in YAML files as line statement.
Fix incorrect argument count for find in template.
Fix error in processing URL arguments.
Fix trying to fetch a ruleset when adding it as a RULE-SET rule to configuration files.
Fix support for parsing some Surge configurations.
Fix adding extra blank line to section end when exporting some configurations.
Fix adding real internal link as MANAGED-CONFIG URL when using profile.
Fix rule type filter not working properly.
Fix exporting broken configuration file in some occasions.
Fix directly treating not-exist ruleset file as URL.
Fix group fallback not working on Quantumult X configurations.
Fix typo in example profile.
Fix logical error causing local rulesets are missing in configurations.
Fix not filtering IP-CIDR6 / PROCESS-NAME rules in Quantumult X rules.
Fix /getruleset not filtering PROCESS-NAME / IP-CIDR6 for Quantumult X.
Newly added:
Add support for using template in external configurations.
Add relay group support for Clash configurations.
Add specifying default external configuration file to use when none is provided.
Add URL Decode to username and password field in Telegram-link-style HTTP/Socks 5 links.
Add more function callbacks to template renderer.
Add basic Jinja2Cpp template library support.
Add support for specifying tolerance and timeout for some proxy groups. (Issue #121).
Add keeping comments and blank lines for more sections in Quantumult X configurations.
Add rule type match to filter rules.
Add /render interface to directly render a template as output content.
Add find as a template function.
Add filtering out token as a template variable.
Add split as a template function。
Add SNI host parsing support for Trojan subscriptions.
Add detailed log report.
Add managed_config_prefix to global variables in template.
Other changes:
Optimize codes.
Update build scripts.
Update inja library to latest version.
Update local rulesets and configs.
inja: re-implement variable accessing to catch exceptions on using not-exist variable and return an empty value.
INIReader: Add keeping comments and blank lines in direct-save sections.