summaryrefslogtreecommitdiff
path: root/src/SMAPI.Web/Controllers/ModsApiController.cs
AgeCommit message (Collapse)Author
2023-01-29don't allow update manifests before SMAPI 4.0.0 until the feature is releasedJesse Plamondon-Willard
2023-01-29encapsulate update manifest implementation details when possibleJesse Plamondon-Willard
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-09-28fix handling of GitHub prerelease versions marked as non-prereleaseJesse Plamondon-Willard
2022-04-12enable nullable annotations in the web project & related code (#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-06use target-typed newJesse Plamondon-Willard
2022-02-11use Array.Empty to avoid unneeded array allocationsJesse Plamondon-Willard
2021-11-27automatically include beta versions on Nexus for SMAPI update checksJesse Plamondon-Willard
2021-10-02fix error performing update check for mods with no wiki entryJesse Plamondon-Willard
2021-10-02add support for unified mod data overrides on the wikiJesse Plamondon-Willard
2021-08-25fix update checks not recommending prerelease mod versions for SMAPI betaJesse Plamondon-Willard
2020-08-15tweak update alert rulesJesse Plamondon-Willard
2020-08-15fix broken URL in update alerts for unofficial versionsJesse Plamondon-Willard
2020-07-26use ordinal comparison/sorting instead of invariantJesse Plamondon-Willard
2020-05-24add update key overridesJesse Plamondon-Willard
2020-05-24add update subkeysJesse Plamondon-Willard
2020-05-23refactor update check APIJesse Plamondon-Willard
This simplifies the logic for individual clients, centralises common logic, and prepares for upcoming features.
2020-05-23drop MongoDB codeJesse Plamondon-Willard
MongoDB support unnecessarily complicated the code and there's no need to run distributed servers in the foreseeable future. This keeps the abstract storage interface so we can wrap a distributed cache in the future.
2020-05-16update deprecated codeJesse Plamondon-Willard
2020-05-16use newer C# featuresJesse Plamondon-Willard
2020-02-20fix parsing four-part versions from the update-check APIJesse Plamondon-Willard
2020-02-17move hardcoded SMAPI update check logic into configJesse Plamondon-Willard
2020-02-13fix update-check error for SMAPI on Android with four-part versionsJesse Plamondon-Willard
2020-01-12drop pre-3.0 update-check supportJesse Plamondon-Willard
2019-12-02fix incorrect link URLs in some casesJesse Plamondon-Willard
2019-12-02migrate from AWS to AzureJesse Plamondon-Willard
This commit migrates from subdomains to paths (due to the cost of a wildcard HTTPS certificate on Azure), adds a web project to redirect the old subdomains from AWS to Azure, and removes AWS-specific hacks.
2019-11-09overhaul update checksJesse Plamondon-Willard
This commit moves the core update-check logic serverside, and adds support for community-defined version mappings. For example, that means false update alerts can now be solved by the community for all players.
2019-11-08add CurseForge to mod metadata (#605)Jesse Plamondon-Willard
2019-11-07add support for CurseForge update keys (#605)Jesse Plamondon-Willard
2019-09-14fix typos and inconsistent spellingJesse Plamondon-Willard
2019-09-14fix does-not-exist errors suppressed due to recent changes (#651)Jesse Plamondon-Willard
2019-09-14remove soft GitHub lookups during update checks (#651)Jesse Plamondon-Willard
This caused incorrect update alerts for repositories that contain multiple mods but still use releases.
2019-09-14track license info for mod GitHub repos (#651)Jesse Plamondon-Willard
2019-09-14migrate update check caching to MongoDB (#651)Jesse Plamondon-Willard
2019-09-14add remote mod status to update check info (#651)Jesse Plamondon-Willard
2019-09-14simplify config.json and metadata.json namesJesse Plamondon-Willard
2018-12-27tweak comment header conventionJesse Plamondon-Willard
2018-12-02add ModDrop to mod compatibility page (#604)Jesse Plamondon-Willard
2018-11-30add ModDrop support in API & update checks (#604)Jesse Plamondon-Willard
2018-11-16fix update-check errors sometimes being overwritten with a generic error messageJesse Plamondon-Willard
2018-11-04update mod compatibility page URLsJesse Plamondon-Willard
2018-10-20fetch game versions from the wiki (#597)Jesse Plamondon-Willard
2018-10-20expand metadata fetched from the wiki (#597)Jesse Plamondon-Willard
2018-09-06add support for parallel stable/beta unofficial versions (#594)Jesse Plamondon-Willard
2018-09-02add update key parsing to toolkit (#592)Jesse Plamondon-Willard
2018-08-24fetch mod update keys from wiki when availableJesse Plamondon-Willard
2018-08-14drop backwards compatibility in update-check APIJesse Plamondon-Willard
Update checks from older versions of SMAPI are never useful now that Stardew Valley 1.3 is released: older versions of SMAPI won't launch in Stardew Valley 1.3 (so they won't check for updates), and newer versions of SMAPI/mods won't work with older versions of the game.
2018-06-29simplify mod API response structure (#532)Jesse Plamondon-Willard