summaryrefslogtreecommitdiff
path: root/src/SMAPI.Toolkit
AgeCommit message (Collapse)Author
2023-01-29minor formatting, copyediting, and error-handlingJesse Plamondon-Willard
2022-10-01Add UpdateManifest site type.Jamie Taylor
Adds the UpdateManifest site key and associated client. This required some additional features in the existing update machinery. Each "version" can now (optionally) have its own download URL. Mod Page objects can now specify that subkey matching (for that page) should be "strict". A strict subkey match does not fall back to matching with no subkey if a subkey was provided but produced no versions. It also strips the leading '@' from the subkey. IModDownload objects are now responsible for deciding whether a subkey matches or not. The default behavior is unchanged, but this allows different mod sites to have different rules for subkey matching (which the UpdateManifest mod site uses to force exact matches).
2022-10-01refactor UpdateKey parsing, move responsibility for subkey matchingJamie Taylor
UpdateKey parsing now allows multiple : and @ inside the update key, splitting on the first occurence of each Subkey matching is moved into IModDownload / GenericModDownload, in preparation for some Mod Sites using something less error-prone than substring matching.
2022-07-06fix build warningsJesse Plamondon-Willard
2022-07-06update code annotationsJesse Plamondon-Willard
2022-06-28fix deprecation checkJesse Plamondon-Willard
2022-06-28migrate update checks to FluentHttpClientJesse Plamondon-Willard
WebClient isn't needed for compatibility with macOS after the .NET 5 update in Stardew Valley 1.5.5, and causes noticeable lag for some players even when running on a background thread.
2022-06-22update fluent HTTP clientJesse Plamondon-Willard
2022-06-20add flag to disable deprecated codeJesse Plamondon-Willard
2022-06-10update Newtonsoft.JsonJesse Plamondon-Willard
2022-06-10update unit test & web dependenciesJesse Plamondon-Willard
2022-05-31add backwards compatibility for mods using now-unused dependenciesJesse Plamondon-Willard
2022-05-15fix wiki client not being disposedJesse Plamondon-Willard
2022-05-14remove warning for mods which use `dynamic`Jesse Plamondon-Willard
2022-05-07update filenames for case-insensitive path rewriteJesse Plamondon-Willard
2022-05-07simplify and rewrite case-insensitive file path featureJesse Plamondon-Willard
2022-05-06fix errors reading empty JSON filesJesse Plamondon-Willard
2022-05-04disable case-insensitive paths by default pending performance reworkJesse Plamondon-Willard
2022-05-01fix warnings for model-binding hackJesse Plamondon-Willard
2022-04-30fix model binding for mod update-check APIJesse Plamondon-Willard
2022-04-16fix broken unit testsJesse Plamondon-Willard
2022-04-16remove unused subfolder manifest scanningJesse Plamondon-Willard
This isn't needed anymore with the current is-mod-folder scanning.
2022-04-16make manifest.json filename case-insensitiveJesse Plamondon-Willard
2022-04-16move case-insensitive path lookup into toolkit for reuseJesse Plamondon-Willard
2022-04-13fix spelling warningsJesse Plamondon-Willard
2022-04-13enable nullable annotations in SMAPI where no logic changes are needed (#837)Jesse Plamondon-Willard
2022-04-12enable nullable annotations in unit tests (#837)Jesse Plamondon-Willard
2022-04-12enable nullable annotations in the web project & related code (#837)Jesse Plamondon-Willard
2022-04-11Merge pull request #839 from nuztalgia/developJesse Plamondon-Willard
Ignore dot-prefixed files when scanning for mods
2022-04-10Make IsRelevant return false for any files starting with "."Nuz / Lovegood
2022-04-10Revert "Make ModScanner ignore .gitignore files."Nuz / Lovegood
This reverts commit c92efc65ce7cbfbca3e92e027141e6b8d90073c8.
2022-04-10enable nullable annotations in mod data models (#837)Jesse Plamondon-Willard
2022-04-10Make ModScanner ignore .gitignore files.Nuz / Lovegood
This is helpful for cases like this: https://cdn.discordapp.com/attachments/156109690059751424/962879339739885578/unknown.png
2022-04-09fix misplaced attribute (#837)Jesse Plamondon-Willard
2022-04-07reverse mod build package migration to .NET 5 (#837)Jesse Plamondon-Willard
The migrated package didn't work consistently in VIsual Studio, so this suppresses nullable annotations in .NET Standard instead.
2022-04-07enable nullable annotations for most of the SMAPI toolkit (#837)Jesse Plamondon-Willard
2022-04-07migrate mod build package to .NET 5 to allow full nullable annotations (#837)Jesse Plamondon-Willard
2022-04-07enable nullable annotations for manifests (#837)Jesse Plamondon-Willard
2022-04-07enable nullable annotations for semantic versions (#837)Jesse Plamondon-Willard
2022-04-06allow null values in ISemanticVersion compare methods (#837)Jesse Plamondon-Willard
2022-04-06enable nullable annotations by default (#837)Jesse Plamondon-Willard
This adds `#nullable disable` to all existing code (except where null is impossible like enum files), so it can be migrated incrementally.
2022-04-06remove some unused/redundant codeJesse Plamondon-Willard
2022-04-06simplify with newer pattern featuresJesse Plamondon-Willard
2022-04-06use target-typed newJesse Plamondon-Willard
2022-02-11use Array.Empty to avoid unneeded array allocationsJesse Plamondon-Willard
2022-01-15add detection for Xbox app game foldersJesse Plamondon-Willard
2021-12-05improve error when installer is pointed at a compatibility-branch game folderJesse Plamondon-Willard
2021-12-04improve error when installer is pointed at a SDV 1.5.4 folderJesse Plamondon-Willard
2021-11-28fix error resolving native DLLs like libSkiaSharpJesse Plamondon-Willard
2021-11-28remove path-too-long exception handlingJesse Plamondon-Willard
The path length limit no longer applies in .NET 5.