Fix error when parsing some Surge configurations.
Fix not filtering USER-AGENT and URL-REGEX rules for Surfboard configurations. (Issue [#127](https://github.com/tindy2013/subconverter/issues/127)).
Add support for specifying tolerance and timeout for some proxy groups. (Issue [#121](https://github.com/tindy2013/subconverter/issues/121)).
Add keeping comments and blank lines for more sections in Quantumult X configurations.
Add rule type match to filter rules.
Optimize codes.
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.
inja: re-implement variable accessing to catch exceptions on using not-exist variable and return an empty value.
Optimize codes.
Fix broken /sub2clashr and /surge2clash interface.
Add template support for base configurations.
Add support for exporting HTTP/Socks 5 nodes to Quantumult configurations.
Add support for VMess HTTP nodes in Clash configurations.
Optimize codes.
Fix TLS settings missing when parsing Clash configurations.
Add support for adding route settings to Shadowsocks Android subscriptions.
Add serve_cache_on_fetch_fail option to determine whether to serve cached content when failed to download a file.
Optimize codes.
Fix compiler warnings.
Add group type fallback when only one node is found for an auto group in Quantumult(X) configuration.
Tweak default Emoji rules.
Optimize codes.
Fix stream/time node matcher not working with YAML configuration.
Add PCRE2 JIT optimization for filtering nodes.
Add space after adding proxy type to node remarks.
Add displaying Subscription User Info when generating artifacts in generator mode.
Add support for another type of time node.
Optimize codes.
Fix filename option in web interface.
Fix when failed to download any files, the program still treat it as succeeded.
Add --artifact startup option to specify which artifact(s) should be generated.
Tweak Emoji matching rules.
Update local rulesets and configurations.
Fix a bug that Clash may interpret pure number password as float64 type (Issue [#58](https://github.com/tindy2013/subconverter/issues/58)).
Fix support for parsing some non-standard Clash configurations.
Add generator-only mode to save configurations to files or upload to Gists.
Optimize codes.
Fix typo.
Fix potential segmentation fault error due to some incorrect copy assignments.
Fix potential crash due to incorrect usage of cURL library.
Fix potential memory leak causing memory usage to be too high.
Add /qx-rewrite and /qx-script interface to add device ID to scripts for some version of Quantumult X.
Add policy-path parsing support for /surge2clash interface.
Add interval/strict options support for managed config.
Add filename option for setting file name when downloading exported subscriptions.
Optimize codes.
Add insert_url option to add node(s) before all exported subscriptions.
Add /getprofile interface for easy access.
Add an option to control whether to add Subscription-UserInfo or not.
Add include/exclude settings to external configurations.
Allow loading local subscriptions in API mode if the right token is provided.
Optimize codes.
Add Edge header support for Surge/Quantumult/Clash.
Fix configuration file not found when start up via right-click menu on some platform.
Optimize codes.
Clean up unused files.
Fix when a request without User-Agent was received, the program will crash.
Fix Emoji matching rules.
Add an interface to serve/convert local/remote rulesets.
Fix when processing duplicated node name for Surge, the program will crash.
Add an interface to directly convert Surge config to Clash config.
Add Netease Music IP ruleset.
Clean up codes.
Update build scripts.
Fix when generating configurations with external configuration file with rule generator disabled, generated rules will still be added.
Add support for configuration files in YAML format.
Optimize codes.
Fix incorrect generation of Quantumult X configuratios.
Fix broken group name option.
Add external configuration support for customize Quantumult(X) base.
Update Travis CI build script.
Tweak Emoji match rules.
Clean up codes.
Fix support for Quantumult X style VMess subscription.
Fix plugin support for Shadowsocks Android clients.
Add support for exporting Shadowsocks Android subscription.
Add regular expression blacklist to prevent high CPU usage.
Move "rename_node" options to "[node_pref]" section.
Optimize codes.