diff --git a/README.md b/README.md
index 6580e79..ffb7823 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,7 @@ Handle all your Unity versions and Projects easily!
 ## Features
 - Automagically Open Projects with Correct Unity Version
 - Display Recent Projects list with last modified date and project version info
+- List more than 40 recent projects!
 - Quickly Explore Project Folders
 - List installed Unity versions, can easily Run, Explore installation folder, View release notes
 - Download Missing Unity Versions in Browser
@@ -33,7 +34,8 @@ https://forum.unity.com/threads/unity-launcher-launch-correct-unity-versions-for
 https://github.com/unitycoder/UnityLauncherPro/wiki
 
 ### Development
-See DEV branch for latest commits https://github.com/unitycoder/UnityLauncherPro/tree/dev
+See DEV branch for latest commits https://github.com/unitycoder/UnityLauncherPro/tree/dev <br>
+Pre-releases are sometimes available from dev branch: https://github.com/unitycoder/UnityLauncherPro/releases
 
 ### Screenshots
 
@@ -45,7 +47,7 @@ See DEV branch for latest commits https://github.com/unitycoder/UnityLauncherPro
 
 ![image](https://user-images.githubusercontent.com/5438317/154346224-8aa8d547-8495-47cf-baca-4cb31639344b.png)
 
-![image](https://user-images.githubusercontent.com/5438317/154346049-4426f504-a437-4119-8d1c-f3d4d3fa434c.png)
+![image](https://user-images.githubusercontent.com/5438317/193452933-02684483-a15e-481a-b09a-afe48d16a4f3.png)
 
 ### Perform tasks on selected project
 ![image](https://user-images.githubusercontent.com/5438317/120828528-4da59c80-c565-11eb-8b11-9cf739cde306.png)
@@ -62,6 +64,8 @@ See DEV branch for latest commits https://github.com/unitycoder/UnityLauncherPro
 ### View and Select current platform
 ![unitylauncherpro_platform](https://user-images.githubusercontent.com/5438317/132997691-5ed50f1d-e285-4c83-b356-46c1e3f431e4.gif)
 
+### Rename Project title
+![pro-rename](https://user-images.githubusercontent.com/5438317/193453048-aa5527c6-a345-4f93-b934-f68ac2524cac.gif)
 
 <br>
 Old (winforms) version is here: https://github.com/unitycoder/UnityLauncher
diff --git a/UnityLauncherPro/GetUnityInstallations.cs b/UnityLauncherPro/GetUnityInstallations.cs
index cbae708..216aa0b 100644
--- a/UnityLauncherPro/GetUnityInstallations.cs
+++ b/UnityLauncherPro/GetUnityInstallations.cs
@@ -65,6 +65,23 @@ public static List<UnityInstallation> Scan()
                     unity.IsPreferred = (version == MainWindow.preferredVersion);
                     unity.ProjectCount = GetProjectCountForUnityVersion(version);
 
+                    if (Tools.IsLTS(version))
+                    {
+                        unity.ReleaseType = "LTS";
+                    }
+                    else if (Tools.IsAlpha(version))
+                    {
+                        unity.ReleaseType = "Alpha";
+                    }
+                    else if (Tools.IsBeta(version))
+                    {
+                        unity.ReleaseType = "Beta";
+                    }
+                    else
+                    {
+                        unity.ReleaseType = ""; // cannot be null for UnitysFilter to work properly
+                    }
+
                     // get platforms, NOTE if this is slow, do it later, or skip for commandline
                     var platforms = GetPlatforms(dataFolder);
                     // this is for editor tab, show list of all platforms in cell
diff --git a/UnityLauncherPro/MainWindow.xaml b/UnityLauncherPro/MainWindow.xaml
index 48e5cb1..1ee1152 100644
--- a/UnityLauncherPro/MainWindow.xaml
+++ b/UnityLauncherPro/MainWindow.xaml
@@ -266,11 +266,12 @@
                                 </DataGridTextColumn.ElementStyle>
                             </DataGridTextColumn>
 
-                            <DataGridTextColumn Binding="{Binding Version}" ClipboardContentBinding="{x:Null}" Header="Version" IsReadOnly="True" MinWidth="123"/>
-                            <DataGridTextColumn Binding="{Binding Path}" ClipboardContentBinding="{x:Null}" Header="Path" IsReadOnly="True"/>
-                            <DataGridTextColumn Binding="{Binding Installed, StringFormat=\{0:dd/MM/yyyy HH:mm:ss\}}" ClipboardContentBinding="{x:Null}" Header="Installed" IsReadOnly="True"/>
+                            <DataGridTextColumn Binding="{Binding Version}" ClipboardContentBinding="{x:Null}" Header="Version" IsReadOnly="True" MinWidth="90"/>
+                            <DataGridTextColumn Header="Release" Binding="{Binding ReleaseType}" IsReadOnly="True" CanUserResize="False" MinWidth="50" />
                             <DataGridTextColumn Binding="{Binding PlatformsCombined}" ClipboardContentBinding="{x:Null}" Header="Platforms" IsReadOnly="True"/>
+                            <DataGridTextColumn Binding="{Binding Installed, StringFormat=\{0:dd/MM/yyyy HH:mm:ss\}}" ClipboardContentBinding="{x:Null}" Header="Installed" IsReadOnly="True"/>
                             <DataGridTextColumn Binding="{Binding ProjectCount}" ClipboardContentBinding="{x:Null}" Header="Projects" IsReadOnly="True"/>
+                            <DataGridTextColumn Binding="{Binding Path}" ClipboardContentBinding="{x:Null}" Header="Path" IsReadOnly="True"/>
                         </DataGrid.Columns>
 
                         <!-- right click context menu -->
diff --git a/UnityLauncherPro/MainWindow.xaml.cs b/UnityLauncherPro/MainWindow.xaml.cs
index 421b059..0b047ad 100644
--- a/UnityLauncherPro/MainWindow.xaml.cs
+++ b/UnityLauncherPro/MainWindow.xaml.cs
@@ -128,8 +128,9 @@ void Start()
             // clear updates grid
             dataGridUpdates.Items.Clear();
 
-            // clear buildreport grid
+            // clear buildreport grids
             gridBuildReport.Items.Clear();
+            gridBuildReportData.Items.Clear();
 
             // build notifyicon (using windows.forms)
             notifyIcon = new System.Windows.Forms.NotifyIcon();
@@ -334,7 +335,7 @@ private bool UpdatesFilter(object item)
         private bool UnitysFilter(object item)
         {
             UnityInstallation unity = item as UnityInstallation;
-            return (unity.Version.IndexOf(_filterString, 0, StringComparison.CurrentCultureIgnoreCase) != -1);
+            return (unity.Version?.IndexOf(_filterString, 0, StringComparison.CurrentCultureIgnoreCase) != -1) || (unity.ReleaseType?.IndexOf(_filterString, 0, StringComparison.CurrentCultureIgnoreCase) != -1) || (unity.PlatformsCombined?.IndexOf(_filterString, 0, StringComparison.CurrentCultureIgnoreCase) != -1);
         }
 
         private bool BuildReportFilter(object item)
@@ -361,6 +362,7 @@ void LoadSettings()
                 chkQuitAfterOpen.IsChecked = Properties.Settings.Default.closeAfterProject;
                 chkShowLauncherArgumentsColumn.IsChecked = Properties.Settings.Default.showArgumentsColumn;
                 chkShowGitBranchColumn.IsChecked = Properties.Settings.Default.showGitBranchColumn;
+                chkCheckPlasticBranch.IsChecked = Properties.Settings.Default.checkPlasticBranch;
                 chkShowMissingFolderProjects.IsChecked = Properties.Settings.Default.showProjectsMissingFolder;
                 chkAllowSingleInstanceOnly.IsChecked = Properties.Settings.Default.AllowSingleInstanceOnly;
                 chkAskNameForQuickProject.IsChecked = Properties.Settings.Default.askNameForQuickProject;
@@ -906,7 +908,7 @@ private void OnWindowKeyDown(object sender, KeyEventArgs e)
                     }
 
                     break;
-                case 1: // Unitys
+                case 1: // Unitys/Editors
 
                     switch (e.Key)
                     {
@@ -916,6 +918,13 @@ private void OnWindowKeyDown(object sender, KeyEventArgs e)
                         case Key.Escape: // clear project search
                             txtSearchBoxUnity.Text = "";
                             break;
+                        default:
+                            if (txtSearchBoxUnity.IsFocused == false)
+                            {
+                                txtSearchBoxUnity.Focus();
+                                txtSearchBoxUnity.Select(txtSearchBoxUnity.Text.Length, 0);
+                            }
+                            break;
                     }
                     break;
 
@@ -950,7 +959,7 @@ private void OnWindowKeyDown(object sender, KeyEventArgs e)
         private async void OnTabSelectionChanged(object sender, SelectionChangedEventArgs e)
         {
             // if going into updates tab, fetch list (first time only)
-            if (((TabControl)sender).SelectedIndex == (int)Tabs.Updates)
+            if (tabControl.SelectedIndex == (int)Tabs.Updates)
             {
                 // if we dont have previous results yet, TODO scan again if previous was 24hrs ago
                 if (updatesSource == null)
@@ -3350,27 +3359,6 @@ private void tabControl_PreviewKeyDown(object sender, KeyEventArgs e)
             }
         }
 
-
-
-
-
-        //private void BtnBrowseTemplateUnityPackagesFolder_Click(object sender, RoutedEventArgs e)
-        //{
-        //    var folder = Tools.BrowseForOutputFolder("Select unitypackage Templates folder");
-        //    if (string.IsNullOrEmpty(folder) == false)
-        //    {
-        //        txtTemplatePackagesFolder.Text = folder;
-        //        Properties.Settings.Default.templatePackagesFolder = folder;
-        //        Properties.Settings.Default.Save();
-        //    }
-        //}
-
-        //private void TxtTemplatePackagesFolder_TextChanged(object sender, TextChangedEventArgs e)
-        //{
-        //    Properties.Settings.Default.templatePackagesFolder = txtTemplatePackagesFolder.Text;
-        //    Properties.Settings.Default.Save();
-        //}
-
     } // class
 } //namespace
 
diff --git a/UnityLauncherPro/NewProject.xaml.cs b/UnityLauncherPro/NewProject.xaml.cs
index c6a9d11..27c4c58 100644
--- a/UnityLauncherPro/NewProject.xaml.cs
+++ b/UnityLauncherPro/NewProject.xaml.cs
@@ -38,29 +38,12 @@ public NewProject(string unityVersion, string suggestedName, string targetFolder
             txtNewProjectName.Text = newName;
             lblNewProjectFolder.Content = targetFolder;
 
-            // fill available versions
+            //// fill available versions
             if (gridAvailableVersions.ItemsSource == null)
             {
-                // get release type info (not done in mainwindow yet, to avoid doing extra stuff)
-                for (int i = 0, len = MainWindow.unityInstallationsSource.Count; i < len; i++)
-                {
-                    var ver = MainWindow.unityInstallationsSource[i].Version;
-                    if (Tools.IsLTS(ver))
-                    {
-                        MainWindow.unityInstallationsSource[i].ReleaseType = "LTS";
-                    }
-                    else if (Tools.IsAlpha(ver))
-                    {
-                        MainWindow.unityInstallationsSource[i].ReleaseType = "Alpha";
-                    }
-                    else if (Tools.IsBeta(ver))
-                    {
-                        MainWindow.unityInstallationsSource[i].ReleaseType = "Beta";
-                    }
-                }
-
                 gridAvailableVersions.ItemsSource = MainWindow.unityInstallationsSource;
             }
+            
             // we have that version installed
             if (MainWindow.unityInstalledVersions.ContainsKey(unityVersion) == true)
             {
diff --git a/UnityLauncherPro/Tools.cs b/UnityLauncherPro/Tools.cs
index 10c7324..8d54a2f 100644
--- a/UnityLauncherPro/Tools.cs
+++ b/UnityLauncherPro/Tools.cs
@@ -602,9 +602,19 @@ public static void DownloadAndInstall(string url, string version)
                         }
                     }
 
-                    Process process = Process.Start(tempFile);
-                    process.EnableRaisingEvents = true;
-                    process.Exited += (sender, e) => DeleteTempFile(tempFile);
+                    Process process;
+                    // if user clicks NO to UAC, this fails (so added try-catch)
+                    try
+                    {
+                        process = Process.Start(tempFile);
+                        process.EnableRaisingEvents = true;
+                        process.Exited += (sender, e) => DeleteTempFile(tempFile);
+                    }
+                    catch (Exception)
+                    {
+                        Console.WriteLine("Failed to run exe: " + tempFile);
+                        DeleteTempFile(tempFile);
+                    }
                     // TODO refresh upgrade dialog after installer finished
                 }
             }
diff --git a/appveyor.yml b/appveyor.yml
index 9ad0c9b..fccb633 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,9 +1,5 @@
 version: 1.0.{build}
-branches:
-  only:
-  - dev
 skip_tags: true
-skip_branch_with_pr: true
 image: Visual Studio 2022
 configuration: Release
 only_commits:
@@ -20,6 +16,3 @@ deploy:
   auth_token:
     secure: kmYSrl7Mx/PFDGcyC5gS/vpW2UJCVguEXZsQ0LtkfwmSzx+3noZOyPrbZQ8uWX2B
   artifact: deploy
-  prerelease: true
-  on:
-    branch: dev
\ No newline at end of file
