mirror of
https://github.com/Pathoschild/SMAPI.git
synced 2026-10-12 02:08:51 +00:00
Merge branch 'develop' into stable
This commit is contained in:
@@ -7,7 +7,7 @@ repo. It imports the other MSBuild files as needed.
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<!--set general build properties -->
|
||||
<Version>4.1.8</Version>
|
||||
<Version>4.1.9</Version>
|
||||
<Product>SMAPI</Product>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<AssemblySearchPaths>$(AssemblySearchPaths);{GAC}</AssemblySearchPaths>
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
← [README](README.md)
|
||||
|
||||
# Release notes
|
||||
# 4.1.9
|
||||
Released 08 December 2024 for Stardew Valley 1.6.14 or later.
|
||||
|
||||
* For players:
|
||||
* Fixed compatibility with new macOS security restrictions (again).
|
||||
* Fixed unable to override color schemes via `smapi-internal/config.user.json`.
|
||||
|
||||
## 4.1.8
|
||||
Released 28 November 2024 for Stardew Valley 1.6.14 or later.
|
||||
|
||||
* For players:
|
||||
* Updated the mod compatibility blacklist.
|
||||
* Fixed compatibility with newer macOS security restrictions.
|
||||
* Fixed compatibility with new macOS security restrictions.
|
||||
* Fixed crash with some rare combinations of mods involving Harmony and mod APIs.
|
||||
|
||||
* For mod authors:
|
||||
|
||||
@@ -415,21 +415,6 @@ internal class InteractiveInstaller
|
||||
}
|
||||
}.Start();
|
||||
}
|
||||
|
||||
// sign SMAPI on macOS
|
||||
// This avoids 'StardewModdingAPI will damage your computer' errors in newer versions.
|
||||
if (context.Platform is Platform.Mac)
|
||||
{
|
||||
new Process
|
||||
{
|
||||
StartInfo = new ProcessStartInfo
|
||||
{
|
||||
FileName = "codesign",
|
||||
Arguments = $"--force --sign - \"{paths.UnixSmapiExecutablePath}\"",
|
||||
CreateNoWindow = true
|
||||
}
|
||||
}.Start();
|
||||
}
|
||||
}
|
||||
|
||||
// copy the game's deps.json file
|
||||
|
||||
@@ -10,10 +10,10 @@ internal class ColorSchemeConfig
|
||||
** Accessors
|
||||
*********/
|
||||
/// <summary>The default color scheme ID to use, or <see cref="MonitorColorScheme.AutoDetect"/> to select one automatically.</summary>
|
||||
public MonitorColorScheme UseScheme { get; }
|
||||
public MonitorColorScheme UseScheme { get; set; }
|
||||
|
||||
/// <summary>The available console color schemes.</summary>
|
||||
public IDictionary<MonitorColorScheme, IDictionary<ConsoleLogLevel, ConsoleColor>> Schemes { get; }
|
||||
public IDictionary<MonitorColorScheme, IDictionary<ConsoleLogLevel, ConsoleColor>> Schemes { get; set; }
|
||||
|
||||
|
||||
/*********
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"Name": "Console Commands",
|
||||
"Author": "SMAPI",
|
||||
"Version": "4.1.8",
|
||||
"Version": "4.1.9",
|
||||
"Description": "Adds SMAPI console commands that let you manipulate the game.",
|
||||
"UniqueID": "SMAPI.ConsoleCommands",
|
||||
"EntryDll": "ConsoleCommands.dll",
|
||||
"MinimumApiVersion": "4.1.8"
|
||||
"MinimumApiVersion": "4.1.9"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"Name": "Save Backup",
|
||||
"Author": "SMAPI",
|
||||
"Version": "4.1.8",
|
||||
"Version": "4.1.9",
|
||||
"Description": "Automatically backs up all your saves once per day into its folder.",
|
||||
"UniqueID": "SMAPI.SaveBackup",
|
||||
"EntryDll": "SaveBackup.dll",
|
||||
"MinimumApiVersion": "4.1.8"
|
||||
"MinimumApiVersion": "4.1.9"
|
||||
}
|
||||
|
||||
@@ -27,11 +27,14 @@ public class CompatibilityRepoClient : IDisposable
|
||||
** Public methods
|
||||
*********/
|
||||
/// <summary>Construct an instance.</summary>
|
||||
/// <param name="fetchUrl">The full URL of the JSON file to fetch.</param>
|
||||
/// <param name="fetchBaseUrl">The base URL from which to fetch the compatibility list JSON files.</param>
|
||||
/// <param name="userAgent">The user agent for the API client.</param>
|
||||
public CompatibilityRepoClient(string userAgent, string fetchUrl = "https://raw.githubusercontent.com/Pathoschild/SmapiCompatibilityList/refs/heads/release/data/data.jsonc")
|
||||
public CompatibilityRepoClient(string userAgent, string fetchBaseUrl = "https://raw.githubusercontent.com/Pathoschild/SmapiCompatibilityList/refs/heads/release/data")
|
||||
{
|
||||
this.Client = new FluentClient(fetchUrl).SetUserAgent(userAgent);
|
||||
this.Client = new FluentClient(fetchBaseUrl)
|
||||
.SetUserAgent(userAgent);
|
||||
this.Client.Filters.Add(new ForceJsonResponseTypeFilter());
|
||||
|
||||
this.MarkdownPipeline = new MarkdownPipelineBuilder()
|
||||
.Use(new ExpandCompatibilityListAnchorLinksExtension())
|
||||
.Build();
|
||||
@@ -40,14 +43,12 @@ public class CompatibilityRepoClient : IDisposable
|
||||
/// <summary>Fetch mods from the compatibility list.</summary>
|
||||
public async Task<ModCompatibilityEntry[]> FetchModsAsync()
|
||||
{
|
||||
RawCompatibilityList response = await this.Client
|
||||
.GetAsync(null)
|
||||
.WithFilter(new ForceJsonResponseTypeFilter())
|
||||
.As<RawCompatibilityList>();
|
||||
RawCompatibilityList mods = await this.Client.GetAsync("mods.jsonc").As<RawCompatibilityList>();
|
||||
RawCompatibilityList brokenContentPacks = await this.Client.GetAsync("broken-content-packs.jsonc").As<RawCompatibilityList>();
|
||||
|
||||
return
|
||||
(response.Mods ?? Array.Empty<RawModEntry>())
|
||||
.Concat(response.BrokenContentPacks ?? Array.Empty<RawModEntry>())
|
||||
(mods.Mods ?? Array.Empty<RawModEntry>())
|
||||
.Concat(brokenContentPacks.BrokenContentPacks ?? Array.Empty<RawModEntry>())
|
||||
.Select(this.ParseRawModEntry)
|
||||
.ToArray();
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ internal static class EarlyConstants
|
||||
internal static int? LogScreenId { get; set; }
|
||||
|
||||
/// <summary>SMAPI's current raw semantic version.</summary>
|
||||
internal static string RawApiVersion = "4.1.8";
|
||||
internal static string RawApiVersion = "4.1.9";
|
||||
}
|
||||
|
||||
/// <summary>Contains SMAPI's constants and assumptions.</summary>
|
||||
|
||||
Reference in New Issue
Block a user