diff --git a/CHANGES b/CHANGES index fdae0471..bb165554 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,15 @@ +4.1.9.3 2020-03-31 +- Set default method to chacha20-ietf-poly1305 +- Using hash in PAC URL (#2759) +- Rename and translate title of statistics form (#2768) +- Russian translation (#2767) +- Refine Updated Notification logic +- Using NLog (#2783) +- Bug fix: wrong server in tray menu (#2782) +- Deprecate unsafe encryption method (#2757, #2801) +- Bug fix: server config is overwritten by others when moving up/down (#2830) +- Other minor bug fixes and improvements + 4.1.9.2 2019-12-25 - Fix i18n issues (#2740, #2741) diff --git a/shadowsocks-csharp/Controller/Service/UpdateChecker.cs b/shadowsocks-csharp/Controller/Service/UpdateChecker.cs index 64d223b0..e384f861 100644 --- a/shadowsocks-csharp/Controller/Service/UpdateChecker.cs +++ b/shadowsocks-csharp/Controller/Service/UpdateChecker.cs @@ -26,7 +26,7 @@ namespace Shadowsocks.Controller public string LatestVersionLocalName; public event EventHandler CheckUpdateCompleted; - public const string Version = "4.1.9.2"; + public const string Version = "4.1.9.3"; private class CheckUpdateTimer : System.Timers.Timer { diff --git a/shadowsocks-csharp/Util/Util.cs b/shadowsocks-csharp/Util/Util.cs index d96458cc..1ebe5af7 100755 --- a/shadowsocks-csharp/Util/Util.cs +++ b/shadowsocks-csharp/Util/Util.cs @@ -224,8 +224,11 @@ namespace Shadowsocks.Util // hack because of this: https://github.com/dotnet/corefx/issues/10361 if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { - url = url.Replace("&", "^&"); - Process.Start(new ProcessStartInfo("cmd", $"/c start {url}") { CreateNoWindow = true }); + Process.Start(new ProcessStartInfo(url) + { + UseShellExecute = true, + Verb = "open" + }); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { diff --git a/shadowsocks-csharp/View/ConfigForm.cs b/shadowsocks-csharp/View/ConfigForm.cs index 798aff30..6846b5fe 100755 --- a/shadowsocks-csharp/View/ConfigForm.cs +++ b/shadowsocks-csharp/View/ConfigForm.cs @@ -494,21 +494,18 @@ namespace Shadowsocks.View private void MoveConfigItem(int step) { - int index = ServersListBox.SelectedIndex; - Server server = _modifiedConfiguration.configs[index]; - object item = ServersListBox.Items[index]; + var server = _modifiedConfiguration.configs[_lastSelectedIndex]; + var newIndex = _lastSelectedIndex + step; - _modifiedConfiguration.configs.Remove(server); - _modifiedConfiguration.configs.Insert(index + step, server); - _modifiedConfiguration.index += step; + _modifiedConfiguration.configs.RemoveAt(_lastSelectedIndex); + _modifiedConfiguration.configs.Insert(newIndex, server); ServersListBox.BeginUpdate(); - ServersListBox.Enabled = false; - _lastSelectedIndex = index + step; - ServersListBox.Items.Remove(item); - ServersListBox.Items.Insert(index + step, item); - ServersListBox.Enabled = true; - ServersListBox.SelectedIndex = index + step; + + LoadServerNameListToUI(_modifiedConfiguration); + + _lastSelectedIndex = newIndex; + ServersListBox.SelectedIndex = newIndex; ServersListBox.EndUpdate(); UpdateButtons(); diff --git a/shadowsocks-csharp/View/MenuViewController.cs b/shadowsocks-csharp/View/MenuViewController.cs index 5d119167..30199ef0 100644 --- a/shadowsocks-csharp/View/MenuViewController.cs +++ b/shadowsocks-csharp/View/MenuViewController.cs @@ -38,7 +38,7 @@ namespace Shadowsocks.View private ToolStripMenuItem disableItem; private ToolStripMenuItem AutoStartupItem; private ToolStripMenuItem ShareOverLANItem; - private ToolStripSeparator SeperatorItem; + private ToolStripSeparator SeperatorItem; private ToolStripMenuItem ConfigItem; private ToolStripMenuItem ServersItem; private ToolStripMenuItem globalModeItem;