diff --git a/CHANGELOG.md b/CHANGELOG.md
index 23957a4..cb15c5b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file.
+## [1.5.1.0] - 2023-03-27
+
+### Changed
+
+- Downgraded `Ookii.Dialogs.WinForms` binaries from `4.0.0` to `1.2.0` due to incompatibilities with certain systems and configurations
+- Switched `System.Text.Json` to `Newtonsoft.Json` due to incompatibilities with certain systems and configurations
+- Tweaked `GetEarlyAccessGitHubRepoJsonData()` within `EarlyAccessYuzuManager.cs` to remove the `MemoryStream` dependency
+- Tweaked `GetMainlineGitHubRepoJsonData()` within `MainlineYuzuManager.cs` to remove the `MemoryStream` dependency
+
+### Fixed
+
+- [Issue #15](https://github.com/amakvana/EzYuzu/issues/15) - Can't load 'System.Runtime.CompilerServices.Unsafe'
+
+
+
## [1.5.0.0] - 2023-03-26
### Added
@@ -12,7 +27,7 @@ All notable changes to this project will be documented in this file.
- Mainline remains default for `New Install`, unless overridden.
- Ability to switch Update Channels for current installations.
- `Options` > `General` > `Update Channel` > `Override Update Channel`
-- EzYuzu will automatically detect which Update Channel the seelcted copy of Yuzu is on.
+- EzYuzu will automatically detect which Update Channel the selected copy of Yuzu is on.
### Changed
diff --git a/images/ezyuzu-setup.gif b/images/ezyuzu-setup.gif
index 3df266a..971c74b 100644
Binary files a/images/ezyuzu-setup.gif and b/images/ezyuzu-setup.gif differ
diff --git a/source/EzYuzu/App.config b/source/EzYuzu/App.config
index 3a7053f..d06a655 100644
--- a/source/EzYuzu/App.config
+++ b/source/EzYuzu/App.config
@@ -16,16 +16,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/source/EzYuzu/Classes/EarlyAccessYuzuManager.cs b/source/EzYuzu/Classes/EarlyAccessYuzuManager.cs
index 572da41..c2ae703 100644
--- a/source/EzYuzu/Classes/EarlyAccessYuzuManager.cs
+++ b/source/EzYuzu/Classes/EarlyAccessYuzuManager.cs
@@ -1,9 +1,8 @@
-using System;
+using Newtonsoft.Json;
+using System;
using System.Diagnostics;
using System.IO;
using System.Net;
-using System.Text;
-using System.Text.Json;
using System.Threading.Tasks;
namespace EzYuzu
@@ -87,8 +86,7 @@ private async Task GetEarlyAccessGitHubRepoJsonData()
using var client = new WebClient();
client.Headers.Add("User-Agent", "request");
string json = await client.DownloadStringTaskAsync(new Uri(EarlyAccessYuzuRepoJsonUrl));
- using var stream = new MemoryStream(Encoding.Default.GetBytes(json));
- return await JsonSerializer.DeserializeAsync(stream).ConfigureAwait(false);
+ return JsonConvert.DeserializeObject(json);
}
}
}
diff --git a/source/EzYuzu/Classes/GitHubRepo.cs b/source/EzYuzu/Classes/GitHubRepo.cs
index 2eb453b..af0eaf7 100644
--- a/source/EzYuzu/Classes/GitHubRepo.cs
+++ b/source/EzYuzu/Classes/GitHubRepo.cs
@@ -1,256 +1,256 @@
-using System;
+using Newtonsoft.Json;
+using System;
using System.Collections.Generic;
-using System.Text.Json.Serialization;
namespace EzYuzu
{
- // Repo myDeserializedClass = await JsonSerializer.DeserializeAsync(myJsonResponse);
+ // Repo myDeserializedClass = JsonConvert.DeserializeObject(jsonString);
public sealed class Asset
{
- [JsonPropertyName("url")]
+ [JsonProperty("url")]
public string Url { get; set; }
- [JsonPropertyName("id")]
+ [JsonProperty("id")]
public int? Id { get; set; }
- [JsonPropertyName("node_id")]
+ [JsonProperty("node_id")]
public string NodeId { get; set; }
- [JsonPropertyName("name")]
+ [JsonProperty("name")]
public string Name { get; set; }
- [JsonPropertyName("label")]
+ [JsonProperty("label")]
public string Label { get; set; }
- [JsonPropertyName("uploader")]
+ [JsonProperty("uploader")]
public Uploader Uploader { get; set; }
- [JsonPropertyName("content_type")]
+ [JsonProperty("content_type")]
public string ContentType { get; set; }
- [JsonPropertyName("state")]
+ [JsonProperty("state")]
public string State { get; set; }
- [JsonPropertyName("size")]
+ [JsonProperty("size")]
public int? Size { get; set; }
- [JsonPropertyName("download_count")]
+ [JsonProperty("download_count")]
public int? DownloadCount { get; set; }
- [JsonPropertyName("created_at")]
+ [JsonProperty("created_at")]
public DateTime? CreatedAt { get; set; }
- [JsonPropertyName("updated_at")]
+ [JsonProperty("updated_at")]
public DateTime? UpdatedAt { get; set; }
- [JsonPropertyName("browser_download_url")]
+ [JsonProperty("browser_download_url")]
public string BrowserDownloadUrl { get; set; }
}
public sealed class Author
{
- [JsonPropertyName("login")]
+ [JsonProperty("login")]
public string Login { get; set; }
- [JsonPropertyName("id")]
+ [JsonProperty("id")]
public int? Id { get; set; }
- [JsonPropertyName("node_id")]
+ [JsonProperty("node_id")]
public string NodeId { get; set; }
- [JsonPropertyName("avatar_url")]
+ [JsonProperty("avatar_url")]
public string AvatarUrl { get; set; }
- [JsonPropertyName("gravatar_id")]
+ [JsonProperty("gravatar_id")]
public string GravatarId { get; set; }
- [JsonPropertyName("url")]
+ [JsonProperty("url")]
public string Url { get; set; }
- [JsonPropertyName("html_url")]
+ [JsonProperty("html_url")]
public string HtmlUrl { get; set; }
- [JsonPropertyName("followers_url")]
+ [JsonProperty("followers_url")]
public string FollowersUrl { get; set; }
- [JsonPropertyName("following_url")]
+ [JsonProperty("following_url")]
public string FollowingUrl { get; set; }
- [JsonPropertyName("gists_url")]
+ [JsonProperty("gists_url")]
public string GistsUrl { get; set; }
- [JsonPropertyName("starred_url")]
+ [JsonProperty("starred_url")]
public string StarredUrl { get; set; }
- [JsonPropertyName("subscriptions_url")]
+ [JsonProperty("subscriptions_url")]
public string SubscriptionsUrl { get; set; }
- [JsonPropertyName("organizations_url")]
+ [JsonProperty("organizations_url")]
public string OrganizationsUrl { get; set; }
- [JsonPropertyName("repos_url")]
+ [JsonProperty("repos_url")]
public string ReposUrl { get; set; }
- [JsonPropertyName("events_url")]
+ [JsonProperty("events_url")]
public string EventsUrl { get; set; }
- [JsonPropertyName("received_events_url")]
+ [JsonProperty("received_events_url")]
public string ReceivedEventsUrl { get; set; }
- [JsonPropertyName("type")]
+ [JsonProperty("type")]
public string Type { get; set; }
- [JsonPropertyName("site_admin")]
+ [JsonProperty("site_admin")]
public bool? SiteAdmin { get; set; }
}
public sealed class Reactions
{
- [JsonPropertyName("url")]
+ [JsonProperty("url")]
public string Url { get; set; }
- [JsonPropertyName("total_count")]
+ [JsonProperty("total_count")]
public int? TotalCount { get; set; }
- [JsonPropertyName("+1")]
+ [JsonProperty("+1")]
public int? Plus1 { get; set; }
- [JsonPropertyName("-1")]
+ [JsonProperty("-1")]
public int? Minus1 { get; set; }
- [JsonPropertyName("laugh")]
+ [JsonProperty("laugh")]
public int? Laugh { get; set; }
- [JsonPropertyName("hooray")]
+ [JsonProperty("hooray")]
public int? Hooray { get; set; }
- [JsonPropertyName("confused")]
+ [JsonProperty("confused")]
public int? Confused { get; set; }
- [JsonPropertyName("heart")]
+ [JsonProperty("heart")]
public int? Heart { get; set; }
- [JsonPropertyName("rocket")]
+ [JsonProperty("rocket")]
public int? Rocket { get; set; }
- [JsonPropertyName("eyes")]
+ [JsonProperty("eyes")]
public int? Eyes { get; set; }
}
public sealed class Repo
{
- [JsonPropertyName("url")]
+ [JsonProperty("url")]
public string Url { get; set; }
- [JsonPropertyName("assets_url")]
+ [JsonProperty("assets_url")]
public string AssetsUrl { get; set; }
- [JsonPropertyName("upload_url")]
+ [JsonProperty("upload_url")]
public string UploadUrl { get; set; }
- [JsonPropertyName("html_url")]
+ [JsonProperty("html_url")]
public string HtmlUrl { get; set; }
- [JsonPropertyName("id")]
+ [JsonProperty("id")]
public int? Id { get; set; }
- [JsonPropertyName("author")]
+ [JsonProperty("author")]
public Author Author { get; set; }
- [JsonPropertyName("node_id")]
+ [JsonProperty("node_id")]
public string NodeId { get; set; }
- [JsonPropertyName("tag_name")]
+ [JsonProperty("tag_name")]
public string TagName { get; set; }
- [JsonPropertyName("target_commitish")]
+ [JsonProperty("target_commitish")]
public string TargetCommitish { get; set; }
- [JsonPropertyName("name")]
+ [JsonProperty("name")]
public string Name { get; set; }
- [JsonPropertyName("draft")]
+ [JsonProperty("draft")]
public bool? Draft { get; set; }
- [JsonPropertyName("prerelease")]
+ [JsonProperty("prerelease")]
public bool? Prerelease { get; set; }
- [JsonPropertyName("created_at")]
+ [JsonProperty("created_at")]
public DateTime? CreatedAt { get; set; }
- [JsonPropertyName("published_at")]
+ [JsonProperty("published_at")]
public DateTime? PublishedAt { get; set; }
- [JsonPropertyName("assets")]
+ [JsonProperty("assets")]
public List Assets { get; set; }
- [JsonPropertyName("tarball_url")]
+ [JsonProperty("tarball_url")]
public string TarballUrl { get; set; }
- [JsonPropertyName("zipball_url")]
+ [JsonProperty("zipball_url")]
public string ZipballUrl { get; set; }
- [JsonPropertyName("body")]
+ [JsonProperty("body")]
public string Body { get; set; }
- [JsonPropertyName("reactions")]
+ [JsonProperty("reactions")]
public Reactions Reactions { get; set; }
}
public sealed class Uploader
{
- [JsonPropertyName("login")]
+ [JsonProperty("login")]
public string Login { get; set; }
- [JsonPropertyName("id")]
+ [JsonProperty("id")]
public int? Id { get; set; }
- [JsonPropertyName("node_id")]
+ [JsonProperty("node_id")]
public string NodeId { get; set; }
- [JsonPropertyName("avatar_url")]
+ [JsonProperty("avatar_url")]
public string AvatarUrl { get; set; }
- [JsonPropertyName("gravatar_id")]
+ [JsonProperty("gravatar_id")]
public string GravatarId { get; set; }
- [JsonPropertyName("url")]
+ [JsonProperty("url")]
public string Url { get; set; }
- [JsonPropertyName("html_url")]
+ [JsonProperty("html_url")]
public string HtmlUrl { get; set; }
- [JsonPropertyName("followers_url")]
+ [JsonProperty("followers_url")]
public string FollowersUrl { get; set; }
- [JsonPropertyName("following_url")]
+ [JsonProperty("following_url")]
public string FollowingUrl { get; set; }
- [JsonPropertyName("gists_url")]
+ [JsonProperty("gists_url")]
public string GistsUrl { get; set; }
- [JsonPropertyName("starred_url")]
+ [JsonProperty("starred_url")]
public string StarredUrl { get; set; }
- [JsonPropertyName("subscriptions_url")]
+ [JsonProperty("subscriptions_url")]
public string SubscriptionsUrl { get; set; }
- [JsonPropertyName("organizations_url")]
+ [JsonProperty("organizations_url")]
public string OrganizationsUrl { get; set; }
- [JsonPropertyName("repos_url")]
+ [JsonProperty("repos_url")]
public string ReposUrl { get; set; }
- [JsonPropertyName("events_url")]
+ [JsonProperty("events_url")]
public string EventsUrl { get; set; }
- [JsonPropertyName("received_events_url")]
+ [JsonProperty("received_events_url")]
public string ReceivedEventsUrl { get; set; }
- [JsonPropertyName("type")]
+ [JsonProperty("type")]
public string Type { get; set; }
- [JsonPropertyName("site_admin")]
+ [JsonProperty("site_admin")]
public bool? SiteAdmin { get; set; }
}
}
diff --git a/source/EzYuzu/Classes/MainlineYuzuManager.cs b/source/EzYuzu/Classes/MainlineYuzuManager.cs
index 8e4de4a..69075b3 100644
--- a/source/EzYuzu/Classes/MainlineYuzuManager.cs
+++ b/source/EzYuzu/Classes/MainlineYuzuManager.cs
@@ -1,9 +1,8 @@
-using System;
+using Newtonsoft.Json;
+using System;
using System.Diagnostics;
using System.IO;
using System.Net;
-using System.Text;
-using System.Text.Json;
using System.Threading.Tasks;
namespace EzYuzu
@@ -87,8 +86,7 @@ private async Task GetMainlineGitHubRepoJsonData()
using var client = new WebClient();
client.Headers.Add("User-Agent", "request");
string json = await client.DownloadStringTaskAsync(new Uri(MainlineYuzuRepoJsonUrl));
- using var stream = new MemoryStream(Encoding.Default.GetBytes(json));
- return await JsonSerializer.DeserializeAsync(stream).ConfigureAwait(false);
+ return JsonConvert.DeserializeObject(json);
}
}
}
diff --git a/source/EzYuzu/EzYuzu.csproj b/source/EzYuzu/EzYuzu.csproj
index 719681f..230a832 100644
--- a/source/EzYuzu/EzYuzu.csproj
+++ b/source/EzYuzu/EzYuzu.csproj
@@ -58,47 +58,20 @@
app.manifest
-
- ..\packages\Microsoft.Bcl.AsyncInterfaces.7.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll
+
+ ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll
-
- ..\packages\Ookii.Dialogs.WinForms.4.0.0\lib\net462\Ookii.Dialogs.WinForms.dll
+
+ ..\packages\Ookii.Dialogs.WinForms.1.2.0\lib\net45\Ookii.Dialogs.WinForms.dll
-
- ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll
-
-
- ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll
-
-
- ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll
-
-
- ..\packages\System.Resources.Extensions.6.0.0\lib\net461\System.Resources.Extensions.dll
-
-
- ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll
-
-
- ..\packages\System.Text.Encodings.Web.7.0.0\lib\net462\System.Text.Encodings.Web.dll
-
-
- ..\packages\System.Text.Json.7.0.2\lib\net462\System.Text.Json.dll
-
-
- ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
-
-
- ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll
-
diff --git a/source/EzYuzu/Properties/AssemblyInfo.cs b/source/EzYuzu/Properties/AssemblyInfo.cs
index 17de4d0..122fb84 100644
--- a/source/EzYuzu/Properties/AssemblyInfo.cs
+++ b/source/EzYuzu/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.5.0.0")]
-[assembly: AssemblyFileVersion("1.5.0.0")]
+[assembly: AssemblyVersion("1.5.1.0")]
+[assembly: AssemblyFileVersion("1.5.1.0")]
diff --git a/source/EzYuzu/packages.config b/source/EzYuzu/packages.config
index a1d7ce6..e2e669a 100644
--- a/source/EzYuzu/packages.config
+++ b/source/EzYuzu/packages.config
@@ -1,14 +1,5 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
\ No newline at end of file
diff --git a/version b/version
index 0014eea..6b4434b 100644
--- a/version
+++ b/version
@@ -1,2 +1,2 @@
-1.5.0.0
-1.4.0.0
+1.5.1.0
+1.4.0.0
\ No newline at end of file